笔者在接着聊一下bootloader,主要针对MCU的Bootloader。
笔者之前介绍过一篇Bootloader文章,主要是其概念、一些升级包的格式和升级流程,本次接着来说一下。
1、MCU代码运行方式
之前文章也介绍过,MCU的代码运行方式有两种,
- XIP方式:(Excute In Place),在位置上执行,即在存储地址上执行代码,如果是这样,则对存储芯片有要求,则要求是支持memory map的方式,把存储空间当做是CPU的memory一样,可以通过总线获取到code指令,然后执行。
内部ROM Code会跳转到Code中,然后Flash中的Code就会执行,接着把data段和bss段进行分散加载到对应的ram,然后就可以执行,STM32就是