你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3565|回复: 10

【ST工程师 MCU实战经验30篇】使用指针调函数产生 Hard Fault

[复制链接]

43

主题

0

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-30 11:38:47 | 显示全部楼层 |阅读模式
 该问题由某用户提出,发生在 STM32F2xx 器件上。据其工程师讲述:在其产品设计中,使用了第三方的软件库。出于某种原因,第三方不能提供软件库的源代码,只能以二进制映像的形式供其使用。在软件工程中,通过相关设置将该映像定位到某一固定的地址上,用户程序则是通过各个库函数的入口地址来调用相关的库函数。在软件调试过程中,其工程师发现,将库函数的入口地址赋给函数指针,再用函数指针进行函数调用会导致程序跑飞。使用调试器中止程序运行后,发现程序停留在Hard Fault 中断服务程序内。
 
问题详细描述以及ST官方解答见文档: 使用指针调用函数产生 Hard Fault.pdf (157.2 KB, 下载次数: 351)

评分

参与人数 1ST金币 +1 收起 理由
gengwentao + 1

查看全部评分

回复

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-30 11:48:27 | 显示全部楼层

RE:【ST工程师 MCU实战经验30篇】使用指针调函数产生 Hard Fault

我也遇见过......
回复 支持 反对

使用道具 举报

6

主题

90

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-5-17
发表于 2014-3-30 12:24:45 | 显示全部楼层

RE:【ST工程师 MCU实战经验30篇】使用指针调函数产生 Hard Fault

我一看,就知道是什么原因。
肯定是函数指针的最低位不为1,而为0。
基于ARM处理器的历史原因,指令地址的最低位,如果是0,为ARM状态,如果是1,为Thumb状态。
STM32的处理器,是基于Cortex-M的,处理器状态应为Thumb状态,否则,就是非法指令地址,进入Hard Fault也属正常。
回复 支持 反对

使用道具 举报

6

主题

90

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-5-17
发表于 2014-3-30 12:24:50 | 显示全部楼层

RE:【ST工程师 MCU实战经验30篇】使用指针调函数产生 Hard Fault

我一看,就知道是什么原因。
肯定是函数指针的最低位不为1,而为0。
基于ARM处理器的历史原因,指令地址的最低位,如果是0,为ARM状态,如果是1,为Thumb状态。
STM32的处理器,是基于Cortex-M的,处理器状态应为Thumb状态,否则,就是非法指令地址,进入Hard Fault也属正常。
回复 支持 反对

使用道具 举报

4

主题

233

回帖

0

蝴蝶豆

高级会员

最后登录
2019-1-10
发表于 2015-6-10 10:03:22 | 显示全部楼层
学习。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

8

主题

347

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-9-1
发表于 2015-6-10 11:00:08 | 显示全部楼层
学习一下。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-6-10 13:32:34 | 显示全部楼层
学习。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

1

主题

38

回帖

0

蝴蝶豆

中级会员

最后登录
2018-10-9
发表于 2016-3-25 10:33:29 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

4

主题

327

回帖

43

蝴蝶豆

金牌会员

最后登录
2020-11-24
发表于 2016-3-25 11:04:54 | 显示全部楼层
学习了。。。。
回复 支持 反对

使用道具 举报

4

主题

233

回帖

0

蝴蝶豆

高级会员

最后登录
2019-1-10
发表于 2016-5-13 16:48:47 | 显示全部楼层
学习。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版