CosyOS 发表于 2024-5-23 13:09:41

关于此次崩溃事件,我以上的分析还是有出入的,
不是 挂起服务队列的持续溢出 造成的(如果是 Arm 的话,那就是这个原因),
是 因为 在 PendSV 中,始终是在永不停息的执行挂起服务 iResumeTask(task_3) 造成的。

重要的事情,还是说,我们要了解 中断挂起服务 的特性,
CosyOS 的中断挂起服务,仅支持有限的并发调用,
如果是无限的并发调用,一定会出问题。

客观的说,关总中断处理临界段的方法就不会存在这样的问题。


CosyOS 发表于 2024-5-23 13:13:28

杨为民 发表于 2024-5-23 12:54
“对于这种极端测试情况,CosyOS 确实是无法胜任的,建议用户更换其它RTOS来实现。”

我可以把这句话理 ...

对于本次的测试情况来说,
我相信 “关闭总中断处理临界段的方法” 是不会出现这个问题的,
所以,无需。。。

CosyOS 发表于 2024-5-23 13:34:16

杨为民 发表于 2024-5-23 12:54
“对于这种极端测试情况,CosyOS 确实是无法胜任的,建议用户更换其它RTOS来实现。”

我可以把这句话理 ...

对于 关闭总中断处理临界段的方法,
我认为虽然不会导致任务没有机会运行,
但对于本次的测试来说,各个任务运行起来也会非常缓慢,
但确实都能运行起来。


杨为民 发表于 2024-5-23 13:36:59

tzz1983 发表于 2024-5-23 07:50
杨老师,你排查一下是否是因为CPU使用率超过100%了,这么高频的周期中断,完全可能的。
如果是这样,则造成 ...

“对于本次的测试情况来说,我相信 “关闭总中断处理临界段的方法” 是不会出现这个问题的,所以,无需。。。”

tzz1983:喂,别看热闹乱插嘴了,正经回答一下CosyOS的这个问题,你的作品都是关闭总中断的,他说你的作品在这种测试下“是不会出现这个问题的”,你本尊认为呢?

CosyOS 发表于 2024-5-23 13:42:49

光凭理论分析,是分析不准确的,但可以确定的是:
在这种测试情况下,关闭总中断处理临界段的方法,一定会比 CosyOS 好的多。
所以,凡事都有两面性,没有绝对的好或不好,先进或不先进。


杨为民 发表于 2024-5-23 13:46:43

CosyOS 发表于 2024-5-23 13:42
光凭理论分析,是分析不准确的,但可以确定的是:
在这种测试情况下,关闭总中断处理临界段的方法,一定会 ...
“所以,凡事都有两面性,没有绝对的好或不好,先进或不先进。”

这句话可以用在对FreeRTOS和uC/OS等采用“关闭总中断”的单片机主流RTOS
与“不关闭总中断”的RTX4/5和CosyOS的比较上吗?

杨为民 发表于 2024-5-23 14:00:04

CosyOS 发表于 2024-5-23 13:13
对于本次的测试情况来说,
我相信 “关闭总中断处理临界段的方法” 是不会出现这个问题的,
所以,无需。 ...
所以: 本次测试产生崩溃的根本原因还是
CosyOS-II采用“不关闭总中断处理临界段的方法” 造成的

页: 1 [2]
查看完整版本: 华山论剑(3): CosyOS-II-STC8H在测试高优先级中断服务调用时崩溃了