启动文件之__main

  • 将非零(只读RO和读写RW)运行区域从其载入地址复制到运行地址
  • 清零ZI 区域
  • 跳转到__rt_entry

所以如果使用SDRAM等外部RAM,应该在__ main函数前完成初始化SDRAM_Init().

一段启动文件代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT SDRAMInit
IMPORT __main
LDR R0, =SystemInit
BLX R0
LDR R0, =SDRAMInit
BLX R0
LDR R0, =__main
BX R0
ENDP