你将收获

熟练掌握ARM Cortex-M指令集

深入理解汇编器如何生成汇编代码

掌握如何传递参数、C与汇编的混合编程

适用人群

正在从事ARM开发,想了解ARM汇编编程及对代码进行优化的嵌入式工程师

课程介绍

注意注意!本课程所用Keil自带的编译器版本为AC6。由于AC5与AC6在使用时有些地方差异较大,如果你使用AC5(老版本Keil自带的)来学习本课程,则可能会出现各种奇怪的编译、汇编错误。

建议如果不是特别需要,请更新到最新版本的Keil 5.4.x以上版本。否则,学习过程中出现的一些问题我可能无法帮你解决。


本课程为《深入理解ARM体系结构(基于Cortex-M架构)》系列课程的其中一个课程,全部课程请见我的CSDN主页。

image/png

为什么学习本课程?

“学ARM汇编,不是让你天天写汇编,而是让你在关键时刻——能调试、能优化、能看懂C背后的真相。”

虽然绝大部分情况下,我们只需要使用C语言即可完成开发;但是,在某些情况下,掌握好汇编能够助你更进一步解决问题及实现功能。

  • 当程序HardFault或行为异常时,C代码无法直接告诉你原因,但反汇编+寄存器分析可以精准定位问题。

  • C编译器生成的代码不一定最优,在高速信号处理、实时控制等场景,手动嵌入汇编能提升2-5倍性能。

  • 在启动代码、中断服务、RTOS核心等场景,必须结合C和汇编,从而编写性能更高的代码。

这门课程的特点

市面上大多数汇编课程存在两大问题:
1️⃣ 脱离实际需求:大篇幅讲解x86/DOS汇编,而嵌入式工程师真正需要的ARM Cortex-M内容却一带而过。

2️⃣ 理论脱离实践:只简单的介绍指令语法,却不教如何用汇编解决真实问题。

本课程在制作过程中,重点强调以下几个方面:

  1. 只教“能救命”的汇编知识:聚焦Cortex-M3/M4核心指令(Thumb-2),放弃“一辈子用不上”的内容(如冷门指令)

  2. 从基本指令出发,回归到C:在学习基本指令及汇编编程后,深入底层研究C语句的实现,学习C和汇编的混合编程

  3. 用工程师的方式教学:通过实践代码+编程练习的方式来学习,进一步提升学习效果。

image/jpeg

image/jpegimage/jpegimage/jpeg

 

课程目录