码迷,mamicode.com
首页 > 其他好文 > 详细

【mark】OS是不是使用svc方式分开系统空间和用户空间

时间:2019-04-18 20:11:09      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:href   lin   使用   svc   方式   free   cortex-m   系统   www.   

对于Cortex-M单片机,用户程序调用RTOS系统函数有两种思路:

假设创建任务的RTOS函数是xxx_task_create()

第一类:FreeRTOS、RT-Thread中采用的方法,和调用普通的用户函数一样,xxx_task_create()调用直接执行任务创建代码
第二类:RTX、zephyr中采用的方法,xxx_task_create()中并没有任务创建代码,xxx_task_create()调用会执行SVC指令,触发SVC中断,在SVC_Handler()中根据参数调用相应的RTOS函数从而创建任务,,这种方法更类似于Windows、Linux等大型OS中系统调用采用的方法

那么第二种方法会比第一种方法更安全吗?

另外,除了上面提到的RTX、zephyr,,还有哪些RTOS采用SVC的方法实现系统调用?

https://www.amobbs.com/thread-5695667-1-1.html

【mark】OS是不是使用svc方式分开系统空间和用户空间

标签:href   lin   使用   svc   方式   free   cortex-m   系统   www.   

原文地址:https://www.cnblogs.com/mic-chen/p/10731829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!