1. 程式人生 > >走進STM32世界之Hex程序燒寫

走進STM32世界之Hex程序燒寫

高級功能 出錯 rom from device select oot 點擊 工具

多數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程序燒寫