微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何通过串口闪存STM32

我有一个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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