无法使用JTAG接口对STM32 MCU进行编程

时间:2018-11-14 07:11:37

标签: embedded stm32 jtag

enter image description here

MCU:STM32L496

JFlash版本:v6.32i

当我们尝试使用STM32 MCU对电路板进行编程时,我们面临着“重置时目标无法连接”的问题。

之前,我们正在为电路板编程。该错误开始突然出现,现在我们无法对开发板进行编程。当我们确定MCU的复位引脚的范围时,当我们单击JFlash中的连接按钮时,复位引脚将变为低电平,并且很明显该板正在复位(我们可以看到固件功能正在重新启动)。

我们尝试了以下操作:

将BOOT0引脚连接到VDD,并尝试引导至系统存储器,然后尝试编程。但这没有任何区别。

尝试在尝试闪烁时始终将复位引脚下拉至GND。 我们确保通往MCU的JTAG接口的轨道没有问题。

您能帮助解决这种情况吗?

MCU中当前正在运行的固件是否有可能阻止闪烁并锁定设备?

2 个答案:

答案 0 :(得分:0)

STM32L4具有一项称为读出保护(RDP)的功能。请参见AN4758的1.1节。如果您的固件应用程序有意或无意地将“选项字节”存储区中的RDP级别设置为1或2,则SWD / JTAG端口将被禁止访问闪存(读取,写入和擦除)。

如果RDP为0或1级,则您应该能够读取选项字节存储区。如果RDP为1级,则应该能够将其设置为0级。将RDP设置为0级时,闪存将被擦除,但是SWD / JTAG端口将被重新启用。如果RDP级别为2,那么我相信没有办法将其重置。

答案 1 :(得分:0)

这是STM32 SWD接口的常见问题。为了成功编程,您不应使用ST链接电源为自定义板/其他硬件供电,而应使GND连接成为公共电源并由外部电源供电。而且,如果您仅将ST链接用于编程而不是将其用于调试,则应使用STM32引导加载程序(更简单)。