Linux, 工作, 生活, 家人

Embedded

STM32 的 USB DFU (Device Firmware Upgrade)

當用 STM32 (我用的是 Coretex-M 的 STM32F103ZC) 時, 如果沒有 ICE, 可以用 DFU 從 USB 切入 DFU Mode, 再用 USB 的軟體升級程式.

我不小心弄掛我系統的 DFU, 這邊稍稍講一下如何救回來
* 還是需要 ICE 的.

我用的是 STM32 系列 STM32F103ZC 進去之後, 選 Design Support.
下面會有一堆軟體.

首先要看到的是
STM32F10x and STM32L1xx USB full-speed device library
其中就有
Device_Firmware_Upgrade 的目錄, 進去之後, (我是使用 MDK-ARM).
DFU-1
選好自己的平台, 重新 Compile, 再 Update Firmware 即可.

記得接下來自己的程式要跑在 0x8003000 的位置.
像是這樣.
DFU-2

DFU Windows 相關的程式在這邊. 可以從 .hex 轉成 .dfu 的格式, 可以透過 usb device driver 上傳到 target 的 0x8003000 之後的位置
DfuSe USB Device Firmware Upgrade STMicroelectronics Extension: Contains the Demo GUI, Debugging GUI, all sources files and the protocol layer
大陸那邊有很多介紹的文章, 這邊就不寫了.

發佈留言