大家好,今天给大家介绍的是STM32的BootLoader以及它如何跳转运行到APP应用程序的例程。
首先我先给大家科普一下什么是BootLoader。
什么是BootLoader?
Bootloader是硬件启动的引导程序,是运行操作系统的前提。对硬件进行相应的初始化和设定,最终为操作系统准备好环境。就像我们的电脑一样,在开机的过程中可以通过F1或者其他的按键进入BOOT模式然后修改启动参数和进入其他的镜像系统。
什么是APP?
APP就像是我们电脑的操作系统,经过硬件引导程序之后跳转到系统程序运行。APP就是我们的应用程序。
STM32BootLoader&APP
stm32默认的是从0x08000000开始启动程序,我们的BootLoader也是从0x08000000地址开始存储的,大小可以根据自己的需要设置。如下图举例分配16K空间给BootLoader其余的给APP和变量存储。
内存分配 | 地址 | 大小 |
---|---|---|
BootLoader | 0x08000000 - 0x08004000 | 16K |
APP | 0x08004000 - 0x0800F000 | 44K |
剩余空间 | 0x0800F000 - 0x08010000 | 4K |
这里我列举了一个表格,BootLoader 占用16k,APP占用44K,剩余4K留给需要掉电保存的变量空间。
好了上面我给