新日记
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.

47 lines
1.4 KiB

3 years ago
  1. ![img](file://C:\Users\zwsd_cad3\Desktop\zhangyuan_task\%E6%96%B0%E6%97%A5%E8%AE%B0\markdown.assets\20220407.assets\watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNjc3ODE1,size_16,color_FFFFFF,t_70%23pic_center.png?lastModify=1649399724)
  2. ![img](markdown.assets/芯片启动流程.assets/5950dcc1ad947c0b9b8bf210430edf51.png)
  3. ```
  4. 5.芯片启动流程
  5. ①上电后硬件设置SP、跳转到 Reset_Hander
  6. ②设置系统时钟(SystemInit)
  7. ③软件设置SP
  8. ④加载.data、.bss,并初始化栈区(__main)
  9. ⑤跳转到C文件的main函数
  10. 值得注意的是:Keil编译完成后:
  11. Code:代表程序代码段
  12. RO_DATA:代表只读数据段
  13. RW_DATA:代表已经初始化全局数据
  14. ZI_DATA:代表未初始化全局数据
  15. 由于程序在 FLASH 中直接通过总线进行访问,程序运行在 FLASH 上,而可更改的数据存于 SRAM 中,故:
  16. RO_SIZE = Code + RO_DATA(占用 Flash )
  17. RW_DATA = RW_DATA + ZI_DATA(占用 SRAM)
  18. ROM_SIZE = Code + RO_DATA + RW_DATA ( 烧写到 FLASH 大小空间 )
  19. 针对 ZI 数据,是不存 FLASH 中,直接在 SRAM 中初始化为 0
  20. ```
  21. ![image-20220408145225880](markdown.assets/芯片启动流程.assets/image-20220408145225880.png)
  22. ```
  23. https://www.bilibili.com/video/BV1ZB4y1A7nS/
  24. ```
  25. ![image-20220408151051998](markdown.assets/芯片启动流程.assets/image-20220408151051998.png)