stm32中的程序是在RAM还是flash里运行


先介绍几个词汇:

  code

  ro-data          程序定义的常量

  rw-data         已经初始化的全局变量

  zi-data           未初始化的全局变量  

  ro size = ro-data + code 

  rw size = rw-data + zi-data

  rom size = ro-data + code + rw-data

我们知道在烧写程序的时候,烧写到flash中!

stm32上电后,CPU根据boot0和boot1的硬件引脚决定从flash或ram中启动,默认是从flash中启动的;启动之后,搬运rw-data到ram,但是不会搬运code;也就是说cpu执行的代码是在flash中读取的!

 

参考文章:https://blog.csdn.net/u012252959/article/details/80800559

       https://blog.csdn.net/jj163zhuangzi/article/details/47088843

       https://blog.csdn.net/hbuxiaofei/article/details/11098921


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM