2023年4月24日 星期一

STM32F103 開發板燒錄

最近看到 QMK 支援 PS/2 界面滑鼠的說明,可以支援 stm32 開發板。相對於 Teensy 2.0 開發板在淘寶要賣 50RMB,STM32F103C8T6 一塊售價不到 15RMB,stm32 開發板實在便宜多了。Teensy 2.0 使用 8bit CPU,I/O 只有 25 個。STM32 則是 32bit CPU,I/O 有32個以上。無奈 QMK 對 AVR 的 CPU 支援較完整,一直到 Aug 6, 2021,在 feature_ps2_mouse.md 才加入 Interrupt Version (ARM chibios) 的說明。即使如此,加上 trapoint 的設定後,編譯時還是會出錯,要對原始碼做一些修正才能成功編譯。

先前已有買了兩片 STM32F103 開發板,趕快把它翻出來。當時也買了 FTDI 燒錄器,其實就是 USB 轉 RS232 的小裝置。Google 到不少介紹透過 UART 燒錄 STM32F103 開發板的資訊,就照著做。

先到 ST 的網站註冊下載 STM32 Flash loader demonstrator。安裝後,怎麼都連不上,出現無法辨識的裝置的訊息。手邊有兩塊板子,一塊是較便宜國產芯片,一塊是貴一倍的原廠芯片,都一樣連不上。

爬文看到中國網友建議使用 FlyMCU。很容易就找到程式下載,不需安裝就可使用。一樣連不上。有一些貼文說明要用 CTR/RTS 控制 reset 和 boot0,照著接線,還是 connection fail。後來再試,會出現 com port 被佔用的情況。最後發現這程式會自動執行,還不知道它做了什麼手腳,無法清除。

心得是,中國的軟體最後別試,它會像附骨之蛆,擺脫不掉。還好是使用VM測試,只好把整個 VMDK 用備份檔蓋掉。

再看一下各網拍的介紹,都說要用 ST-LINK 來燒錄。找了蝦皮台灣出貨的賣家,一個不到 100元,看評論說買兩個一個不能用,就多買一個吧。週日下單,拖到週一白天還沒出貨,最後在半夜寄出。週一白天忍不住想知道結果,又在蝦皮找到光華商場有現貨的賣家,下班後直接跑去買,一個 220 元。門巿經營的成本,還在可接受的範圍。

回家立刻到 ST 網站下載 STM32 ST-LINK utility。安裝後執行,立刻成功連上開發板,並成功燒錄 DFU 程式。將 boot0 切換到執行狀態,插上電腦就出現可辨識的裝置了。



很容易就可以把 ST-LINK 的電路板拔出來,其實它也是一個 F103CBT6 芯片。

猜測可能是後來出的 STM32 芯片已經不包含 UART 燒錄的功能。ST 在 STM-FLASHER 和 ST-LINK 的下載頁面都有 (replaced by STM32CubeProgrammer) 的提示。下回再用 STM32CubeProgrammer 測測看,它是跨平台的,可以在 Linux 下執行。



沒有留言:

張貼留言

網誌存檔