|
我在 STM32F106RDT上开发 Bootloader,Flash 分区规划如下: 0x08000000 ~ 0x0802DFFF 主固件(第一份镜像) 0x0802F000 ~ 0x08030FFF 保留分区 0x08031000 ~ 0x0805FFFF 临时升级固件(第二份镜像) Bootloader 跳转函数存放在 Flash 里。使用 Keil 调试时,程序先进入启动文件startup_stm32f10x_hd.s的复位中断,我通过 IMPORT 引入自定义 Bootloader 函数,修改复位处理汇编如下: ; Reset handler Reset_Handler PROC
当前问题是需要在两份应用镜像之间选择其一跳转运行。如何获取应用main()函数的 Flash 地址? 我直接跳转到第一份镜像基址 + 4(0x08000004),程序无任何反应,无法启动。 请问如何实现两份应用的选择与跳转? |
微信公众号
手机版