硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2708|回复: 3
收起左侧

[RL-RTX] 救助,rtx中的os_time_get()函数在中断中的调用出现hardfault

[复制链接]

3

主题

4

回帖

3

积分

新手上路

积分
3
发表于 2017-6-30 12:26:10 | 显示全部楼层 |阅读模式
我在工程中的串口中断中调用os_time_get()这个函数,发现每次运行到此处,都会进入hardfault,正常任务中访问没有问题,百度谷歌都未果,难道这个函数不能再中断中调用吗?


万分感谢!
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2017-6-30 13:21:50 | 显示全部楼层
好像os_开头的函数不能在中断中调用,isr_开头的函数才能在中断中调用吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2017-6-30 14:12:45 | 显示全部楼层
os开头的不可用在中断里面,中断里面要用isr开头的函数。而isr开头的没有这个功能,简单点直接获取全局变量os_time的数值就行。
回复

使用道具 举报

5

主题

578

回帖

593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
593
发表于 2017-7-6 14:52:37 | 显示全部楼层
mdk帮助文档没看啊,楼上都给出解释了,原因是因为os_前缀的函数都是通过svc软中断运行的,如果当前中断优先级比svc高,svc无法抢占从而产生hardfault,这个在cm3规范里有
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-14 00:17 , Processed in 0.154936 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表