启动代码分析笔记
启动代码文件名是 ,它的作用先总结下,然后再分析。启动代
码作用一般是:)堆和栈的初始化;)向量表定义;)地址重映射及中断
向量表的转移;)设置系统时钟频率;)中断寄存器的初始化;)进入
应用程序。
()按启动代码的次序,先看堆和栈的初始化:
;定义 为
!"!!#$%&'%'$"!()"'$!*'+%,;定义栈,
可初始为 ,- 字节对齐
.!;分配 个连续字节,并初
始化为
/012;汇编代码地址标号
32
!"!3!.$%&'%'$"!()"'$!*'+%,
4251
32.!32
420
.""6-;指定当前文件堆栈 - 字节对齐
3 7;告诉汇编器下面是 为的 485 指令,如果需要
汇编器将插入位以保证对齐
()中断向量表定义
!"!"$(!!$"!(&%*9:定义复位向量段,只读
.&"61;定义一个可以在其他文件中使用的全局标
号。此处表示中断地址
__Vectors DCD __initial_sp ;给__initial_sp 分配 4 字节 32 位的地址 0x0
DCD Reset_Handler ; 给标号 Reset Handler 分配地址为 0x00000004
DCD NMI_Handler ; 给标号 NMI Handler 分配地址 0x00000008
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler