CM3 SVC和PendSV

SVC--系统服务调用,PendSV--可悬起系统调用,多用在系统软件开发中。SVC用于产生系统函数的调用请求,例如操作系统不让用户程序直接访问硬件,而是通过一些系统服务函数,让用户程序使用SVC发出对系统服务函数的呼叫请求,以此来间接访问硬件。NMI服务例程不能使用SVC指令,否则产生硬fault。SVC异常必须得到立即响应,否则将会产生硬fault。

PendSV像普通中断一样可以被悬起。悬起PendSv的方法:手动往PendSV悬起寄存器写1。悬起后如果优先级不够高,将缓期等待执行。Pendsv的典型应用是上下文切换。

CM3 SVC和PendSV