IAR下STM32F103 Boot + APP的编程

本文介绍了如何在IAR环境下为STM32F103开发Bootloader和应用程序,以实现在线升级功能。Bootloader预留了0x3000字节空间,APP程序需修改中断向量表位置为0x08003000,并调整中断向量表偏移。Boot部分主要负责检查新程序并完成升级,而APP则在启动时开启总中断,检测新程序并根据情况跳转执行。
摘要由CSDN通过智能技术生成

工具:IAR + STM32CubeMx

MCU:STM32F103

功能:实现Boot + APP

概述:原来程序需要做在线升级,我的方案是找一片区域存放新的程序(新APP),运行中可以进行升级(旧APP),接收完毕后重新启动,由Boot进行升级,升级完成后,跳转到APP区域执行。


详细过程:

1、APP程序改写要点:

(1)IAR的设置:程序存放、中断向量表起始位置需要更改,我预留Boot大小为0x3000,因此程序空间和中断向量起始更改为0x08003000

(2)代码中:中断向量表偏移需要更改为0x3000,我使用的是CubeMX生成的代码,文件是system_stm32f1xx.c,修改其中的#define VECT_TAB_OFFSET 为0x3000

#define VECT_TAB_OFFSET 为0x3000

(3)代码中:主程序一开始应该打开总中断

__enable_irq();

2、Boot编写要点:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值