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