硬汉嵌入式论坛

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

[RTOS] RTX5使用MDK AC6做SVC用户中断费老劲了,想了个简单的处理办法

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2021-3-19 08:57:52 | 显示全部楼层 |阅读模式


下面是之前做的MDK AC5做SVC中断方法:

烧脑子,分享RTX5的自定义SVC软中断两种实现方法,直接调用__svc_indirect弹了一天的bug,折磨死人
http://www.armbbs.cn/forum.php?mod=viewthread&tid=97322




昨晚想了个最简单处理思路,直接修改个RTX5的API得了,因为RTX5的大部分API都是直接触发SVC中断,在SVC中断里面调用的。

所以直接修改了一个最简单的GetCount函数,只要调用GetCount函数就会触发SVC中断,然后就可以调用用的代码了。


回复

使用道具 举报

29

主题

177

回帖

264

积分

高级会员

积分
264
发表于 2021-3-20 14:36:24 | 显示全部楼层
SVC中断一般拿来做什么用的?硬汉
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2021-3-20 15:50:32 | 显示全部楼层
wlx18682353162 发表于 2021-3-20 14:36
SVC中断一般拿来做什么用的?硬汉

有时候低优先级任务要执行一些不被其它任务打扰,又不想关闭全局中断的时候,可以采用此方法。
回复

使用道具 举报

41

主题

215

回帖

338

积分

高级会员

积分
338
发表于 2021-5-6 21:35:18 | 显示全部楼层
你的意思是说,我在低优先级,然后我调用svc中断,svc中断就产生任务切换,去做另一件事,而切过去的任务又是高优先级的,这样保证吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2021-5-7 07:50:58 | 显示全部楼层
snakeemail 发表于 2021-5-6 21:35
你的意思是说,我在低优先级,然后我调用svc中断,svc中断就产生任务切换,去做另一件事,而切过去的任务又 ...

不是,是SVC中断里面去执行严格时序的功能。
回复

使用道具 举报

9

主题

103

回帖

130

积分

初级会员

积分
130
发表于 2021-5-7 11:25:59 | 显示全部楼层
eric2013 发表于 2021-5-7 07:50
不是,是SVC中断里面去执行严格时序的功能。

和直接关闭调度器有什么区别,没看过RTX
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
 楼主| 发表于 2021-5-8 08:13:01 | 显示全部楼层
xy201207 发表于 2021-5-7 11:25
和直接关闭调度器有什么区别,没看过RTX

防止滴答定时器等低优先级中断的影响。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 04:51 , Processed in 0.193755 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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