多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至bootloader,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新。在32位Cortex-M3内核下的STM32单片机也是可以做到的。这个上位机软件叫做“Flash loader demonstrator”;短接boot0与VCC后,再次复位即进入到升级模式(System memory boot loader)。

我们需要先下载芯片烧录工具软件Flash loader demonstrator,下载链接地址:http://share.eepw.com.cn/share/download/id/166572。下载后我们解压,安装此文件,之后我们找到STMicroelectronics flash loader.exe,此程序为我们的主角之一——烧录软件。另一个主角是我们的USB转串口工具。下面我来介绍一下软件如何使用:

前提条件

要将USB转串口工具插入电脑上,并在“设备管理器”中查看到虚拟串口的串口号。

烧写过程可分为六步,分别为连接芯片页面,flash状态页面,芯片信息页面,操作配置页面,选项字配置页面,操作进度条页面。

第一步:连接芯片页面

在此页面,我们主要配置串口号,其余参数使用默认值即可。在点击next前,一定要将boot0引脚置高并复位。如果一切正常,软件会转向下一个页面。当然如果出错,则需要重复上述操作。

小提示:

“Cannot open the COM port”:检查是否选择了正确的串口号,并确认此串口未被其它软件使用。

“Unrecognized device”:重启一下微处理器,也许问题就解决了。

“No response from the target”:此错误是芯片供电不正常,或者连线出现问题,极少数情况是芯片坏掉了。

第二步:显示flash存储状态

从上面的图可以看出来,如果芯片的flash未被读、写保护,那么“Remove protection”按键是灰色的;如果芯片的flash被XX了,那么,这个按钮的作用就不用我多说了吧^_^

第三步,芯片信息显示

这个页面基本上是只读的,看看就得了。对于我们初级水平的网友来说,这里暂时快速略过即可。

第四步:操作配置

这个页面是我们的主要操作页面。整个flash的烧写与擦除就集中在这个页面里。在这个页面里我们可以擦除(erase)芯片现有的flash内容。我们可以下载(download)hex程序到芯片flash内,我们也可以使能/去除芯片的保护(disable/enable)功能,还是配置选项字的高级功能。

这里简单说明一下,擦除功能可以选择全部擦除(All),也可以选择擦除部分扇区(selection),点击后即弹出相应区块的页面。

下载flash(download),软件支持英特尔hex,binary与S19摩托罗拉格式。其余部分我们初级使用默认即可。

上传芯片内部flash内容(upload),该功能可以将芯片内部的flash读出来,并转存为相应的格式,其格式支持上面提到三种。

选项字配置,这个配置我们暂时用不到,留到后期高级应用时,我们再回过头来仔细研究其强大的作用与深远的意义。

第六步,进度条显示

第五步,选项字配置我们直接略过,因此,到了第六步,这个页面没有什么好说的,看着即可。

如果出现绿色的进度条并提示下载成功,那么,恭喜你!程序已经成功下载至芯片内部了。这时,需要将boot0置低,复位微处理器,然后微处理器就执行新的程序了!

总结:

软件的使用秉承了一键式服务的理念,一路next即可完成芯片的操作。另外,其次活动的串口下载引脚已经在PCB丝印中标明,在与USB转串口连接时,必须进行交叉连接,即PCB板的Rxd与USB转串口的Txd相连;PCB板的Txd与USB转串口的Rxd相连;两者的GND要相连。

