stm32 菜单按键_STM32串口IAP分享

a89b75a37da5bde27ea3312d6c0a7cfe.png

什么是IAP?

IAPIn Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。

在重新编程过程中可以使用任意类型的通信协议,如UART、I2S、SPI等。这篇笔记分享的是使用UART方式IAP。

串口IAP实验

先理一理流程(本实验是以STM32F103ZET6为例):

1、实验说明

做这个实验需要准备两个keil工程,一个工程用于编写IAP程序,另一个工程用于编写我们的应用程序(要实现某些功能的程序),这里我们以一个点灯程序为例。最终,两份工程编译出来的可执行文件都需要烧写到芯片的FLASH中。只不过需要烧写到不同的地址,简单的示意图如下:

3f0520d1a99f1cb6a584e51ed957664b.png

这里,使用的STM32的型号为STM32F103ZET6,其FLASH大小是512KB,0x08000000为其FLASH被映射的地址,程序被烧写到的就是这个地址。此处,我们的IAP程序烧写到这个地址,根据IAP程序的大小,我们在keil里可以设置合适的IAP结束地址。

注意:在没有IAP程序的情况下,0x08000000这个地址就是应用程序烧写的地址。

2、工程说明

本实验用到的两个工程可按照文末的方式获取,其中IAP工程移植至ST官方例程。下面对两个工程进行简单的说明

IAP工程:

(1)需要在target选项卡里设置我们IAP程序的起始地址与大小,如:

bd1c654932de76e4f3facf7ad1bfa92d.png

这里我们的IAP程序起始地址设为0x08000000,大小设为0x3000,即IAP所能用的FLASH空间为12KB。其中IAP所能占的占空间的大小可根据IAP的实际大小进行修改。

(2)需要修改程序中我们需要跳转到的应用程序的地址(即IAP程序的结束地址):

dfd25e14d7f0b500c3b3ab3c4cf98a98.png <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
stm32f10x_iap_bootloader是基于STM32F10x系列微控制器的一个引导程序下载工具。这个工具的作用是用于从外部存储设备(如SD卡)中下载和更新应用程序到系统的Flash内存中。 在进行stm32f10x_iap_bootloader程序下载之前,首先需要准备好一些硬件和软件条件。硬件上,需要一个带有串口或USB接口的STM32F10x系列开发板,以及一个能够供电并适配开发板的电源。软件上,需要一个能够将应用程序转换为可执行文件(如bin或hex格式)的编译器,以及一个支持bootloader功能的下载工具(如ST-Link或Flasher)。 下载stm32f10x_iap_bootloader程序的步骤如下: 1. 将开发板连接到计算机,并确保与计算机的连接正常。 2. 使用编译器编译并生成stm32f10x_iap_bootloader的可执行文件。 3. 将生成的可执行文件保存到外部存储设备(如SD卡)中。 4. 将外部存储设备插入到开发板中的相应插槽中。 5. 打开下载工具,并选择正确的设备和接口。 6. 设置下载参数(如存储设备类型和地址)。 7. 开始下载过程,并等待下载完成。 8. 下载完成后,重启开发板,系统将从外部存储设备中加载并运行新的应用程序。 值得注意的是,下载stm32f10x_iap_bootloader程序之前,应先了解和熟悉stm32f10x_iap_bootloader的使用说明和相关文档,确保正确理解和掌握其功能和操作流程,以避免不必要的错误和损坏。此外,下载过程可能因实际情况而有所差异,请根据具体情况进行相应调整和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值