You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.4 KiB
1.4 KiB
5.芯片启动流程
①上电后硬件设置SP、跳转到 Reset_Hander
②设置系统时钟(SystemInit)
③软件设置SP
④加载.data、.bss,并初始化栈区(__main)
⑤跳转到C文件的main函数
值得注意的是:Keil编译完成后:
Code:代表程序代码段
RO_DATA:代表只读数据段
RW_DATA:代表已经初始化全局数据
ZI_DATA:代表未初始化全局数据
由于程序在 FLASH 中直接通过总线进行访问,程序运行在 FLASH 上,而可更改的数据存于 SRAM 中,故:
RO_SIZE = Code + RO_DATA(占用 Flash )
RW_DATA = RW_DATA + ZI_DATA(占用 SRAM)
ROM_SIZE = Code + RO_DATA + RW_DATA ( 烧写到 FLASH 大小空间 )
针对 ZI 数据,是不存 FLASH 中,直接在 SRAM 中初始化为 0
https://www.bilibili.com/video/BV1ZB4y1A7nS/