之前发过的SVC相关的贴子:
Cortex M处理器汇编语言编程之四:扩展,倒序,SVC,MRS, MSR
简单讲,SVC相当于操作系统的系统调用, 如早期DOS系统的INT 15, 在Tricore内核中这个指令对应的名称就叫作System Call, Cortex M内核中叫做SVC, 作用是一样的.
就是用作用户态调用内核态的服务请求, 比如Linux中的SystemCall调用图解:
可以想象到的是, 只有使用OS的应用才会使用到这个指令. 另外即使你的应用没有使用OS, 但是区分了privileged与unprivileged两个层面的权限, 也需要这个指令实现两个权限层面的通信.
Cortex M0内核而言, 没有权限的概念, 所以就是在使用OS的时候才会使用到这个指令. 本贴分享下使用MDK编译工具编写通用的SVC Handler的例子.
只有注册用户才能在此添加评论。 如果您已经注册,请登录。 如果您还没有注册,请注册并登录。