关于SVCall和Pendsv

2019-08-08 13:00发布

各位大神:             SVCall和Pendsv在裸奔时候是否可以用,中断的优先级是怎么样的,是否和外部中断一样具有抢占和响应优先级,如果有怎么配置?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
xkwy
1楼-- · 2019-08-08 16:32
它的优先级很高:
0.png

你可以使用CMSIS提供的服务函数来对其进行配置

n.png

q.png

除了NVIC_EnableIRQ()等函数明确提到“IRQn cannot be a negative value”外
其他诸如NVIC_SetPriority()等函数是可以用的,
CMSIS很方便,兼容性又好,还不会出错

/*
如上界面是一个网页,也是CMSIS的帮助资料,
可以访问 http://www.keil.com/pack/doc/CMSIS/General/html/index.html
也可以在代码中输入NVIC_DisableIRQ(或其他CMSIS提供的服务函数),然后按F1,
可直接打开本地版的CMSIS帮助资料
*/





FreeRTOS
2楼-- · 2019-08-08 17:32
中断本来就跟跑系统或裸奔没关系,这两个中断都属于手动产生的中断,至于用于什么用途就看你自己的想法了,SVC中断一般用于操作系统启动时,而PendSV一般用于操作系统手动切换任务,如果你想裸机使用PendSV也是没问题了,例如你按下按键KEY1时,手动产生PendSV中断,在中断里面点亮LED
trybye
3楼-- · 2019-08-08 21:38
FreeRTOS 发表于 2016-3-2 10:21
中断本来就跟跑系统或裸奔没关系,这两个中断都属于手动产生的中断,至于用于什么用途就看你自己的想法了, ...

SVCall的全称是什么
业未央
4楼-- · 2019-08-09 00:50
trybye 发表于 2016-6-7 15:02
SVCall的全称是什么

系统服务调用

一周热门 更多>