打印

求助,stm32F4 “can't halt the core”

[复制链接]
9002|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kazenoko99|  楼主 | 2012-8-28 22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
BOOT0=0  BOOT1=0  程序不可以下载  出现 “can't halt the core”
BOOT0=1  BOOT1=1 时程序可以下载  但是不能运行
   所以以前网上的办法 从RAM启动后加入
       NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
       NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
   无法解决问题
      急求解决
沙发
airwill| | 2012-8-29 13:04 | 只看该作者
“can't halt the core” 通常在调试器进行调试的时候出现.
跟调试器, 驱动, 连线等因素有关.
至于 BOOT0,  BOOT1的设置嘛, 不同的设置嘛, 就要更改NVIC_VectTab_FLASH,
跟楼主的错误信息没有直接关系

使用特权

评论回复
板凳
lvjing880907| | 2012-8-29 15:02 | 只看该作者
楼上说的不错:D

使用特权

评论回复
地板
香水城| | 2012-8-29 17:28 | 只看该作者
BOOT0=0  BOOT1=0  程序不可以下载  出现 “can't halt the core”
因为你原先的代码在芯片上电时直接运行了,并且在运行中要么禁止了调试接口,要么跑飞了,总之不正常了,使调试器无法连接内核,所以报错

BOOT0=1  BOOT1=1 时程序可以下载  但是不能运行
因为上电时没有运行FLASH中的代码,所以调试器可以正常连接内核,进行烧录,但是因为从RAM BOOT了,中断向量表位置不对,所以不能运行

所以以前网上的办法 从RAM启动后加入
       NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
       NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

网上的解决办法只对IAR有效,对MDK无效,具体原因不细说了,而且只要加NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); 就行


另外,真正的解决办法是仔细看你的代码,为什么你的代码一运行调试器就不能正常连接内核了

使用特权

评论回复
5
figo20042005| | 2012-8-29 22:41 | 只看该作者
香主说的比较全面

使用特权

评论回复
6
guansai888| | 2016-1-22 09:34 | 只看该作者
香水城 发表于 2012-8-29 17:28
BOOT0=0  BOOT1=0  程序不可以下载  出现 “can't halt the core”
因为你原先的代码在芯片上电时直接运行 ...

讲的好!
先用boot0 boot1 全部设置成1,然后用STM32 ST-LINK Utility链接上,再将ROM全部擦除!就恢复正常了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