[英]How to flash STM32 via Serial Port
我有一個STM32F102微控制器,我想通過串口編程。
雖然有一個可用於Windows的閃存,但我想在Linux機器上進行。 我嘗試用這個腳本來做
我已設置BOOT0 = 1且BOOT1 = 0,重啟微控制器。 但它不起作用。 我得到以下輸出
Can't init. Ensure BOOT0=1, BOOT1=0, and reset device
Traceback (most recent call last):
File "stm32loader.py", line 552, in <module>
bootversion = cmd.cmdGet()
File "stm32loader.py", line 140, in cmdGet
if self.cmdGeneric(0x00):
File "stm32loader.py", line 137, in cmdGeneric
return self._wait_for_ack(hex(cmd))
File "stm32loader.py", line 88, in _wait_for_ack
raise CmdException("No response to %s" % info)
__main__.CmdException: No response to 0x0
以下是一些提示:
在重置/加電電路板之前連接串行電纜。 否則一些瞬態可能會破壞串行引導加載程序。
確保使用的是TTL級USB轉串口轉換器而不是RS-232電纜。 RS-232具有反轉電平,更糟糕的是,其-15V至15V的電壓范圍可以燒毀您的STM32。
確保RX和TX正確連接。
請嘗試使用stm32flash
。
我記得大多數STM32的串行引導加載程序不支持高於115200的波特率。 引導加載程序可以自動檢測波特率,我通常使用的是57600。
其中一些芯片與鎖定的引導加載程序一起發貨。 您將需要使用STM32 Flash加載器演示器來刪除保護。 不幸的是Windows,但一旦解鎖,你可以使用任何機器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.