flymcu无法打开串口_STM32串口IAP分享

本文详细介绍了STM32的In Application Programming(IAP)概念,通过UART通信实现串口IAP。分享了如何配置两个Keil工程,一个用于IAP程序,另一个用于应用程序。内容包括IAP程序的地址设置、LED程序的地址与大小配置、.bin文件生成、环境变量配置以及Ymodem协议在下载过程中的应用。最后通过FlyMcu工具和超级终端演示了IAP程序引导下载LED程序的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是IAP?

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

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

串口IAP实验

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

1、实验说明

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

e0364928056e1e9c6b7f934bbbe805b5.png

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

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

2、工程说明

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

IAP工程:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值