在光立方活动中,有少部分网友提出不会将HEX程序烧录至STM32芯片内,也为了早就想开始的STM32系列基础教程,在北京的这个雨夜开始“走进STM32世界”。
多数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要相连。
参考资料:UM0462 User manual STM32™ and STM8™ Flash loader demonstrator 下载链接:http://share.eepw.com.cn/share/download/id/166613