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

视频教学:RTOS, 4/30上午继续直播,全局不关总中断的CosyOS for STC

 火... [复制链接]
  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2074

    积分

    荣誉版主

    积分
    2074
     楼主| 发表于 2023-5-6 12:33:45 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-5-6 13:15 编辑
    杨为民 发表于 2023-5-6 11:25
    请问楼主作者,在你设计实现的CosyOS中,有没有计划提供(1)临界区保护接口,(2)中断嵌套时不进行任务调 ...

    临界区是有的,同时也开放给用户。CosyOS的临界区只有一种,对于8051、80251内核,在进入临界区时会关闭 SysTick 和 PendSV 中断;对于Arm内核,会屏蔽最低优先级的中断。SysTick 和 PendSV 均为最低优先级。
    任务中调用服务时,本身也是要进入临界区执行的。CosyOS从来不会关闭总中断和用户中断,无论哪种内核,只要用户中断不是最低优先级就可实现零中断延迟。
    任务中的个别应用,推荐用户进入临界区执行,这样不仅高效,也是因为个别应用封装为API非常的困难。

    中断中支持恢复、挂起、删除任务,设置任务优先级等服务,都是先缓存服务的结构体指针,再触发PendSV,在PendSV中统一执行服务,而后再任务调度。
    CosyOS在中断中切换任务的一般方法是,一个任务平时为挂起状态,在中断中恢复这个任务,这个任务运行完后再挂起自身。


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2074

    积分

    荣誉版主

    积分
    2074
     楼主| 发表于 2023-5-6 12:56:44 | 显示全部楼层
    神农鼎 发表于 2023-5-6 09:23
    大侠,本坛有爱好者咨询 FreeRTOS的问题时也帮忙解答下,
    顺便介绍下您的 CosyOS 比 FreeRTOS 的优势,
    让 ...

    好的,以后我会积极参与的。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2074

    积分

    荣誉版主

    积分
    2074
     楼主| 发表于 2023-5-6 13:04:29 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-5-6 13:07 编辑
    32位8051-STCAI 发表于 2023-5-6 09:14
    帮网友问下:要消耗多少RAM

    关于内存的占用,我现在还不能提供一个准确的数字,一般情况下,8K内存跑十多个任务还是绰绰有余的。然而,这也却决于多方面因素,如用户定义的变量、创建的邮箱、队列的多少等。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9235

    回帖

    1万

    积分

    管理员

    积分
    13946
    发表于 2023-5-6 13:15:37 | 显示全部楼层
    有人来批评或来骂街,国产OS就成功指日可待,不要全是赞美的声音,要有客观的批判
    1.png

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2074

    积分

    荣誉版主

    积分
    2074
     楼主| 发表于 2023-5-6 13:21:01 | 显示全部楼层
    神农鼎 发表于 2023-5-6 13:15
    有人来批评或来骂街,国产OS就成功指日可待,不要全是赞美的声音,要有客观的批判

    对的,欢迎大家提出异议,共同探讨,有批评才能有进步。
    另外,对于 FreeRTOS 我也不够精通,只能尽量参与。

    点评

    从 美国的 FreeRTOS 到 国产 CosyOS 是历史必然 学 美国的 FreeRTOS 是为了跟好的学习 国产 CosyOS  发表于 2023-5-6 13:26
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9235

    回帖

    1万

    积分

    管理员

    积分
    13946
    发表于 2023-5-6 13:22:01 | 显示全部楼层
    我刚注意到大侠的CosyOS 是为 STC8H8K64U
    这个 STC 8051世界 最快的 1T 8051, STC8H8K64U量身定制的,
    请CosyOS大侠大笔墨介绍下针对STC8H8K64U比其他流行OS的优势
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10816
    发表于 2023-5-6 13:26:51 | 显示全部楼层
    CosyOS 发表于 2023-5-6 12:33
    临界区是有的,同时也开放给用户。CosyOS的临界区只有一种,对于8051、80251内核,在进入临界区时会关闭 S ...

    临界区保护分为两种情况,一种是操作系统本身对系统自身的资源(任务表、调度过程等)的保护,如你上面提到的。另一种是对公共资源的保护,比如对一个12位的ADC,一个任务(如实验板上的NTC)读了一个字节后,任务被切换了,新任务重新进行了ADC变换,然后任务再切换回来后读到的另一个字节已经不是原来的字节了,就会产生错误。为了避免出现这类错误,就需要公共资源临界区保护。如果按照传统操作系统的临界区保护方法编程太过复杂,不得已RTT、uC/OS以及FreeRTOS这些RTOS才提供了“关全局中断”(EA=0)的通用临界区保护手段。
    但是,使用中断对于STC单片机十分重要,因此避免在RTOS关闭全局中断是一个很重要的选择。建议将CosyOS现在的特色“所有内核全局不关中断的RTOS”修改为“所有内核不关全局中断EA的RTOS”更为贴切,这样既体现了CosyOS的特色,又表明了关不关全局中断由用户自己选择的方法
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2074

    积分

    荣誉版主

    积分
    2074
     楼主| 发表于 2023-5-6 13:44:23 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-5-6 16:04 编辑

    首先,CosyOS在开发之初就设定好了基本框架,要实现所有内核全局不关中断,
    要全面支持STC的8位、32位8051 MCU。针对STC MCU的优化是贯穿始终的,
    这一点从 MCU配置文件 中就能体现。
    代码中的所有细节均考虑到了系统级全局变量的可重入性,确保安全可信。

    CosyOS是原生支持STC的8位、32位8051 MCU的,非移植的OS可比
    移植的OS在很多细节的地方可能会存在安全隐患。

    我描述一种典型的情况,某些RTOS在开发之初只考虑了对Arm等32位以上MCU的支持,并没有考虑对51、251的支持,
    所以很多系统级的全局变量(4bytes及以下)是根本不用考虑重入问题的,因为汇编都是单指令访问完成。
    然而移植到51、251情况就完全不同了,51只有单字节变量不会重入,251只有data、edata直接寻址不会重入,
    间接寻址汇编一次只能访问1-2个字节。什么是间接寻址呢?idata、pdata、xdata访问都是间接寻址,指针的访问也是间接寻址。
    如 u32 edata * edata p; 读写*p都是间接寻址,虽然数据在edata中,但汇编也要两条指令才能完成读或写。
    每个OS中都有大量的指针访问,Arm32完全不用考虑的问题,换成了51/251,都要全盘重新考量。
    这就为系统安全性埋下了伏笔???

    这就是 “原生”“移植” 的区别!!!


    点评

    那STC8A8K64D4这款型号用你的系统需要做哪些修改呢,项目不想更换CPU了  发表于 2023-8-8 11:07
    此RTOS 非移植,是原生就支持 STC32G12K128, STC8H8K64U  发表于 2023-5-15 20:21
    已全局置顶,精华语录啊  发表于 2023-5-6 13:53
    此话已全球转播  发表于 2023-5-6 13:50
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9235

    回帖

    1万

    积分

    管理员

    积分
    13946
    发表于 2023-5-6 13:55:07 | 显示全部楼层

    全网热烈讨论中
    1.png
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    14 小时前
  • 签到天数: 122 天

    [LV.7]常住居民III

    1

    主题

    106

    回帖

    1833

    积分

    金牌会员

    积分
    1833
    发表于 2023-5-6 13:57:08 | 显示全部楼层
    1.png
    回复 支持 反对 送花

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies |上传

    本版积分规则

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

    GMT+8, 2024-4-29 17:16 , Processed in 0.071038 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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