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.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...