13.5-“制作一款私有IAP串口下载小工具”之STM32的Bootloader代码编写(包含源码)

本文档介绍了如何开发一个STM32的Bootloader,用于实现私有IAP串口下载小工具。内容涵盖开发环境、CubeMX配置、通信协议、延时定时器设计、App编码注意事项以及调试过程。源码和工程文件可供下载。
摘要由CSDN通过智能技术生成

一、开发环境与工具

STM32CubeMX、TrueSTUDIO、J-Flash V6.32f
芯片:STM32L072KBUx

二、使用CubeMx新建工程与配置说明

使用CubeMX通过芯片型号新建工程。需要配置如下内容:

  • 配置系统时钟
  • 下载程序的SWD口
  • 一个定时器(开启中断)
  • 一个串口(开启接收中断)

配置过程及详细参数如以下截图所示:
注意:只要能实现同样功能即可,不强制必须使用串口1或定时器7。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

三、通信协议构架代码

在单片中需要接收来自上位机的数据,并安装协议规定格式反馈数据。比上位机端简单一些。
把串口接收到的每1byte数据,依次传递给以下这个“协议识别函数”来进行“封包”识别:

void APP_UartProcess(uint8_t uart_data) {
   

	if(IsStartRecvCommand == true) {
   
		UartRxCache[UartRxCacheIndex++] = uart_data;

		uint16_t TempCacheLen = UartRxCacheIndex;
		if(TempCacheLen > 4 &&
				UartRxCache[TempCacheLen - 4] == TAIL[0] &&
				UartRxCache[TempCacheLen - 3] == TAIL[1] &&
				UartRxCache[TempCacheLen - 2] == TAIL[2] &&
				UartRxCache[TempCacheLen - 1] == TAIL[3] &&</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值