ARMv8/ARMv9架构入门到精通-学习方法

目录

        • 1、学习ARM基础知识
        • 2、学习ARM异常(中断)
        • 3、学习MMU
        • 4、学习Cache
        • 5、学习Trustzone和安全架构
        • 6、学习ARM架构和各类IP
        • 推荐

本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, 资深安全架构专家,11年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计和开发。


想不想一夜暴富?拥有很多很多钱,买很多很多房,工作也不忙,无压力,不用亲自Coding和Debug,还有大把大把的时间在CSDN上挥霍… 如果真有此想法,那么想想就可以了。本博客/视频不会提供实现上述理想的方法,一点点边都不沾。

本系列文章和视频重在为初学者指点迷津(大佬请绕行),让您少走一点弯路、少踩一点坑,尽快地成为行业的大牛,薪资翻个好几翻,走向人生巅峰…, 无论实现与否,目标还是要有的,只要您坚持不断的学习(一定不是死里卷的那种,而是找对方法,高效率学习的那种),相信在未来即使没有达成下面图片中的目标,但挣点钱/薪资涨一涨/工作的压力减一减还是可以的。

下面为大家奉上一张ARMv8/ARMv9架构入门高效率的学习线路图,一共分为6大阶段吧。同志们,赶快卷起来吧在这里插入图片描述
在这里插入图片描述

1、学习ARM基础知识

在学习本节知识时,千万不要把时间和精力放到学汇编上,我认为“学汇编的就是在刷流氓”、“学汇编的都是在摸鱼”,当然我的本意并不是说不让你学习汇编,而是学习汇编不需要花太多精力,简单了解下就可以了,二三十个指令读一读就可以了,不用去背也不用去记。我们常用的汇编指令也就几十个,即使你没有背和记,相信你也看得懂。如果你真要较真,算上变体指令,ARM有数千条指令呢,你背一个我看看?
读完本节文章或视频后你就会发现,整个汇编我浓缩成了一页…很多代码你看不懂,并不是因为你不懂汇编,也不是因为你不懂寄存器,而是因为你不懂架构。注意注意:"你"不懂的不是汇编和寄存器,“你”不懂的是架构。

《ARMv8/ARMv9架构精入门到精通》👈👈👈

在这里插入图片描述

2、学习ARM异常(中断)

异常中断不仅仅是整个ARM软硬件架构的核心,也是各类操作系统的灵魂。学好异常中断后,您对待很多专业的技术都可以无师自通了;学好异常中断后,您再去学习其它的知识点,都可以事半功倍。所以我也一直提倡:学安全其实就是在学习架构、学习架构的核心其实学习异常中断。
这一节,要好好学、这一节也简单,学习本节是需要花费很多时间和精力的。

3、学习MMU

在所有硬核的模块中,MMU相对算是一个比较简单的模块,简单只是说知识点简单,相对容易学会,它也在整个ARM架构体系中扮演着重要的角色。所以很多时候,学完MMU,你就能自信爆棚、信心慢慢… 感觉一下子啥都会了。

4、学习Cache

cache真不是你想想的那么简单,也不是网上大多数文章的人云亦云。cache真的很难。在软件中直观的和cache打交道的机会也非常非常非常少,所以通其它各个模块相比,这是最不值得学习的一节,学习本节会花很多精力和时间,对工作的直接帮助也是微乎其微,也就是所谓着性价比偏低。然鹅,您还记得本文开头的目标吗,不是要成为架构师吗,不是要人生巅峰吗? 那么不学习cache如何彰显自己的技术牛逼呢?

5、学习Trustzone和安全架构

在这里插入图片描述
在Trustzone和安全架构面前,1-4节都是弟弟。 学完MMU/Cache你就牛逼了?
一定要注意,学习不要学偏了,本节才是ARM的核心知识。无论是ARM架构、还是ARM的各类IP、还是各类的大系统软件/操作系统软件,你仔细去看一看,哥,百分之多少以上的都是和安全相关的? 例如:
1、ARM架构中,哪一个feature和安全没有关系呢? 我说ARM架构中30%的都是安全技术不为过吧?
2、再看看IP,arm的gic、arm的SMMU,这两个IP,哪一个不都是50%以上的内容都在介绍安全相关的知识点(注意虚拟化属于安全架构的一部分)?
3、再看大系统或操作系统软件,现在主流的软件架构图,不都是有安全OS吗,现在主流的软件中,不都有ATF吗?
4、所以呢,你再去学习其它知识点的时候,如MMU/Cache,如果他对安全只字不提,那么…

