找回密码
 立即注册
楼主: fanxsp

原创极简的51-MCU专用RTOS TinyRTOS51

  [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 2024-5-5 23:31:02 | 显示全部楼层
本帖最后由 fanxsp 于 2024-5-5 23:33 编辑
cnw*** 发表于 2024-5-3 21:23
看了一下说明文档,要求配置8级编译器优化,勾选LX51和AX51,以及内存设置为Small。我的现有工程使用STC8H3 ...

存储模式不是一定要small  也可以是large, large模式代码量会稍微大一些,对性能也有一定影响。新版已改进,内核函数固定申明为small,用户可以根据需要选择small compact 或large.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:488
  • 最近打卡:2025-05-02 07:02:30
已绑定手机

27

主题

693

回帖

1954

积分

金牌会员

打工人

积分
1954
发表于 2024-5-6 08:29:59 | 显示全部楼层
下载看看,学习一下。感谢分享
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-5-6 22:11:57 | 显示全部楼层
Cos*** 发表于 2024-5-4 21:28
好的杨老师,对相关问题,我要做进一步的和更为全面的,研究、分析、和反思,
不能天天只盯着“零中断延 ...

测量结果已经出来,也可能不准确,你自己也测测
《“零中断延迟”是否可以实现: RTOS的最大中断延迟时间测量》(https://www.stcaimcu.com/forum.p ... amp;extra=#pid76832

点评

好的杨老师。  详情 回复 发表于 2024-5-7 01:21
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 2024-5-6 22:36:57 | 显示全部楼层
本帖最后由 fanxsp 于 2024-5-6 22:51 编辑
杨*** 发表于 2024-5-6 22:11
测量结果已经出来,也可能不准确,你自己也测测
《“零中断延迟”是否可以实现: RTOS的最大中断延迟时间 ...

你说的是对的,“零中断延迟”是不可能的,这个名词我也是在这个论坛上第一次看到,我理解论坛上所说的“零中断延迟”,只是指中断响应不受临界区的影响,并不是正真意义上的零延迟。但是如果中断需要调用系统服务,不管你用什么方法,都是会受临界区的影响的。

点评

我理解的CosyOS, 中断调用系统服务时,仍不受临界区影响的。 他使用的方法是,中断需要用系统服务时,发送一个服务请求(可以理解为邮件或队列)给pendSV, 然后激活pendSV, 让pendSV代替高优中断来真正完成系统服  详情 回复 发表于 2024-5-7 09:51
真正的零中断延迟的确是不可能的, 但 CosyOS 可确保 使用了 CosyOS-II 的用户, 用户中断的响应时间与裸机编程是完全相同的, 前提条件是,不能是最低优先级中断, 与是否调用系统服务等其它事宜无关。  详情 回复 发表于 2024-5-7 01:29
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2025-05-02 20:23:18

5

主题

1127

回帖

4267

积分

荣誉版主

积分
4267
发表于 2024-5-7 01:21:50 | 显示全部楼层
杨*** 发表于 2024-5-6 22:11
测量结果已经出来,也可能不准确,你自己也测测
《“零中断延迟”是否可以实现: RTOS的最大中断延迟时间 ...

好的杨老师。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2025-05-02 20:23:18

5

主题

1127

回帖

4267

积分

荣誉版主

积分
4267
发表于 2024-5-7 01:29:47 | 显示全部楼层
本帖最后由 CosyOS 于 2024-5-7 01:49 编辑
fan*** 发表于 2024-5-6 22:36
你说的是对的,“零中断延迟”是不可能的,这个名词我也是在这个论坛上第一次看到,我理解论坛上所说的“ ...

真正的零中断延迟的确是不可能的,
但 CosyOS 可确保 使用了 CosyOS-II 的用户,
用户中断的响应时间与裸机编程是完全相同的,

前提条件是,不能是最低优先级中断,
与是否调用系统服务等其它事宜无关。

点评

(1)“前提条件是,不能是最低优先级中断”。具体问题必须具体分析,对于STC32G系列单片机,其中断结构如下图: [attachimg]43383[/attachimg] 其中最低优先级至少包括了INT2、INT3、Timer2、Timer3和Timer4,这  详情 回复 发表于 2024-5-7 09:55
(1)“真正的零中断延迟的确是不可能的”。这个结论我在进行对比研究后很赞同。 所以结论是:一切“零中断延迟”都“不是真正的”,都是“假的”或者都是“有条件的”! (2)这个论坛里小白很多,为避免误解,建议  详情 回复 发表于 2024-5-7 08:46
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-5-7 08:46:34 | 显示全部楼层
Cos*** 发表于 2024-5-7 01:29
真正的零中断延迟的确是不可能的,
但 CosyOS 可确保 使用了 CosyOS-II 的用户,
用户中断的响应时间与裸 ...

(1)“真正的零中断延迟的确是不可能的”。这个结论我在进行对比研究后很赞同。
所以结论是:一切“零中断延迟”都“不是真正的”,都是“假的”或者都是“有条件的”!
(2)这个论坛里小白很多,为避免误解,建议你以后将“零中断延迟”的表达改为“高优先级中断零延迟”或者中断延迟(高优先级这个表达比较科学一点


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 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 延迟响应。

点评

(1)“关于“零中断延迟”的说法, 我站队CosyOS”,呵呵,双标 请问你最新移植的“uC/OS-II@STC8H”为什么不像CosyOS采用“不关闭总中断”的临界区保护方法?既然你们的理念相同,是你的技术不行吗?哈哈,打脸  详情 回复 发表于 2024-5-7 10:15
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 2024-5-7 09:31:57 | 显示全部楼层
本帖最后由 fanxsp 于 2024-5-7 09:37 编辑
tzz1*** 发表于 2024-5-7 09:04
关于“零中断延迟”的说法, 我站队CosyOS
请参照:
https://www.stcaimcu.com/forum.p ... ptid=7724&pid ...

我的意思,其实也不是反对,只要大家把"零中断延迟"这个名词的真正意思理解清楚就可以了,这个词也比较容易造成误解。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-04-30 07:46:22

33

主题

1079

回帖

2319

积分

荣誉版主

积分
2319
发表于 2024-5-7 09:51:11 | 显示全部楼层
fan*** 发表于 2024-5-6 22:36
你说的是对的,“零中断延迟”是不可能的,这个名词我也是在这个论坛上第一次看到,我理解论坛上所说的“ ...
但是如果中断需要调用系统服务,不管你用什么方法,都是会受临界区的影响的。

我理解的CosyOS, 中断调用系统服务时,仍不受临界区影响的。
他使用的方法是,中断需要用系统服务时,发送一个服务请求(可以理解为邮件或队列)给pendSV,
然后激活pendSV, 让pendSV代替高优中断来真正完成系统服务。所以全程都不用关闭除pendSV和滴答之外的中断的。
我对CosyOS的也不熟悉,这个是我自己的猜想,理解对不对,最终还是要CosyOS来评说。

点评

你的理解很正确,而且如果你看过反汇编就会知道,CosyOS 中断挂起服务的调用 有多么高效!  发表于 2024-5-7 13:59
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:56 , Processed in 0.170033 second(s), 120 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表