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