《ARMv8/ARMv9架构精入门到精通》👈👈👈
在这里插入图片描述

6、学习ARM架构和各类IP

路漫漫其修远兮,吾将上下而求索。还有太多太多的知识… 加油哈,朋友们!!


推荐
  • ARMv8/ARMv9架构从入门到精通 --博客专栏
  • 《Armv8/Armv9架构从入门到精通 第二期》 --大课程
  • 8天入门ARM架构 --入门课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/447047.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WorldView卫星遥感影像数据/米级分辨率遥感影像

目前世界上最常用的高分辨率卫星影像莫过于WORLDVIEW系列了,在卫星遥感圈内可谓大名鼎鼎,不仅具有超高的分辨率还具有其他高分辨卫星所不具有的8波段,风光无限。在分辨率方面目前只有WORLDVIEW3和WORLDVIEW4能够达到0.3米的分辨率&#xff0c…

【神经网络与深度学习】LSTM(Long Short-Term Memory)神经网络模型

概述 LSTM(Long Short-Term Memory)是一种特殊的循环神经网络(RNN)结构,通常被用于处理和学习时间序列数据。因此,LSTM属于深度学习领域中的一种神经网络模型。 在深度学习中,LSTM被广泛应用于…

站库分离技术--反向代理技术-雷池云WAF-给自己搭建一个安全点的网站

文章目录 概要整体架构流程技术名词解释技术细节ssh-ubuntu服务器docker-映射-链接-通信nginx反代mysql设置数据库新密码 小结我的mysql映射目录我的wordpress映射目录 成果展示 概要 新买了一个云服务器,想搭建一个站库分离的wordpress为主的网站,采用d…

数据结构:图及相关算法讲解

图 1.图的基本概念2. 图的存储结构2.1邻接矩阵2.2邻接表2.3两种实现的比较 3.图的遍历3.1 图的广度优先遍历3.2 图的深度优先遍历 4.最小生成树4.1 Kruskal算法4.2 Prim算法4.3 两个算法比较 5.最短路径5.1两个抽象存储5.2单源最短路径--Dijkstra算法5.3单源最短路径--Bellman-…

CentOS 7安装MySQL及常见问题与解决方案(含JDBC示例与错误处理)

引言 MySQL是一个流行的开源关系型数据库管理系统,广泛应用于各种业务场景。在CentOS 7上安装MySQL后,我们通常需要使用JDBC(Java Database Connectivity)连接MySQL进行后端操作。 目录 引言 CentOS 7安装MySQL 使用JDBC连接My…

AI入门笔记(四)

深度学习是人工智能的一种实现方法。本文我将学习到的关于深度学习的代表卷积神经网络的数学结构分享给大家。 深度学习是重叠了很多层的隐藏层(中间层)的神经网络。我们以一个例题为例。 建立一个卷积神经网络,用来识别通过 66 像素的图像读…

基于VSCode安装Node.js开发环境

根据官网介绍,Node.js 是一个免费的、开源的、跨平台的JavaScript实时运行环境,允许开发人员在浏览器之外编写命令行工具和服务器端脚本. Node.js框架由于是采用JavaScript语法进行调用的,因此Node.js环境除了用来编写调试Node.js代码&#…

mybatis基础操作(三)

