《STM32 IAP损坏导致USB设备识别异常:全芯片擦除恢复指南》
·
因为我最近在做electronbot的电子机器人的项目,我原本主芯片的板子完全正常,pc端也能识别到这个板子的设备名称,因为我之前已经烧录了IAP,如图所示,正常情况下是能识别到串口和设备名称的。可是在一次在我板子的运行过程中,PC端发出了一些错误的指令,让程序跑飞了,后面板子就完全无法运行,出现了能识别到串口,但是无法使用串口助手烧录任何程序,电脑设备管理器里也无法识别到设备了。
因为这个过程我没有对硬件部分进行损坏或者改动,所以我初步判断是原本芯片中的API程序损坏,所以我就使用st-link和STM32 ST-LINK Utility软件重新烧录API文件,结果发现,还是无法识别设备,串口助手依旧不能烧录文件,也就是无法将代码导入到芯片。
根据我的了解,这个原因可能是因为芯片程序跑飞之后,我重新烧录IAP,但是新的IAP程序只能覆盖更新IAP主代码区,但是芯片其他区域还是有残留错误值,所以想要重新初始化芯片,那么就必须进行“全芯片擦除”。

所以我们需要先擦除芯片的残留错误信息,用ST-Link连接芯片之后,使用STM32 ST-LINK Utility软件进行连接,连接好之后,点击"Target" → "Connect",等待提示连接完成,→ "Erase Chip"

在弹出的确认窗口点击 "Yes"

等待擦除完成就行了。之后就可以重新烧录IAP,板子也能正常运行了,设备也能重新识别。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)