公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

XMC实验分享之九十: 编写通用的SVC请求调用

XMC实验分享之九十: 编写通用的SVC请求调用

User12775
Level 5
Level 5
First solution authored First like received

之前发过的SVC相关的贴子:



 XMC1实验分享之三十四:SVC指令及其Handler


RTOS教程_4 信号_中断信号_SVC


Cortex M处理器汇编语言编程之四:扩展,倒序,SVC,MRS, MSR


简单讲,SVC相当于操作系统的系统调用, 如早期DOS系统的INT 15, 在Tricore内核中这个指令对应的名称就叫作System Call, Cortex M内核中叫做SVC, 作用是一样的.


就是用作用户态调用内核态的服务请求, 比如Linux中的SystemCall调用图解:

linux_systemcall.jpg

可以想象到的是, 只有使用OS的应用才会使用到这个指令. 另外即使你的应用没有使用OS, 但是区分了privileged与unprivileged两个层面的权限, 也需要这个指令实现两个权限层面的通信.


Cortex M0内核而言, 没有权限的概念, 所以就是在使用OS的时候才会使用到这个指令. 本贴分享下使用MDK编译工具编写通用的SVC Handler的例子.

0 点赞
1705 次查看
2 评论