Keil出现invalid rom table错误解决

在调试STM32F411CEU6核心板时遇到代码烧录问题,错误提示'invalidromtable',可能由于ADC1预分频系数配置错误导致超频。断电并重新上电,设置BOOT0为高电平,复位后,芯片从系统存储器启动,问题得以解决。此过程涉及ISP程序和芯片启动模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

调试F411CEU6核心板时,突然无法进行代码烧录。出现"invalid rom table"报错,出现这个原因很可能是因为超频导致的,很可能是我在ADC1进行预分频系数配置时发生错误。

一开始会出现上面的错误,但此时使用的仿真器是连接正常的。下面再次烧录,就会报 "invalid rom table"错误。

 

解决办法:

1、芯片断电;

2、重新上电,将BOOT0引脚置1,按下复位键,这时再下载就没有问题了。

原理分析:

 断电后,重新上电,将BOOT引脚置为高电平,按下复位键,这时候芯片就会从System memory (系统存储器)区域开始执行bootloader程序。特别的是,这一块的程序是厂家设定的,就是ISP程序,用户是不可以更改的。

通常购买的开发板上,BOOT0和BOOT1引脚都是使用跳帽和GND相连,即BOOT0 = 0,BOOT1=0,也就是第一种模式,即main  flash memory mode.这样,在复位后,芯片就会从芯片内置的FLASH启动程序,我们一般下载程序就是下载到内部FLASH里面的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值