这是STM通用的刷固件方法,不仅仅适用于.Net Micro Framework,支持我们当前所有板子,包括阿波罗、探索者和雅典娜三个系列。
单片机可以看做是CPU、内存和硬盘的集合体,其中的Flash就是硬盘,RAM就是内存。我们所谓的刷机(刷固件)就是把系统(固件)安装(刷)到单片机上。固件一般是bin文件,也有hex。传统单片机程序,系统程序和用户程序都混在一个bin里面,而我们的MF,一般刷TinyCLR.bin,然后用户程序通过另外的软件刷进去(比如MFDeploy和vs2010)。
一 般的单片机都有专用的固件烧写设备,比如51的编码器,TI和STM的JLink和ULink等。探索者一号二号上都有一个20P(10*2)的方形插 座,那就是给JLink等用的JTAG接口,我们用C写单片机程序,或者移植MF的时候,用的就是它,方便刷写,还可以调试。只是这些设备都不便宜,最便 宜的JLink也都七八十块钱,所以一号二号都没有配。
STM单片机为什么能通过串口刷写固件呢?其实那是因为STM单片机片内Flash里面有一段只读的程序,称为系统程序,那是不可覆盖的,它就是专门用于通过串口读写片内Flash。一般STM开发板上都会有Boot0/Boot1两组跳线,每一组有3根针,跳线帽连接其中两根,另外一根空出来。我们只需要把Boot0的跳线帽换到另一边,中间那根针连接本来空着的那一根,即可设置单片机从系统程序启动。
(注意:以下所有接线操作,包括跳线操作,都必须在断电的情况下进行,最后才接上供电)
探索者一号的Boot跳线在JP8/JP9(如下图),默认两个跳线都是接右边两针,JP8(上面一个)是Boot0,把跳线帽改为接左边两针。(记住原来的接法,刷了固件以后要复原的)
探索者二号的Boot跳线很容易找,靠近四个按钮的那个是Boot0,板子上也写有,默认接左边两针(值为0),现在改为右边两针(值为1)
准备好开发板以后,下面就是准备串口线,连接上电脑。而因为我们现在的电脑一般已经没有串口,用的是USB转串口线,这就涉及一个驱动程序的问题。不同厂家的USB转串口线有不同的驱动程序。
探索者一号USB串口线驱动
探索者二号USB串口线驱动
串口线连接开发板和电脑,其中探索者一号还需要接上USB线来给板子供电,二号的USB串口线自身就有供电功能,接右边的USB方口(靠近边角)。电脑发现新设备后,即可开始安装驱动程序。安装完成后,记得到计算机管理里面查看串口COMx中的x是几,后面要用到。
下一步我们来安装“STM32串口ISP下载软件” Flash_Loader_Demonstrator_V2.1.0_Setup
启动软件,选择COM口后,一路Next
到这里进入了主界面,开始刷机。选择下载到设备,选择固件,一般做一个全局擦除(蓝色框框),然后下载完成后做一下验证。
到此,刷机完成!不过我们还需要把Boot0改回来到原来的接法,(一定要记得先断电),这样子单片机才会从我们刷进去的固件启动。
单片机可以看做是CPU、内存和硬盘的集合体,其中的Flash就是硬盘,RAM就是内存。我们所谓的刷机(刷固件)就是把系统(固件)安装(刷)到单片机上。固件一般是bin文件,也有hex。传统单片机程序,系统程序和用户程序都混在一个bin里面,而我们的MF,一般刷TinyCLR.bin,然后用户程序通过另外的软件刷进去(比如MFDeploy和vs2010)。
一 般的单片机都有专用的固件烧写设备,比如51的编码器,TI和STM的JLink和ULink等。探索者一号二号上都有一个20P(10*2)的方形插 座,那就是给JLink等用的JTAG接口,我们用C写单片机程序,或者移植MF的时候,用的就是它,方便刷写,还可以调试。只是这些设备都不便宜,最便 宜的JLink也都七八十块钱,所以一号二号都没有配。
STM单片机为什么能通过串口刷写固件呢?其实那是因为STM单片机片内Flash里面有一段只读的程序,称为系统程序,那是不可覆盖的,它就是专门用于通过串口读写片内Flash。一般STM开发板上都会有Boot0/Boot1两组跳线,每一组有3根针,跳线帽连接其中两根,另外一根空出来。我们只需要把Boot0的跳线帽换到另一边,中间那根针连接本来空着的那一根,即可设置单片机从系统程序启动。
(注意:以下所有接线操作,包括跳线操作,都必须在断电的情况下进行,最后才接上供电)
探索者一号的Boot跳线在JP8/JP9(如下图),默认两个跳线都是接右边两针,JP8(上面一个)是Boot0,把跳线帽改为接左边两针。(记住原来的接法,刷了固件以后要复原的)
探索者二号的Boot跳线很容易找,靠近四个按钮的那个是Boot0,板子上也写有,默认接左边两针(值为0),现在改为右边两针(值为1)
准备好开发板以后,下面就是准备串口线,连接上电脑。而因为我们现在的电脑一般已经没有串口,用的是USB转串口线,这就涉及一个驱动程序的问题。不同厂家的USB转串口线有不同的驱动程序。
探索者一号USB串口线驱动
- 探 索者一号USB转串口线驱动.rar (115.01 K, 下载次数:2)
探索者二号USB串口线驱动
- 探 索者二号USB串口线驱动.zip (2.26 M, 下载次数:0)
串口线连接开发板和电脑,其中探索者一号还需要接上USB线来给板子供电,二号的USB串口线自身就有供电功能,接右边的USB方口(靠近边角)。电脑发现新设备后,即可开始安装驱动程序。安装完成后,记得到计算机管理里面查看串口COMx中的x是几,后面要用到。
下一步我们来安装“STM32串口ISP下载软件” Flash_Loader_Demonstrator_V2.1.0_Setup
- Flash_Loader_Demonstrator_V2.1.0_Setup.rar (7.54 M, 下载次数:4)
启动软件,选择COM口后,一路Next
到这里进入了主界面,开始刷机。选择下载到设备,选择固件,一般做一个全局擦除(蓝色框框),然后下载完成后做一下验证。
到此,刷机完成!不过我们还需要把Boot0改回来到原来的接法,(一定要记得先断电),这样子单片机才会从我们刷进去的固件启动。