|
在 STM32F106RDT上开发 Bootloader 引导程序,Flash 空间划分如下: 0x08000000 ~ 0x0802DFFF:主固件(固件 1) 0x0802F000 ~ 0x08030FFF:预留分区 0x08031000 ~ 0x0805FFFF:备用临时固件(固件 2) Bootloader 跳转函数存放于 Flash 中。 上电后程序进入启动文件 startup_stm32f10x_hd.s 的复位中断服务函数,我通过导入符号调用自己的 Bootloader 函数,修改复位处理代码如下:
我需要根据条件二选一启动两个固件。该如何获取目标固件main()函数的入口地址? 我直接跳转到第一个固件起始地址偏移 4 字节(0x08000000+4),程序没有任何反应。 有没有规范的方法实现两个应用固件的选择与跳转运行? |
STM32 官方Bootloader相关咨询
Bootloader升级固件
STM32F405在片 Flash 存放多份固件镜像实现固件升级
STM32F407VG Bootloader 跳转异常
如何通过 U 盘实现固件升级
跳转地址实现二选一运行 Flash 内两份固件镜像
Bootloader,实现从地址 A 或地址 B 启动同一份应用固件
向 NUCLEO-F767ZI 烧录包含 MicroPython 的.dfu 文件无法操作
微信公众号
手机版