繁体   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