1. 程式人生 > >STM32通過USB方式燒錄程式DFU詳解 ( 使用新版本的DFU工具 DfuSe_Demo_V3.0.5_Setup 測試ok 2018-7-27 改)

STM32通過USB方式燒錄程式DFU詳解 ( 使用新版本的DFU工具 DfuSe_Demo_V3.0.5_Setup 測試ok 2018-7-27 改)

DFU的全稱是Device Firmware Upgrade,即裝置韌體升級。
============================================================
第一步:下載了官方DFU軟體後,安裝軟體包,安裝完畢後代開這個軟體的安裝路徑
需要再安裝下STM32的USB驅動。路徑如下(根據電腦系統選擇安裝X86還行x64):


第二步:USB驅動安裝上以後,用USB線將電腦和開發板連線,USB線接到開發板的這個USB口上:


第三步:讓開發板進入ISP模式,在電腦的資源管理器裡面可以看到已經識別出USB


第4步:開啟此路徑下的這個軟體:


選擇這個選項


開啟後後效果如下:


通過這個軟體將bin檔案,hex檔案或者S19檔案轉換成DFU檔案格式。實際測試新增hex


檔案的時候老是無法識別,彈出如何錯誤。


第5步:DfuFileMgr小軟體裡面有幾個引數需要大家填好。
(1)Vendor ID,Product ID,和Version ID需要通過如下小軟體進行獲取:


開啟軟體後,引數在這裡:


將其填寫到DfuFileMgr裡面:


(2)填寫Target ID,這裡填寫0即可(填寫其它數值的用途還沒有研究)

(3)Target Name選項裡面添寫個名字即可,這裡填寫了個LED


(4)點選此選項,新增bin檔案


(5)IAR和MDK工程生產bin檔案的方法看這個帖子:
http://bbs.armfly.com/read.php?tid=7097
(6)新增bin檔案:


(7)點選生產即可



特別注意,這個軟體似乎有bug,不管你將生成的dfu檔案儲存到哪裡,最終一定在安裝目錄的這個檔案裡面:


第6步:再次開啟小軟體DfuSeDemo,載入剛才的led.dfu。


第7步:提示載入完畢,並選擇這個選項:


最後一步,點選Upgrade按鈕:


重啟開發板就可以運行了。

注意下:如果想使用 .HEX 檔案轉成 DFU 檔案,建議下載另外的版本  DFU_Demo_v3.0.1   DFU file Manager 可以正常的轉換為 DFU

很奇怪的是 DFU_Demo_v3.0.1    版本的 Dfuse Demo下載程式後燒錄不成功,因此我是 v3.0.1 v3.0.4 

兩個版本一起使用的

注:

20187-27 使用  DfuSe_Demo_V3.0.5_Setup  可以正常 使用 DFU file Manager , Dfuse Demo下載程式