pdf

如何通过STM32的串口实现简易脱机编程器

  • 1星
  • 日期: 2018-05-16
  • 大小: 915.67KB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: STM32

如何通过STM32的串口实现简易脱机编程器如何通过STM32的串口实现简易脱机编程器如何通过STM32的串口实现简易脱机编程器如何通过STM32的串口实现简易脱机编程器

文档内容节选

如何实现一款简易脱机编程器 前言 本篇应用笔记为实现一个简易脱机编程器 在实际产品的生产与升级过程中,很多的客户都需要有一个简易脱机编程器,该脱机编程器很简单, 在没有电脑环境中能够实现修改 MCU 内部 Flash 即可不需要复杂的其他功能接口方面也不需要很 复杂,只需要支持串口编程即可,最好是不用电池这样够省电,成本要很低,还有就是携带方便 出差的朋友可以随身携带等等简单功能 其实,ST 提供了一个内部 Boot loader这里有 UARTSPII2C 等等接口,根据不同芯片有其 不同接口形式并发布了一篇介绍内部 Boot loader 的说明文档AN2606,客户根据这个文档就能 自己写一个这样的程序,无论是在 PC 端的还是在 MCU 端但很多时候,为了加快实现速度,一般都 会先咨询 ST 是否可以提供这样一个范例开源的代码来给客户做参考因这个部分是客户的定制化 需求,每一个客户对于接口设计硬件设计软件设计都有自己的不同需求,所以没有一个范例来参 考本文为了满足广大研发工程师需求,并为给使用 ST MCU 产品的客户一套快速实现该功能的参考 范例,......

如何实现一款简易脱机编程器 前言 本篇应用笔记为实现一个简易脱机编程器。 在实际产品的生产与升级过程中,很多的客户都需要有一个简易脱机编程器,该脱机编程器很简单, 在没有电脑环境中能够实现修改 MCU 内部 Flash 即可。不需要复杂的其他功能。接口方面也不需要很 复杂,只需要支持串口编程即可,最好是不用电池(这样够省电),成本要很低,还有就是携带方便 (出差的朋友可以随身携带)等等简单功能…… 其实,ST 提供了一个内部 Boot loader(这里有 UART、SPI、I2C 等等接口,根据不同芯片有其 不同接口形式)并发布了一篇介绍内部 Boot loader 的说明文档(AN2606),客户根据这个文档就能 自己写一个这样的程序,无论是在 PC 端的还是在 MCU 端。但很多时候,为了加快实现速度,一般都 会先咨询 ST 是否可以提供这样一个范例(开源的代码)来给客户做参考。因这个部分是客户的定制化 需求,每一个客户对于接口设计、硬件设计、软件设计都有自己的不同需求,所以没有一个范例来参 考。本文为了满足广大研发工程师需求,并为给使用 ST MCU 产品的客户一套快速实现该功能的参考 范例,我们就以使用 STM32 的芯片来实现一款脱机编程器。 通过本文档,您可以了解如何通过 UART 来实现一款简易的脱机编程器,并提供一个范例工程以 供大家参考。 注意:其实协议内容都是相通的,只是使用的接口不同而已,所以该工程也可以作为使用其他接口的客户来参考。 整体框架如下图所示: 硬件接口连接 要通过串口来进行编程,此款脱机编程器的串口一定需要引出,简单的三线串口即可(RXD、 RXD、GND),因脱机编程器上不带有电池等电源,就需要在目标板上引出工作电源(也就是说,此 脱机编程器的电源是在目标板上引出的,在设计目标板的时候就需要考虑引出所需要的电源),加上 进入 BOOT 模式所需要的 GPIO 和控制 NREST 的 GPIO,一共是 6 根线:RXD、TXD、GND 、 Control_NRST 、VDD(目标板上的工作电压)和 Control_BOOT0。具体描述参见下表: 表 1 硬件连线说明 名称 RXD TXD GND VDD 数据/控制方向 从脱机编程器到目标 MCU 从目标 MCU 到脱机编程器 --- 描述 目标 MCU 的串口数据接收管脚 目标 MCU 的串口数据发送管脚 共地 从目标板到脱机编程器 从目标板提供电源给脱机编程器工作,典型值为 3.3V1 Control_BOOT0 从脱机编程器到目标 MCU Control_NRST 从脱机编程器到目标 MCU 脱机编程器控制目标 MCU 的 BOOT0 管脚 脱机编程器控制目标 MCU 的复位管脚 1、 电源方面只要满足工作电压即可。具体值请参考所选 MCU 的数据手册 提醒:在设计接口的时候,可以再增加一个根线,设计为 7 根线的防止反接接口,这部分请自行设计。 如果想使用 STMFlashLoader Demo 软件下载固件到脱机编程器中,建议设计 MCU 的时候,参考下边 的原理图来设计最小系统,在此基础之上增加 PA9 和 PA10 的串口接口即可. 图一 脱机编程器最小系统原理图 2 本文所涉到的范例程序是基于 Nucleo-F030 这块板子上实现的,其有以下便利条件: 1、 板载 ST-Link,可使用上位机软件 STM32 ST-LINK Utility 软件直接下载目标代码和更新脱机编 程器中的固件; 2、 已经设计了一个用户按键和一个 LED 灯,分别用来实现开始编程命令和显示编程状态 ; 3、 Nucleo 的板子上的 ST-Link 已经实现了虚拟串口的功能,所以也通过这个串口可以打印一些调 试信息。 下表为在 Nucleo-F030 板子上所需要的管脚分配示意图。 3 4 选择 MCU 建议 因为本着低成本、简单实用的设计原则,所以该脱机编程器中没有增加外扩 Flash,而是采用了 MCU 片内的 Flash 来存储所需要下载的代码。电源直接从目标板上引出,节省了 LDO 等电源芯片的成 本。推荐使用和目标板上同系列的 MCU 来做这款脱机编程器,这样采购的成本也可以降下来。整个编 程器固件的代码大小为 7K 左右,所以只要您的代码目标代码大小是小于所选 MCU 片内 Flash 空间- 7KB 即可。 比如 APP 代码大小为 18K 左右,那么您的脱机编程器最小需求的代码空间就是 25KB 左右 (18+7=25),您在选型手册上找个 Flash 大于 25KB 的 MCU 即可. 如果您产品使用了不止一款 ST 的 MCU,那么你只需要选择一款包含所有代码中最大的那款即可。 软件设计实现 软件工程的设计是依照 AN3155 这篇文档来做的,更加细节的内容请参考该文档。 通过本部分的介绍,希望能达到让您快速上手,实现一个 LED 点灯程序的下载与执行的流程,让 大家知道如何实现软件部分的功能,并且重点介绍一下如何将这个工程实现到 ST 的其他 MCU 上,这 样才使得这款脱机编程器具有通用性。 备注:编程器固件和目标文件的 Bin 文件都已经提供在 demo 中,也可以直接下载到编程器中进行验证. 软件库 本软件设计中使用了 STM32Cube/MX 这套目前 ST 最新的库函数,其实现了标准的外设访问接口 (API)/生成代码的功能。其特性是非常适合移植,从一款产品很快的移植到另外一款产品中. 为了方便具体描述,我们以 STM32F030R8T6 这款 MCU 为例,以 Nucleo-F030 这款 ST 的评估板为 硬件基础,来逐步实现这个软件的功能并简单介绍移植方法。 功能实现 首先,该 demo 软件工程中分为以下几个文件目录:…… Driver:其中包含了所有的库文件 EWARM:IAR 的工程文件 MDK-ARM:MDK 的工程文件 5
更多简介内容

