| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于STM32的USB在线下载程序说明 -> 正文阅读 |
|
[嵌入式]基于STM32的USB在线下载程序说明 |
上位机通过USB下载和更新STM32固件使用说明 一、 实现功能 通过计算机应用程序在线对单片机程序下载和更新。 二、 词汇说明
三、 总体结构 上位机通过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数据线连接,利用上位机发送指令下载新的固件主程序。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:54:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |