STM32 IAP(Bootloader)

想给STM32做串口升级功能,研究STM32程序执行步骤。

1.STM32程序下载起始地址0x08000000,0x08000004这个地址是中断地址

2.先自己设计一个bootloader程序 ,然后再设计一个应用程序

3.给stm32 bootloader分配下载程序的空间,我用的是STM32F407ZGT6,具有1m的flash

 (1)bootloader:0x0800 0000 ~0x0800 4000   size:0x4000(16K)

 (2)应用程序1:0x0800 4000 ~ 0x0808 0000 

 (3)应用程序2:0x0808 0000~0x0810 0000   :基本上是把1Mflash平分了

4.设计bootloader程序

上面就是bootloader的程序,跟应用程序的区别就是flash烧写的起始地址区别。bootloader的主要功能就是让程序跳转

5.需要注意的地方

(1)注意:因为程序起始地点增加了bootloader功能,所以程序的中断指针也需要偏移。

NVIC_SetVectorTable(NVIC_VectTab_FLASH,APP1_ADDRESS);   //将这段代码放入应用程序中即可,如果不放的话会出现中断异常。

(2)注意:SystemInit();//这个函数,程序每次开始执行时都会执行一次这个函数,这个函数中就会对中断向量表位置进行默认偏移,所以在这个函数后面要重新配置一次偏移。

(3)后来我单一使用串口中断程序,发现进不了中断。最终发现是__set_PRIMASK(1);这个函数将能关闭的中断都关闭掉了,但是程序默认是开启的。

 

 

 

[d042]对于STM32 IAP(In-Application Programming)引导程序、应用程序和MFC上位机,以下是关于这三个资料的简要介绍: 1. STM32 IAP(In-Application Programming)引导程序:该资料包含了关于STM32芯片中的引导程序的基本概念和操作方法。引导程序是嵌入式系统中的一段程序,用于将新的应用程序加载到微控制器的内部存储器中,以实现给设备固件升级的能力。这个资料将向您介绍如何使用STM32 IAP引导程序来进行固件升级,包括引导程序的功能、使用方法、通信接口等。 2. 应用程序:这是指针对STM32芯片开发的用户应用程序。该资料详细介绍了如何开发STM32上的应用程序,包括编程语言、开发环境、开发工具等。此外,还提供了应用程序的示例代码、应用程序的功能描述以及与STM32的硬件接口等相关信息,以帮助用户理解和开发自己的应用程序。 3. MFC上位机:这个资料涵盖了使用基于MFC(Microsoft Foundation Class)技术开发的上位机软件进行STM32固件相关操作的方法和技巧。MFC上位机通常用于与STM32设备进行通信、数据传输和配置等操作。这个资料将向您介绍如何使用MFC上位机软件来连接和控制STM32设备,包括软件的安装与配置、串口通信的设置、数据的发送和接收等。 以上三个资料可以帮助用户了解和掌握STM32芯片的固件升级、应用程序开发以及MFC上位机软件的使用方法。无论是想进行固件升级还是开发自己的应用程序,这些资料都能够提供需要的指导和支持。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值