解决STM32使用J-Link可以擦除和读取但是无法烧录问题

现象

使用J-Link烧录模组固件,出现可以读取和擦除,但是无法烧录问题,提示错误如下:

  • ERROR: Programming failed @ address 0x08000080 (program error)
  • End of flash programming
  • ERROR: Program failed
    请添加图片描述
    读出来的时候这个地址数据是全0。使用J-link中的Unsecure Chip也不行。

    使用STM32CubeProgrammer可以连接,但是却无法擦除,错误提示如下:
    Error: Mass erase operation failed.Please verify flash protection
  • 原因

    猜测是因为意外的擦除或烧录导致选项字节出现问题。

    解决

    出现问题时,STM32CubeProgrammer连接后可以读取选项字节:

    选项字节中的Read Out Protection一栏中RDP这个时候读出来会是AA,先改成BB,点击应用,然后再改回AA,点击应用,这个时候就可以烧录。

    或者使用STM32 ST-LINK Utility软件操作也可以。

    作者:~狂想家~

    物联沃分享整理
    物联沃-IOTWORD物联网 » 解决STM32使用J-Link可以擦除和读取但是无法烧录问题

    发表回复