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

读出来的时候这个地址数据是全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软件操作也可以。
作者:~狂想家~