项目简介
本项目是基于STM32的学习项目,以STM32F103C8T6微控制器为核心,实现了Bootloader和UART驱动。Bootloader可实现固件更新,通过UART接收应用程序二进制文件并写入Flash;UART驱动用于与外部设备进行串行通信,方便数据传输。
项目的主要特性和功能
- 多模式启动:支持从用户Flash、系统内存和嵌入式SRAM三种模式启动,可通过设置BOOT引脚选择。
- 固件更新:ST Bootloader能利用USART1对Flash内存重新编程;自定义Bootloader可接收UART传来的应用程序二进制文件并更新到指定Flash区域。
- UART通信:通过UART与外部设备进行数据传输,可将应用程序二进制文件发送到Bootloader进行更新。
- LED指示:通过LED灯不同状态,直观显示Bootloader工作状态,如等待数据、擦除Flash、接收数据、跳转应用程序等。
安装使用步骤
硬件连接
将ST - Link V2、USB转TTL串口线与STM32F103C8T6开发板正确连接,确保电源、GND、RX、TX等引脚连接无误。
软件安装
安装stm32cubeIDE、stlink - gui、st - flash和cutecom等必要的开发和调试工具。
调试配置
在.ioc
文件的SYS中启用Serial Wire Debug (SWD),在IDE的Run -> Debug Configurations -> Startup
中添加配置,下载并加载Bootloader和应用程序的二进制文件及其符号。
烧录Bootloader
使用st - flash write stm32f103c8t6_bootloader.bin 0x8000000
命令将Bootloader烧录到开发板。
发送应用程序
使用cutecom等工具,按照波特率115200、字长8位、无校验位、1位停止位、禁用硬件流控制的配置,通过UART将应用程序二进制文件(必须是.bin
文件)发送到Bootloader进行更新。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】