本课程主要讲解ARM处理器的体系架构、指令集、模式、协处理器,ARM的各种模式切换、中断、Trustzone与虚拟化扩展,ARM下的VFP、NEON协处理器与MMU、总线等技术,此外,它也在硬件架构的讲解中,大量融入了ARM软件编程的案例与实践,涉及了ARM的裸机程序与实时操作系统系统及Linux下的软件开发实践。
ARM处理器
1.RISC与CISC
2.冯诺依曼与哈弗架构
3.ARM处理器历史
4.ARM处理器分类
5.ARM处理器MMU和LPAE
ARM指令集(主要针对Cortex-A系列)
1.ARM处理器寄存器
2.ARM处理器不同模式
3.ARM内存操作指令
4.ARM协处理器操作指令
5.ARM运算型指令
6.ARM互斥等指令
ARM处理器模式切换
1.异常处理与vector表
2.中断控制,多核下中断
3.trustzone
4.虚拟化扩展
ARM ABI以及usr到svc的系统调用
1.ARM ABI,C和汇编互调
2.系统调用过程
3.Linux下汇编书写的应用程序
4.裸机下实现的swi例子
内存、cache和流水线
1.swap指令
2.读—修改—写和bit-band技术
3.ldrex/strex指令
4.dmb,dsb,isb内存屏障
5.多核下cache同步
6.ARM的中断子系统
向量运算NEON
1.NEON的*方法
2.ARM NEON Intrinsics 3.NEON编程案例
4.NEON实用案例
Cortex-M系列
1.Cortex-M处理器的运行模式
2.Cortex-M的向量表
3.Cortex-M的复位过程
4.Cortex-M的向量中断
5.Cortex-M的中断处理过程
ARM 64位处理器
1.EL0,EL1,EL2,EL3各自的作用
2.ARM 64位处理器的向量表
3.Trustzone项目
4.RET和ERET指令
5.CSEL指令
6.64位下的ABI
其他综合软硬件知识
1.典型*于ARM的实时操作系统
2.AMBA,AXI,AHB,APB总线