簡體   English   中英

如何通過串口閃存STM32

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM