据一些客户反映,他们在使用串口给STM32F429开发板下载程序后,开发板会出现了无法下载的问题,如使用下载器下载时会出现这样的错误:提示“Error:Flash Download failed - “Cortex-M4” ”,如图:
-------------------------------------------------------------------被锁现象----------------------------------------------------------------------------------------
而且确认下载器正常,MDK的下载配置正常,但就是无法下载。
-------------------------------------------------------------------被锁原因----------------------------------------------------------------------------------------
经排查,出现这种情况一般是使用了串口ISP下载软件给芯片下载程序,如:
使用这些ISP串口下载软件后,该软件的bug导致STM32F429芯片的“选项字节”被改写,导致芯片被设置成读写保护,从而无法下载程序。
这些ISP串口下载软件是由一个工作室提供的,但目前已不再更新,它对STM32F429的支持不完善,我们不建议用户继续使用ISP给芯片下载程序。
在STM32的F7系列芯片中,已经完全不支持串口ISP下载的功能,因而我们推荐下载程序时请使用DAP下载器。
-----------------------------------------------------------------解锁方法------------------------------------------------------------------------------------------------------------
如果您的芯片已经出现读写保护导致无法下载程序的问题,可使用如下方法给芯片解锁。
解锁方法:
在SRAM中运行解锁程序:
设置FLASH的读写保护与解除.zip
该程序可在STM32的内部SRAM中运行,修改选项字节为默认值,从而解锁STM32的内部FLASH,然后就可以正常下载了。
程序需要被下载到STM32的内部SRAM中,操作步骤如下:
1.跳线帽:把实验板左侧的BOOT0和BOOT1引脚都使用跳帽连接到3.3V
2.使用DAP下载器下载本程序并复位,然后耐心等待板子LED灯由蓝转绿(整个过程在2分钟左右,等待至5分钟还不转绿说明恢复失败)
3.LED灯变为绿灯后,打开其它工程下载程序到STM32的FLASH(如普通的流水灯例程)
4.若还是无法下载,请重试1-3步骤。
5.下载成功后,把BOOT0和BOOT1引脚都使用跳帽连接到GND,
6.复位开发板,观察新的程序是否正常(如流水灯例程时,LED是否正常闪烁)
7.完成。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !