电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区
论坛
开发板专区
【STM32F412-DISCO 开发板试用体验】+Invalid ROM Tab解决方法
【STM32F412-DISCO 开发板试用体验】+Invalid ROM Tab解决方法
开发
泡沫113355
LV3工程师
| 2017-05-07 14:28:31
浏览量 1288
回复:0
发表新帖
今天在调试程序的时候出现Invalid ROM Tab的错误,然后程序就开始无法下载到开发板中去了。
网上查了一下,按照网友的方法解决了这个问题。这里我分析一下原因。我按照Syetem Clock为100M,8M的外部晶振对PLL、和Syetem Clock Source、AHB prescaler进行时钟相关的配置,但由于板卡上没有晶振,在SetSysClock()函数中在外部时钟源一直无法就绪的情况下将PLL Source切换为16M的高速内部晶振,也就是说芯片超频到200M。
解决方法1:用串口工具擦除芯片。
解决方法2:将板卡上的BOOT0拉高,然后复位,让MCU就会进入bootloader,在bootloader中烧写程序,烧写成功一次后还原BOOT0为0,就可以用ST-LINK直接下载了。
STM32启动方式:
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。ISP
今天在调试程序的时候出现Invalid ROM Tab的错误,然后程序就开始无法下载到开发板中去了。
网上查了一下,按照网友的方法解决了这个问题。这里我分析一下原因。我按照Syetem Clock为100M,8M的外部晶振对PLL、和Syetem Clock Source、AHB prescaler进行时钟相关的配置,但由于板卡上没有晶振,在SetSysClock()函数中在外部时钟源一直无法就绪的情况下将PLL Source切换为16M的高速内部晶振,也就是说芯片超频到200M。
解决方法1:用串口工具擦除芯片。
解决方法2:将板卡上的BOOT0拉高,然后复位,让MCU就会进入bootloader,在bootloader中烧写程序,烧写成功一次后还原BOOT0为0,就可以用ST-LINK直接下载了。
STM32启动方式:
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。ISP
0
收藏
举报
分享
×
微信分享
扫描二维码分享
qq分享
QQ空间分享
微博分享
我来回复
登录后可评论,请
登录
或
注册
所有回答
数量:
0
×
举报
举报人:
被举报人:泡沫113355
*
类型:
请选择类型
问题质量差
垃圾广告信息
偏离社区主题
违规内容
不友善内容
与社区已有问题重复
以上选项都不是
*
详细原因:
取消
提交
x
收藏成功!点击
我的收藏
查看收藏的全部帖子