找回密码
 立即注册
楼主: fan***

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

  [复制链接]
  • TA的每日心情
    奋斗
    昨天 08:03
  • 签到天数: 202 天

    [LV.7]常住居民III

    1

    主题

    168

    回帖

    839

    积分

    高级会员

    积分
    839
     楼主| 发表于 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.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 07:03
  • 签到天数: 183 天

    [LV.7]常住居民III

    18

    主题

    609

    回帖

    793

    积分

    高级会员

    打工人

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

    使用道具 举报

    该用户从未签到

    66

    主题

    719

    回帖

    1万

    积分

    荣誉版主

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

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

    点评

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:03
  • 签到天数: 202 天

    [LV.7]常住居民III

    1

    主题

    168

    回帖

    839

    积分

    高级会员

    积分
    839
     楼主| 发表于 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
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:01
  • 签到天数: 204 天

    [LV.7]常住居民III

    5

    主题

    649

    回帖

    2669

    积分

    荣誉版主

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

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:01
  • 签到天数: 204 天

    [LV.7]常住居民III

    5

    主题

    649

    回帖

    2669

    积分

    荣誉版主

    积分
    2669
    发表于 2024-5-7 01:29:47 | 显示全部楼层
    本帖最后由 CosyOS 于 2024-5-7 01:49 编辑
    fanxsp 发表于 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
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    66

    主题

    719

    回帖

    1万

    积分

    荣誉版主

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

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


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    587

    回帖

    1307

    积分

    荣誉版主

    积分
    1307
    发表于 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 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:03
  • 签到天数: 202 天

    [LV.7]常住居民III

    1

    主题

    168

    回帖

    839

    积分

    高级会员

    积分
    839
     楼主| 发表于 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 ...

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

    使用道具 举报

    该用户从未签到

    20

    主题

    587

    回帖

    1307

    积分

    荣誉版主

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

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

    点评

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-18 00:42 , Processed in 0.074238 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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