参考资料
基本知识点
ROM,FLASH,RAM
根据芯片手册可知flash,ram 大小,及启动模式设计。
ROM: 存储区,用户不能修改,掉电后数据不会丢失
FLASH:存储区,用户代码区,掉电后数据不丢失。
RAM: 内存,相当于电脑DDR内存,掉电后数据丢失。BOOT ROM: 芯片出产时会在芯片内部写入一段boot程序, 用户不可修改,可以根据boot pin 来选择启动模式。比如重uart,spi 启动。此处boot rom 与产品bootloader 功能相似,主要引导应用启动。
链接脚本
了解更多堆,栈
了解更多NVIC中断向量表
向量表有固定的地址空间,可以查看手册及代码。中断支持可屏蔽中断、非屏蔽中断。一些异常中断是不能屏蔽的,比如hard-fault,程序发生异常后自动执行异常处理函数。 了解更多


程序启动流程
在c语言学习过程中,main 函数是C代码的入口点,嵌入式开发时,可以发现main 函数之前还有代码在执行,即 startup_xxx.s 汇编程序。芯片上电后执行第一行指令为Reset_handler,这是NVIC 的第一个向量表,地址为0x0000 00004。 了解更多
Reset_handler –> start –> __main() –> main()