tzz1983 发表于 2024-5-8 11:57:26

fanxsp 发表于 2024-5-8 11:43
昨天我仔细梳理了一下,上下文切换,不关总中断,只关PendSV, 应该是可以的,要做个程序测试一下,你也 ...
我是任务级也在PendSV里切换,所以不存在切换重入,也不存在关PendSV.


我没有你做的效率那么高, 就是不管任务级还是中断级, 都会全寄存器入栈,统一用PendSV处理
这样的好处是代码不用搞几份,缺点是牺牲了一些效率, 所幸的是不关中断这个好处,
足以抵消所有坏处,而对于任务级响应,不差这几个微秒

我想了一下,你的区分任务级和中断级切换,应该也是可以实现的,只需要在任务级切换时,
关掉PendSV,而不是关掉全部中断



杨为民 发表于 2024-5-8 12:03:00

tzz1983 发表于 2024-5-8 11:57
我是任务级也在PendSV里切换,所以不存在切换重入,也不存在关PendSV.




为什么不试试呢?

tzz1983 发表于 2024-5-8 12:05:14

本帖最后由 tzz1983 于 2024-5-8 12:07 编辑

fanxsp 发表于 2024-5-8 11:43
昨天我仔细梳理了一下,上下文切换,不关总中断,只关PendSV, 应该是可以的,要做个程序测试一下,你也 ...
但是还是得实践,我对你的代码也不是很熟悉,你是用链来处理优先级的,这个PendSV和高优中断调用OS服务就可能有交叉访问,实际上访问核心全局变是时还是得关中断,只是搬运的时候可以免

fanxsp 发表于 2024-5-8 12:11:25

杨为民 发表于 2024-5-8 12:03
为什么不试试呢?

已经做了,现在是要做一个测试程序,比较严格的测试一下

杨为民 发表于 2024-5-8 12:12:08

CosyOS 发表于 2024-5-8 11:03
Keil RTX 4/5 是完全继承并发展了 Arm 对 OS 的设计思想,
其它许多 RTOS 都仅是部分借鉴,如在 PendSV 中 ...

要不你也把你的“零中断延迟”的M3/M4上的CosyOS-II的测试程序也放上来,和我移植的uC/OS-II比较一下?
不争RTX4/5的理念和方法是不是创新,不争别人的RTOS是不是“墨守成规”。
只具体比较一下你的CosyOS-II是否实现了“高优先级中断零延迟”,我移植的uC/OS-II关闭总中断是否造成了“高优先级中断延迟”,同时再比较一下排行榜上的指标?
比一比不就知道了?用具体的数字和事实说话,行吗?

CosyOS 发表于 2024-5-8 12:12:59

本帖最后由 CosyOS 于 2024-5-8 12:20 编辑



我再重复介绍一遍,由ARM设计的、现代的、“安全关键” 的OS思想。
“安全关键” 主要包括 两方面内容,空间隔离 和 时间隔离。

任务中调用的服务,通过调用SVC来间接执行;
中断中调用的服务(中断挂起服务),通过触发PendSV来缓期执行。
实现了 用户代码 与 内核服务 的空间隔离、任务服务 与 中断服务 的空间隔离。(两对空间隔离)

空间隔离的优势:
1、内核服务可以经过充分的测试,从而能使系统更加健壮和可靠。
2、任务无需在特权级下运行,可以运行在用户级(无法直接访问关键寄存器),
   用户程序无需承担因误操作而瘫痪整个系统的风险。
3、如果在任务中调用中断服务(必将触发PendSV),由于权限不够,会引发总线 fault。
4、如果在中断中调用任务服务(必将触发SVC),由于用法错误,将上访成硬 fault。
从而全面提升整个系统的安全性和可靠性。



任务应工作在“用户级”,而不是“特权级”,
以免因用户误操作,错误修改关键寄存器,
这样才更符合“安全关键”!


关于时间隔离以后再介绍。






CosyOS 发表于 2024-5-8 12:18:34

杨为民 发表于 2024-5-8 12:12
要不你也把你的“零中断延迟”的M3/M4上的CosyOS-II的测试程序也放上来,和我移植的uC/OS-II比较一下?
...

好的,杨老师,理论说的已经够多的了,不再说了,
我抽空整理一下测试程序,发上来。


杨为民 发表于 2024-5-8 12:18:36

fanxsp 发表于 2024-5-8 12:11
已经做了,现在是要做一个测试程序,比较严格的测试一下

你就按照排行榜的程序把你的新版本发上来,我准备将在STC8H在测试比较专门发一个帖子,希望得到你的支持。
大家一起来研究一下“不关闭总中断”的临界区保护方法,如果技术成熟,每个本尊都有“关闭总中断”和“不关闭总中断”的临界区保护方法两个版本,
对于STC单片机用户而言,鱼与熊掌就都有了。

fanxsp 发表于 2024-5-8 12:21:00

杨为民 发表于 2024-5-8 12:18
你就按照排行榜的程序把你的新版本发上来,我准备将在STC8H在测试比较专门发一个帖子,希望得到你的支持 ...

还是要关总中断的,只是在任务切换过程,不用全程关总中断,只关一小段时间。

杨为民 发表于 2024-5-8 12:26:17

CosyOS 发表于 2024-5-8 12:18
好的,杨老师,理论说的已经够多的了,不再说了,
我抽空整理一下测试程序,发上来。



谢谢支持。
其实对于STC单片机用户而言,有越多的RTOS和种类供他选择,越好。
从中国古人的烧烤一种口味,到现在的超过八大菜系缤纷美食,管它食品协会的大佬说什么,老百姓得到更多的选择才是王道。
从本质上说,排行榜就是各位本尊向大家展示和提供免费品尝的食品博览会

页: 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29
查看完整版本: 原创极简的51-MCU专用RTOS TinyRTOS51