基于STM32的USB在线下载程序说明

您所在的位置:网站首页 pyro在线下载 基于STM32的USB在线下载程序说明

基于STM32的USB在线下载程序说明

#基于STM32的USB在线下载程序说明| 来源: 网络整理| 查看: 265

上位机通过USB下载和更新STM32固件使用说明

一、 实现功能

通过计算机应用程序在线对单片机程序下载和更新。

二、 词汇说明

BootLoader是指实现在线下载的单片机固件程序。固件主程序是指用户自定义的固件程序。上位机是指计算机用于和单片机通信的应用程序。

三、 总体结构

上位机通过USB接口对STM32F407ZGT6发送指令与数据,STM32F407ZGT6接收到指令与数据后的指令流程图如下图3-1所示。

 

上位机通过USB向单片机传递数据和指令。当单片机运行BootLoader时会接受来自上位机的数据和指令,并将数据写入内部flash,并跳转运行固件主程序。当单片机运行固件主程序时,接受来自上位机的指令,进行软件复位,跳转回BootLoader。

四、 具体流程

1. 下载固件主程序

上位机读取固件主程序的bin文件,读取完成后,通过USB向STM32F407ZGT6发送数据。STM32F407ZGT6接受数据后,将数据写入其内部flash的特定地址,然后跳转至固件主程序处运行,在跳转时会更改标志位,以保证下次STM32F407ZGT6上电时,直接进入固件主程序运行。流程图如下图4-1所示。

2. 更新固件主程序

固件主程序在修改后,不改变原有的引导功能,且能够接受上位机的指令。在接受到上位机的跳转指令后,软件复位,并将BootLoader的写的标志位清除。此时程序会停留在BootLoader片刻,接受来自上位机的数据,写入内部flash,并再次更改标志位,跳转至新的固件主程序处。STM32F407ZGT6重新上电后,从新的固件主程序处运行。流程图如下图4-2所示。

3. 上电重启

重新上电后,首先进入BootLoader,BootLoader读取标志位(flash内部数据),决定接下来停留等待上位机指令或者直接进固件主程序。默认情况下,会进入固件主程序。流程图如下图4-3所示。

 

 

五、 具体操作过程

1) 首次使用

a) 通过keil和仿真器下载BootLoader

c) 修改固件主程序

b) 利用上位机和USB下载固件主程序

2) 固件主程序需要更新

a) 修改固件主程序

b) 将单片机与计算机通过USB数据线连接,利用上位机发送指令下载新的固件主程序。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3