什么是PendSV
答案:3 悬赏:30 手机版
解决时间 2021-02-15 17:36
- 提问者网友:你挡着我发光了
- 2021-02-15 04:43
什么是PendSV
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-02-15 05:19
PendSV指可悬起系统调用
一般用在上了操作系统的软件开发中
操作系统通常不让用户程序直接访问硬件,而是通过提供一些系统服务函数,让用户程序使用 SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。因此,当用户程序想要控制特定的硬件时,它就要产生一个 SVC异常,然后操作系统提供的 SVC异常服务例程得到执行,它再调用相关的操作系统函数,后者完成用户程序请求的服务。
一般用在上了操作系统的软件开发中
操作系统通常不让用户程序直接访问硬件,而是通过提供一些系统服务函数,让用户程序使用 SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。因此,当用户程序想要控制特定的硬件时,它就要产生一个 SVC异常,然后操作系统提供的 SVC异常服务例程得到执行,它再调用相关的操作系统函数,后者完成用户程序请求的服务。
全部回答
- 1楼网友:第幾種人
- 2021-02-15 06:48
pendsv是嵌入式os在跑线程任务时特有的功能。因为嵌入式os在响应IRQ时,不可以耽误自身对任务的轮转处理(通过systick异常来切换),同时也不能耽误IRQ处理。所以在轮转上增加了pendservice功能。有图解释的清楚,请参考《CM3权威指南》中关于systick异常的部分。
- 2楼网友:山君与见山
- 2021-02-15 06:26
什么是
PendSV?
PendSV
是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触
发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容在
《
Cortex-M3
权威指南》里有介绍,下面我摘抄了一段。
OS
可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动
作。
悬起
PendSV
的方法是:手工往
NVIC
的
PendSV
悬起寄存器中写
1
。悬起后,如果优先级
不够
高,则将缓期等待执行。
PendSV
的典型使用场合是在上下文切换时(在不同任务之间切换)
。例如,一个系统中
有两个就绪的任务,上下文切换被触发的场合可以是:
PendSV?
PendSV
是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触
发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容在
《
Cortex-M3
权威指南》里有介绍,下面我摘抄了一段。
OS
可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动
作。
悬起
PendSV
的方法是:手工往
NVIC
的
PendSV
悬起寄存器中写
1
。悬起后,如果优先级
不够
高,则将缓期等待执行。
PendSV
的典型使用场合是在上下文切换时(在不同任务之间切换)
。例如,一个系统中
有两个就绪的任务,上下文切换被触发的场合可以是:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