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

查看: 3614|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版