zoukankan      html  css  js  c++  java
  • 走进STM32世界之Hex程序烧写

    多数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要相连。

  • 相关阅读:
    Leetcode Binary Tree Preorder Traversal
    Leetcode Minimum Depth of Binary Tree
    Leetcode 148. Sort List
    Leetcode 61. Rotate List
    Leetcode 86. Partition List
    Leetcode 21. Merge Two Sorted Lists
    Leetcode 143. Reorder List
    J2EE项目应用开发过程中的易错点
    JNDI初认识
    奔腾的代码
  • 原文地址:https://www.cnblogs.com/JasonLGJnote/p/7191741.html
Copyright © 2011-2022 走看看