推荐帖子

MSP430 BootLoader移植
一、 什么是bootlloader? 在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。因此整个系统的加载启动任务就完全由BootLoader来完成。 以上是百度百科上对bootloader的描述,但是我们这里所说的bootloader是为了实现单片机
Aguilera 【微控制器 MCU】
智能家居中电池特性分析及设计方案
作者:Betty Guo 现在,智能楼宇自动化中加入了越来越多的智能传感器,比如智能猫眼,门铃,便携式摄像头以及烟感等。这些产品通常采用电池供电,如常见的18650锂电池,AA 干电池。那么在电池供电的产品中,如何设计合理的供电方案是延长电池使用时间是重点问题。 文章会首先会分析常用电池的特性分析,其次以可视化门铃为例提供技术设计方案。 1. 不同电池特性分析 在智能家居产
alan000345 【微控制器 MCU】
如何为温度传感器选择正确的热敏电阻
当面对数以千计的热敏电阻类型时,选型可能会造成相当大的困难。在这篇技术文章中,我将为您介绍选择热敏电阻时需牢记的一些重要参数,尤其是当要在两种常用的用于温度传感的热敏电阻类型(负温度系数NTC热敏电阻或硅基线性热敏电阻)之间做出决定时。NTC热敏电阻由于价格低廉而广泛使用,但在极端温度下提供精度较低。硅基线性热敏电阻可在更宽温度范围内提供更佳性能和更高精度,但通常其价格较高。下文中我们将会介绍,正
alan000345 TI技术论坛
STEVAL-MKI109V3 硬件外设的简单总结
接收到STEVAL-MKI109V3  开发板后感觉这个开发板用料是很足的。功能不仅仅只用于传感器的评估。 首先 评估板 MCU  产生PWM  _A 如下图   通过电子开关 AS21p 可以对ADC_V_REF  进行调节 输出  可以控制 电压范围0-ADC_V_REF  显然 ADC_V_REF 被TS3431CILT稳压在 3.0V 同过不同的PWM  _A的占空比可以
fitel ST MEMS传感器创意设计大赛专区
关于TI的28335芯片概述
TMS320F28335属于TMS320C2000™数字信号控制器(DSC)系列。TI中C28x系列就是DSC,之前的产品都是定点型的DSP,而TMS320F28335所属的F2833x系列是带浮点运算单元的,用C28x+FPU表示。28335的FPU是一个32为float浮点运算单元,是其在DSC产品里面最大的特点。硬件FPU很犀利,直接让CPU的运算能力升级。 F2833x系列还有283
fish001 【微控制器 MCU】
Agitek工程师—如何判断示波器出现假波
本帖最后由 agitek安泰维修 于 2020-5-6 18:15 编辑       示波器对于很多工程师而言堪比“眼睛”,工程师每天与示波器相伴的时间甚至超过了与家人相处的时间。相信对于电源工程师,示波器的功劳是不可替代的,一旦产品有问题就需要抓波形,抓时序,测试准确数值,以帮助工程师分析,处理,一切看波形说话。准确的数字能够帮助我们,而失真的波形和数值只能误导我们。在工程师使用示波器测量
agitek安泰维修 【测试/测量】

评论

登录/注册

意见反馈

求资源

回顶部

datasheet推荐 换一换

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })