2 准备工作
因为ARM的生态非常的复杂,并且现有的大多ARM相关的工具和文档都聚焦在C语言上。使得我们学习ARM汇编的第一道坎不是语言本身,而是文档和工具链。没有相应的工具链,即使写出了正确的程序也没办法转换成处理器可执行的指令。(手工汇编机器码的大神请无视)所以本文将首先重点介绍开发环境以及如何将编写的汇编代码转换为最终程序。
2.1 芯片选型
本文所有的示例程序都将运行在ST公司(官网www.st.com)推出的微处理器STM32F103C8 和 STM32F103RB 上。这两款微处理器除了flash(64 KiB vs 128 KiB)和io针脚数量(48 vs 64),其他都是相同的。这两款微处理器都是ST公司产品线中的主流产品,所以相关的资料、工具、开发板(x宝搜“stm32f103c8t6”)是非常丰富的。为了你能方便的验证后续的示例程序,强烈建议你使用前面提到的两款微处理器的开发板。
2.2 芯片和文档
STM32F系列属于ST公司产品线里中低端的32位ARM微控制器,其内核是Cortex-M3。
该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。
芯片集成定时器Timer,CAN,ADC,SPI,I2C,USB,UART等多种外设功能。
在实际使用芯片的过程中有两个官方文档非常重要,后续会多次用到文档中的部分章节:
1、