打印
[STM32F1]

1求牛人:为什么进入HardFaultException异常

[复制链接]
1206|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gzzcq|  楼主 | 2014-5-16 16:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gzzcq 于 2014-5-16 16:16 编辑

用的CPU是STM32F105VCT6
我的整个应用分成2个工程,分别为工程1,工程2
工程1的代码在0x08000000开始的96K范围内,工程1里面会设置STACK,HEAP
工程2的代码在0x08018000开始的96K范围内,工程2的入口地址固定在0x08018000,不会设置STACK,HEAP
工程1里面会有(对于工程1来说,工程2相当于一个函数,这里工程1直接调用)

LDR          r0,=0x08018000    ;工程2的入口地址   
bx        r0                                ;执行这一句就进入HardFaultException异常
沙发
airwill| | 2014-5-16 16:18 | 只看该作者
本帖最后由 airwill 于 2014-5-16 16:51 编辑

thumb 状态, 程序指针必须奇数. 这样改一下

LDR          r0,=0x08018001      
bx        r0

另外, 目标地址是不是一条非法指令?

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
gzzcq + 3 很给力!
板凳
icecut| | 2014-5-16 16:27 | 只看该作者
还有一个方法就是把功能用分散加载描述文件,写明白编译到什么位置.到时候直接烧录过去.

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
gzzcq + 3 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

34

帖子

0

粉丝