硬汉嵌入式论坛

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

[RL-RTX] 关于SVC中断的优先级问题

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2025-12-12 11:51:15 | 显示全部楼层 |阅读模式
想请教一下关于SVC优先级的问题,最近再看编程手册(cotexM3   cotexM7),根据手册的描述,SVC的中断优先级是可以设置的,并且SVC属于“Synchronous”中断,根据手册描述“For an asynchronous exception, other than reset, the processor can execute additional instructions between when the exception is triggered and when the processor enters the exception handler.”,是不是说“Synchronous”中断触发时必须立即运行中断处理函数,网上搜索也说SVC中断不可挂起,那么是不是说在所有用到的中断中,SVC的优先级必须设置成最高的。如果不是,如果在一个更高优先级的中断处理函数中调用SVC指令触发SVC中断会发生什么,如果在SVC中断处理函数运行的过程中触发了更高优先级的中断又会发生什么。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-12 14:52:15 | 显示全部楼层
这个就看你的应用需求了,如果需要基于SVC的API立即执行,设置成最高。如果其他中断实时性要求高,就设置的更高即可

SVC没有必须设置成最高的要求。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-12-14 21:54:10 | 显示全部楼层
“Executing the SVC instruction, while the current execution priority level is greater than or equal to that of the SVCall handler, results in a fault being generated.”  cotex-M0+ 的编程手册里有这样的描述,从更高优先级的中断函数中触发SVC中断会产生硬件错误,并且基于HC32l130芯片也验证了这一点,M0  M3   M7的编程手册中均没有相关说明,大概率会有一样的问题,后续有时间会进一步验证。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-15 00:02:26 | 显示全部楼层
huangqingbo 发表于 2025-12-14 21:54
“Executing the SVC instruction, while the current execution priority level is greater than or equal ...

不好意思,没有认真看楼主位问题。

其他M内核也是这样的,调用会触强制硬件异常。并且RTX中断里面调用API,也不会去调用SVC版

SVC异常.png




回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2025-12-15 14:20:47 | 显示全部楼层
eric2013 发表于 2025-12-15 00:02
不好意思,没有认真看楼主位问题。

其他M内核也是这样的,调用会触强制硬件异常。并且RTX中断里面调用 ...

非常感谢解答
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-10 08:10 , Processed in 0.062115 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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