走进STM32世界之Hex程序烧写的更多相关文章

  1. stm32的swd接口的烧写协议是否公开的呢?

    stm32的swd接口的烧写协议是否公开的呢? 需要用一台好的示波器来抓才能有足够的存储深度,保证你能够过滤掉那个该死的50clock. 按照Arm的手册,每次转换发送方都需要一个TNR---但是我观 ...

  2. Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术

    Nios程序烧写到EPCS方法 - 第1页 - asus119's Blog - EDN China电子设计技术 这里主要是针对EP3C系列FPGA的Nios程序固化到EPCS中的方法做简要说明.硬件 ...

  3. 【DSP开发】TMS320C66x DSP SPI Nor Flash的程序烧写

    经过一段时间的研究终于把TMS320C6657单核和双核的SPI Nor Flash的程序烧写调通了.工具都是前辈的工作,有需要的可以留下邮箱,我有空可以发. 原理参考钱丰的<TI c66x 系 ...

  4. MDK972-EK开发板裸调试设置和裸机程序烧写(转)

    硬件平台:MDK972-EK开发板编译调试软件:KEIL uVision4仿真工具:JLINK V7/V8   本例子从串口输出信息,如图:       KEIL uVision4调试设置如图所示: ...

  5. esp32(M5STACK)程序烧写(Ubuntu)

    由于我们的开发环境在Ubuntu上,所以介绍一下如何在Ubuntu上烧写esp32的程序 首先下载esptools   pip install esptool           擦除 sudo es ...

  6. 在远程服务器上完成本地设备的程序烧写和调试(基于vivado ,SDK软件)

    在使用vivado和SDK进行设计开发的时候,通常需要登录到远程服务器上进行,但是会遇到一个问题就是,所使用的开发板通常是连接在自己的电脑上(local-PC),那要怎么才能让运行在服务器上的设计软件 ...

  7. adi 程序烧写

    3.2 U-Boot Console Output Here we need set up minicom to open target board serial console. sudo mini ...

  8. stm32串口烧写程序到开发板

    前言:我们如果要断电后重启板子还能使用程序的话就需要通过串口把程序烧写到开发板中. 1.设置Keil编译完之后,生成Hex文件.在工程选项[output]的标签,勾选“Create HEX File” ...

  9. AVR单片机教程——烧写hex文件

    每一次build项目,编译器都会生成多个文件,其中有一个就是hex文件.之前在IDE中配置的external tools,就是把这个hex文件烧写到单片机中去的. 然而,有些时候你想运行别人的程序,但 ...

随机推荐

  1. [1] 插件架构(PLUG-IN)

    网上的一种比较好对插件的定义是:插件(Plug-in,又称addin.add-in.addon或add-on,又译外挂)也称为扩展,是一种遵循一定规范的应用程序接口编写出来的程序,主要是用来扩展软件功 ...

  2. mysql GROUP_CONCAT获取分组的前几名

    比如说要获取班级的前3名,oracle 可以用 over partition by 来做.mysql就可以用GROUP_CONCAT  + GROUP BY + substring_index实现. ...

  3. iOS10 相关的隐私设置,

    最近下载了几个demo,总是一运行就崩,看了下崩溃日志,有几个是因为没在plist里设置因此权限,而现在iOS 10 开始对隐私权限更加严格, 如需使用隐私权限需要在工程的info.plist文件中声 ...

  4. 【Android Developers Training】 10. 序言:支持不同设备

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. JS中创建自定义对象的方法

    1.直接给对象扩充属性和方法: 2.对象字面量: 3.工厂方式: 4.构造函数方式: 5.原型方式: 6.混合方式. <script> // 1.直接给对象扩充属性和方法; var cat ...

  6. java桥连接sql server之登录验证及对数据库增删改查

    一:步骤 1.sql server建立数据库和相关表 2.建立数据源  (1).打开控制面板找到管理,打开ODBC选项或直接搜索数据源  (2).打开数据源配置后点击添加,选择sql server点击 ...

  7. 静态变量和Session

    静态变量: Application级别的,不同客户端访问同一个变量. Session:对于每个访问的客户端是独立的,都有一个唯一的SessionID.也就是说,不同客户端下,都可以有一个Session ...

  8. 【转】JS容器拖拽效果,并通过cookie保存拖拽各容器的所在位置

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Bootstrap提示信息(标签、徽章、巨幕和页头)

    前面的话 在Bootstrap中,有一些组件用于提示信息,如 标签.徽章.巨幕和页头.本文将详细介绍Bootstrap提示信息 标签 在一些Web页面中常常会添加一个标签用来告诉用户一些额外的信息,比 ...

  10. Oracle 使用命令导入dmp文件

    若要导入到特定的表空间则需要新建表空间,若不要求,则用已有的,则只需执行下面的步骤 在dos窗口中输入imp 用户名/密码@ip地址:端口号/数据库实例 file='需要导入的dmp文件的路径' fu ...