這是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序列槽線驅動<dl></dl>
<dt></dt>
<dd></dd>
探索者二号USB序列槽線驅動<dl></dl>
序列槽線連接配接開發闆和電腦,其中探索者一号還需要接上USB線來給闆子供電,二号的USB序列槽線自身就有供電功能,接右邊的USB方口(靠近邊角)。電腦發現新裝置後,即可開始安裝驅動程式。安裝完成後,記得到計算機管理裡面檢視序列槽COMx中的x是幾,後面要用到。

下一步我們來安裝“STM32序列槽ISP下載下傳軟體” Flash_Loader_Demonstrator_V2.1.0_Setup
<dl></dl>
啟動軟體,選擇COM口後,一路Next




到這裡進入了主界面,開始刷機。選擇下載下傳到裝置,選擇固件,一般做一個全局擦除(藍色框框),然後下載下傳完成後做一下驗證。

到此,刷機完成!不過我們還需要把Boot0改回來到原來的接法,(一定要記得先斷電),這樣子單片機才會從我們刷進去的固件啟動。
<a href="http://www.newlifex.com/attachment.aspx?attachmentid=28" target="_blank">F5.png</a>
(58.79 K, 下載下傳次數:0)
(2012-8-30 18:17:38 上傳)
<a></a>
<a href="http://www.newlifex.com/attachment.aspx?attachmentid=29" target="_blank">F6.png</a>
(47.74 K, 下載下傳次數:0)
我不相信神話,我隻相信汗水!我不相信命運,我隻相信雙手!