新闻  |   论坛  |   博客  |   在线研讨会
如何拯救烧错固件的单片机?(一)
鱼鹰谈单片机 | 2021-04-16 11:57:11    阅读:2682   发布文章

在使用步兵主控开发板时(STM32F405RGT6,晶振 25M),使用原子的工程(STM32F4075ZGTx,晶振 8M)的 device 修改成 STM32F405RGT6 和必要的其它修改,程序下载后导致芯片不能继续下载,可能的原因是晶振频率修改错误,该错误解决办法:

将 stm32f4xx.h和 system_stm32f4xx.c 的晶振频率进行修改,如下所示:

1.png2.png

由于步兵主控板芯片晶振频率为25MHz,所以我们需要把晶振频率进行修改,在这两个地方进行修改,将8 都改为 25 就可以了,但是如果已经导致不能下载程序,出现下面的警告:

3.png4.png

使用以下方法解决(顺序很重要):

先将 BOOT0 引脚置高电平,BOOT1 置低电平,然后复位,最后点击下载,当正在下载时就可以将 BOOT0 引脚重新置为低电平。目的就是一开始让芯片进入 bootloader 程序,此时就可以进行下载程序了。如果没有复位按键,那么就可以先将 BOOT0 接入高电平(默认 BOOT0,BOOT1 一般是通过电阻接低电平的,所以此时只需将 BOOT0 引出接入高电平),然后上电(相当于复位了),最后点击下载,当程序正在下载时就可以不接高电平了。

另外一个方法是使用 keil软件 flash 菜单的擦除选项,首先擦除整个应用程序(擦除的目的是让单片机不运行错误的时钟配置程序导致出错),然后点击下载,前提还是需要修改文件并编译后才能正常下载,这样就不需要使用复位按键。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客