fanxsp
发表于 2024-5-5 23:31:02
本帖最后由 fanxsp 于 2024-5-5 23:33 编辑
cnwans 发表于 2024-5-3 21:23
看了一下说明文档,要求配置8级编译器优化,勾选LX51和AX51,以及内存设置为Small。我的现有工程使用STC8H3 ...
存储模式不是一定要small也可以是large, large模式代码量会稍微大一些,对性能也有一定影响。新版已改进,内核函数固定申明为small,用户可以根据需要选择small compact 或large.
zhudean11
发表于 2024-5-6 08:29:59
下载看看,学习一下。感谢分享
杨为民
发表于 2024-5-6 22:11:57
CosyOS 发表于 2024-5-4 21:28
好的杨老师,对相关问题,我要做进一步的和更为全面的,研究、分析、和反思,
不能天天只盯着“零中断延 ...
测量结果已经出来,也可能不准确,你自己也测测
《“零中断延迟”是否可以实现: RTOS的最大中断延迟时间测量》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=8196&page=1&extra=#pid76832)
fanxsp
发表于 2024-5-6 22:36:57
本帖最后由 fanxsp 于 2024-5-6 22:51 编辑
杨为民 发表于 2024-5-6 22:11
测量结果已经出来,也可能不准确,你自己也测测
《“零中断延迟”是否可以实现: RTOS的最大中断延迟时间 ...
你说的是对的,“零中断延迟”是不可能的,这个名词我也是在这个论坛上第一次看到,我理解论坛上所说的“零中断延迟”,只是指中断响应不受临界区的影响,并不是正真意义上的零延迟。但是如果中断需要调用系统服务,不管你用什么方法,都是会受临界区的影响的。
CosyOS
发表于 2024-5-7 01:21:50
杨为民 发表于 2024-5-6 22:11
测量结果已经出来,也可能不准确,你自己也测测
《“零中断延迟”是否可以实现: RTOS的最大中断延迟时间 ...
好的杨老师。
CosyOS
发表于 2024-5-7 01:29:47
本帖最后由 CosyOS 于 2024-5-7 01:49 编辑
fanxsp 发表于 2024-5-6 22:36
你说的是对的,“零中断延迟”是不可能的,这个名词我也是在这个论坛上第一次看到,我理解论坛上所说的“ ...
真正的零中断延迟的确是不可能的,
但 CosyOS 可确保 使用了 CosyOS-II 的用户,
用户中断的响应时间与裸机编程是完全相同的,
前提条件是,不能是最低优先级中断,
与是否调用系统服务等其它事宜无关。
杨为民
发表于 2024-5-7 08:46:34
CosyOS 发表于 2024-5-7 01:29
真正的零中断延迟的确是不可能的,
但 CosyOS 可确保 使用了 CosyOS-II 的用户,
用户中断的响应时间与裸 ...
(1)“真正的零中断延迟的确是不可能的”。这个结论我在进行对比研究后很赞同。
所以结论是:一切“零中断延迟”都“不是真正的”,都是“假的”或者都是“有条件的”!
(2)这个论坛里小白很多,为避免误解,建议你以后将“零中断延迟”的表达改为“高优先级中断零延迟”或者“零中断延迟(高优先级)”,这个表达比较科学一点。
tzz1983
发表于 2024-5-7 09:04:05
关于“零中断延迟”的说法, 我站队CosyOS
请参照:
https://www.stcaimcu.com/forum.p ... ptid=7724&pid=71651
这里挑重点: 就是OS没有引起额外的中断延时, 这里不包括硬件中断本身的延时
(比如说:M3硬件响应中断最低是12个时钟,这个延时不能算进OS里, 有没有OS都避免不了)
其次: 被高优阻塞这也是硬件机制,OS不背这锅呀,这是关系到用户如何合理使用的。
最后:零中断延迟, 是指(OS)软件没有引起额外的中断响应延时,不是指绝对的 0 延迟响应。
fanxsp
发表于 2024-5-7 09:31:57
本帖最后由 fanxsp 于 2024-5-7 09:37 编辑
tzz1983 发表于 2024-5-7 09:04
关于“零中断延迟”的说法, 我站队CosyOS
请参照:
https://www.stcaimcu.com/forum.p ... ptid=7724&pid ...
我的意思,其实也不是反对,只要大家把"零中断延迟"这个名词的真正意思理解清楚就可以了,这个词也比较容易造成误解。
tzz1983
发表于 2024-5-7 09:51:11
fanxsp 发表于 2024-5-6 22:36
你说的是对的,“零中断延迟”是不可能的,这个名词我也是在这个论坛上第一次看到,我理解论坛上所说的“ ...
但是如果中断需要调用系统服务,不管你用什么方法,都是会受临界区的影响的。
我理解的CosyOS, 中断调用系统服务时,仍不受临界区影响的。
他使用的方法是,中断需要用系统服务时,发送一个服务请求(可以理解为邮件或队列)给pendSV,
然后激活pendSV, 让pendSV代替高优中断来真正完成系统服务。所以全程都不用关闭除pendSV和滴答之外的中断的。
我对CosyOS的也不熟悉,这个是我自己的猜想,理解对不对,最终还是要CosyOS来评说。