找回密码
 立即注册
查看: 257|回复: 4

STC32G12K128 UART OTA 在线升级工具 V1.0

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2026-06-18 21:08:59
已绑定手机

2

主题

1

回帖

68

积分

注册会员

积分
68
发表于 2026-5-15 16:21:21 | 显示全部楼层 |阅读模式
本项目是联合实验室在 STC32 系列单片机在线升级方向上的阶段性成果,
主要面向基于STC32G12K128 的嵌入式应用开发,
提供一套完整的 UART 串口 OTA 在线升级解决方案。
该方案包括 Bootloader 程序、示例 APP 程序以及 PC 端升级工具,
可用于单片机程序的远程现场升级、教学实验、项目调试和后续二次开发。
一、项目背景
在单片机项目开发和现场应用中,程序更新通常需要重新连接下载器,操作不够方便。尤其是在设备已经安装到现场、外壳封装完成或调试环境受限的情况下,传统烧录方式会增加维护成本。
本项目基于 STC32G12K128 单片机,通过 UART 串口实现 APP 程序在线升级。首次只需使用 STC 官方工具下载 Bootloader,后续即可通过 PC 上位机完成 APP 程序升级,不需要反复使用下载器。
二、Bootloader 功能
Bootloader 是整个 OTA 升级方案的核心,主要负责单片机上电后的启动判断、串口通信、APP 程序接收、Flash 写入和程序跳转。
本项目中的 Bootloader 具备以下功能:

  • 支持 UART 串口接收 PC 上位机发送的 APP 程序数据;
  • 支持对接收到的数据进行分包处理和写入;
  • 支持将 APP 程序写入指定 Flash 区域;
  • 支持升级完成后自动跳转到 APP 程序运行;
  • 支持与 STC 官方下载工具配合完成首次 Bootloader 烧录;
  • 为后续不同 APP 程序的在线升级提供统一入口。
Bootloader 只需要首次烧录一次。只要 Bootloader 正常运行,后续即可通过 PC 端工具更新不同的 APP 程序。
三、呼吸灯 APP 示例
为了验证 OTA 升级流程,本项目提供了一个 P5.2 引脚呼吸灯 APP 示例程序。
该程序主要用于测试:

  • APP 程序是否能够正确通过 OTA 下载;
  • Bootloader 是否能够正确跳转到 APP;
  • APP 程序在独立运行时是否正常;
  • 单片机 I/O 控制、定时器延时和程序结构是否正确。
呼吸灯示例程序体积小、现象直观,非常适合用于首次验证 OTA 升级流程。升级完成后,如果 P5.2 所连接的 LED 能够呈现亮度渐变效果,说明 Bootloader、PC 上位机、串口通信和 APP 跳转流程基本正常。
四、PC 端上位机功能
PC 端工具是本项目的重要组成部分,主要用于在 Windows 系统下完成 APP 程序选择、串口连接、Keil 工程适配和 OTA 下载。
PC 端主要功能包括:

  • 串口选择和连接;
  • APP HEX/IHX 文件选择;
  • OTA 程序下载;
  • 下载进度显示;
  • 升级结果提示;
  • 通用 Keil APP 工程配置;
  • HEX 文件结构检查;
  • 工程配置检查报告生成;
  • OTA 下载过程日志显示。
其中,通用 Keil APP 工程配置功能是本项目的重要改进内容。用户可以选择自己的 Keil 工程文件,由上位机辅助配置 OTA 所需参数。配置完成后,在 Keil 中重新 Rebuild 工程,即可生成适用于 OTA 下载的 APP 文件。
五、软件特点
本软件不是单一的演示程序,而是一套相对完整的 STC32 UART OTA 在线升级框架。其主要特点包括:

  • Bootloader 与 APP 分离,便于后期维护;
  • 支持通过串口完成 APP 在线升级;
  • 提供呼吸灯示例,方便快速验证功能;
  • 提供 PC 端图形化操作工具,降低使用门槛;
  • 支持普通 Keil APP 工程进行 OTA 适配;
  • 工程结构清晰,便于二次开发;
  • 源码加入中文注释,便于学习和移植。
六、基本使用流程
首次使用时,需要先通过 STC 官方工具将 Bootloader 下载到单片机中。Bootloader 下载完成后,后续 APP 程序升级即可使用本项目提供的 PC 端工具完成。
基本流程如下:

  • 使用 STC 官方工具按下图配置首次烧录 Bootloader;

  • 打开 PC 端 OTA 上位机;
  • 选择对应串口;
  • 选择需要下载的 APP 程序文件;
  • 点击下载,等待升级完成;
  • 单片机自动跳转并运行新的 APP 程序。
如果使用自己的 Keil APP 工程,需要先通过 PC 端工具进行 APP 工程配置,然后在 Keil 中重新编译生成新的 HEX/IHX 文件,再使用 PC 端工具进行 OTA 下载。
七、适用场景
本项目可用于以下场景:

  • STC32 单片机教学实验;
  • 嵌入式课程设计;
  • 单片机项目远程升级;
  • 串口 Bootloader 学习;
  • 工程样机现场维护;
  • 二次开发和功能扩展。
八、后续计划
后续将继续完善以下内容:

  • 增强不同 STC32 芯片型号的适配能力;
  • 优化 APP 工程自动配置功能;
  • 增加升级失败保护机制;
  • 增加版本号校验和程序完整性校验;
  • 完善更多示例 APP 程序;
  • 进一步优化 PC 端操作体验。
九、说明
本项目为联合实验室阶段性研发成果,主要用于学习、教学、实验和项目开发参考。欢迎大家交流STC32 单片机、UART OTA、Bootloader、Keil 工程配置和嵌入式在线升级相关问题。

OTA.zip

10.82 MB, 下载次数: 27

2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:943
  • 最近打卡:2026-07-04 07:56:28
已绑定手机

61

主题

2089

回帖

3079

积分

论坛元老

积分
3079
发表于 2026-5-15 17:28:28 | 显示全部楼层
,谢谢楼主分享
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:299
  • 最近打卡:2026-07-04 00:01:55
已绑定手机

66

主题

808

回帖

3037

积分

论坛元老

DIY玩家

积分
3037
发表于 2026-5-17 12:28:53 | 显示全部楼层
联网环境中远程升级需求多
永怀这学徒心
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:943
  • 最近打卡:2026-07-04 07:56:28
已绑定手机

61

主题

2089

回帖

3079

积分

论坛元老

积分
3079
发表于 2026-6-12 07:56:31 | 显示全部楼层
不知道虚拟串口可以不?
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2026-06-18 21:08:59
已绑定手机

2

主题

1

回帖

68

积分

注册会员

积分
68
发表于 2026-6-18 21:08:59 | 显示全部楼层
jw*** 发表于 2026-6-12 07:56
不知道虚拟串口可以不?

没有搞过测试,我过几天试试用虚拟串口来在线升级
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-5 07:47 , Processed in 0.114008 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表