动态sql 通过动态sql实现多条件查询,这里以查询为例,实现动态sql的书写。 创建members表 创建表并插入数据: create table members (member_id int (11),member_nick varchar (60),member_gender char (15),member_age int (11),member_c…

视图【MySQL】

文章目录 概念操作视图创建视图查询视图更新视图删除视图 视图规则和限制 概念 MySQL 中的视图(View)是一个虚拟表,其内容由查询定义。视图本身不包含数据,这些数据是从一个或多个实际表中派生出来的,通过执行视图定义…

简单了解TCP/IP四层模型

什么是计算机网络? 计算机网络我们可以理解为一个巨大的城市地图,我们想从A地前往B地,其中要走的路、要避开的问题都交给计算机网络解决,直到我们可以正常的到达目的地,那么我们会把其中的过程抽象成一个网络模型&…

练习01-登录注册(简单)

一、用户登录/注册实现 综合前面学的知识来实现简单的注册登录功能 1.准备工作 注册登录页面 数据库,数据表 mybatis 坐标引入,MySQL驱动 配置 映射文件 用户实体类 Servlet代码 2.页面 不想手写的可以看博主IT黄大大【带源码】 【炫酷登录界…

吴恩达机器学习-可选实验室:可选实验:使用逻辑回归进行分类(Classification using Logistic Regression)

在本实验中,您将对比回归和分类。 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_common import dlc, plot_data from plt_one_addpt_onclick import plt_one_addpt_onclick plt.style.use(./deeplearning.mplstyle)jupy…

机器学习——PPO补充

On-policy vs Off-policy 今天跟环境互动,并学习是on-policy 只是在旁边看,就是Off-policy 从p中选q个重要的,需要加一个weight p(x)/q(x) p和q不能相差太多 采样数太少导致分布差很多,导致weight发生变化 On-Policy -&g…

STM32F103 CubeMX ADC 驱动 PS2游戏摇杆控制杆传感器模块

STM32F103 CubeMX ADC 驱动 PS2游戏摇杆控制杆传感器模块 1. 工程配置1.1 配置debug口1.2 配置时钟1.3 配置ADC1.4 配置串口1.5 配置时钟1.6 生成工程 2. 代码编写2.1 串口代码2.2 ADC读取数据的代码 1. 工程配置 1.1 配置debug口 1.2 配置时钟 1.3 配置ADC 1.4 配置串口 1.5 …

小迪安全37WEB 攻防-通用漏洞XSS 跨站权限维持钓鱼捆绑浏览器漏洞

#XSS跨站系列内容:1. XSS跨站-原理&分类&手法 XSS跨站-探针&利用&审计XSS跨站另类攻击手法利用 XSS跨站-防御修复&绕过策略 #知识点: 1、XSS 跨站-另类攻击手法分类 2、XSS 跨站-权限维持&钓鱼&浏览器等 1、原理 指攻击者利用…

JavaWeb-Maven基础

Maven是专门用于管理和构建Java项目的工具,是 Apache 下的一个纯 Java 开发的开源项目,基于项目对象模型(POM)概念。先来学习一下Maven基础,等后面学完开发框架后再学Maven高级,这次的内容如下 一、概述 …

leetcode 热题 100_搜索二维矩阵

题解一: 二叉搜索树:从矩阵右上角观察,结构类似二叉搜索树,因此可以用类似的解法来做。具体做法是双指针从右上角开始,向左下角逐步搜索,如果当前值比目标值大,则向下移动,如果当前值…

体系班第十三节

1判断完全二叉树递归做法 有四种情况&#xff1a;1 左树完全&#xff0c;右数满&#xff0c;且左高为右高加一 2左满 &#xff0c;右满&#xff0c;左高为右高加一 3左满&#xff0c;右完全&#xff0c;左右高相等 4左右均满且高相等 #include<iostream> #include&l…

封装方法3

上一篇处理了单元格返回值改写 这一篇处理剩余普通方法返回值改写 已经给了Object的返回值&#xff0c;需要回调 //返回结果是22个单元格的值&#xff0c;怎么给调用方 Object value getCellValue(cell);没有给调用方的情况 value值内容是什么 处理ecxel-22个单元值的返回结…

重启 explorer 进程的正确做法(二)

重启资源管理器进程的方法不唯一&#xff0c;但长期以来大家对实施方法用的不到位。 在上一篇中我认为&#xff1a;“我们往往使用 TerminateProcess 并传入 PID 和特殊结束代码 1 或者 taskkill /f /im 等方法重启资源管理器( explorer.exe )&#xff0c;其实这是不正确的。我…