请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 33330|回复: 535

全局不关总中断的RTOS / CosyOS-II for STC MCU,线上课程跟帖报名,盖楼到500层开课

 火.. [复制链接]
  • TA的每日心情
    奋斗
    昨天 08:17
  • 签到天数: 144 天

    [LV.7]常住居民III

    5

    主题

    443

    回帖

    1948

    积分

    荣誉版主

    积分
    1948
    发表于 2023-4-14 22:52:40 | 显示全部楼层 |阅读模式
    本帖最后由 CosyOS 于 2024-4-13 10:04 编辑

    全局不关总中断的 RTOS / CosyOS-II for STC MCU
    公告
       最新版本:V2.1.3,2024/4/7 发布!
       CosyOS 取得重大技术突破,现已升级至 CosyOS-II,代码风格焕然一新,说明文档持续更新中。。。
       CosyOS-II 现已支持 Cortex-M 系列全部内核,M0/M0+/M23/M3/M4/M33/M7。
       CosyOS-II 自 V2.1.0 版本开始,采用尤为高效的任务调度算法,任务调度与切换性能大幅提升!
    简介
    CosyOS是一款来自中国的开源实时操作系统,从经典的8051内核,到流行的Arm Cortex-M内核,
    均可实现全局不关总中断、零中断延迟适用于对系统实时性及中断响应速度有较高要求的场合
    此外,CosyOS的任务切换效率无与伦比,易用性也完全超乎你的想象,更拥有多项安全关键技术,
    助你打造更加实时安全的嵌入式产品。

    支持内核
    CosyOS原生支持8051/STC8HSTC32位8051/STC32G12K128、Cortex-M等内核,未来会陆续添加对其它内核的支持。
    实际用STC8H、STC32进行了开发测试,可以说是STC8051世界量身定做无需移植

    编译环境
    CosyOS是在Keil C51、C251、MDK-Arm编译器下开发的,对其支持最好。未来,将会陆续优化调整对其它编译器的支持。

    突破创新
       实现了所有内核全局不关总中断(零中断延迟),保证了中断的实时响应
       独家技术实现系统服务的可重入,使51彻底摆脱可重入栈、全面提速
       针对51做了高度的性能优化,使51迸发出蓬勃生机、熠熠生辉
       251支持MSPPSP两种栈模式,其中PSP模式可使任务的切换效率等同于Cortex-M
       定时服务(软件定时器中断包括定时中断任务/钩子、定时查询任务/钩子,优先级都可由用户灵活配置
       软件RTC,支持设置时间和获取时间,可替代硬件RTC
       独创的飞信,极简类型、极速通信,是线程间通信的利器
       独创的私信,随意定义,灵活多变,便于多条消息的传递
       消息邮箱,每个邮箱在创建时,都可定义自己的数据类型,极大的丰富了邮件的形式,方便了线程间消息的传递
       消息队列,支持静态队列和动态队列,传输模式支持FIFO、LIFO,采用高效的指针引用方式
       事件标志组,声明标志组的同时定义标志位,不同标志组的标志位可以重名,对标志组和标志位的访问通过组名和位名来实现,极大的方便了标志组的应用
       全局变量访问,支持在任意任务和中断中对全局变量的安全访问,而不必担心重入的发生
       安全关键技术,拥有多项安全关键技术,如中断挂起服务空间隔离、安全运行时等,可靠性高
       任务栈监控,拥有多项任务栈监控措施,可提前预判任务栈溢出的风险

    因循守旧
      ● 完全开源的免版税、确定性的RTOS
      ● 任务调度支持抢占式调度、时间片轮转调度
      ● 用户任务数量不限,且每个任务都可以有255级优先级(0~254)
      ● 简洁高效的代码,极低的硬件资源占用,使CosyOS可轻松应用于各种小型MCU
      ● 任务管理器,可实时监控各任务的运行,便于开发者急时发现设计中存在的潜在问题


    什么是零中断延迟
    零中断延迟并非是中断响应时间为零,而是指当引入了RTOS以后,中断响应时间仍然能够达到MCU内核特性的响应时间,
    即只要中断发生,就能按中断优先级立即抢占,不存在指令级延误。也就是说,中断响应时间不受RTOS影响,与裸机编程是一样的。

    CosyOS - 实时运行模型

    • 中断层 【用户中断按中断优先级实时抢占(零中断延迟)】
      • 用户中断
        -> 中断本地服务的执行
        -> 中断挂起服务的装载
    • 服务层 【内核服务】
      • SysTick[minpri]
        -> 软件RTC/定时器计数
        -> 恢复定时任务
        -> 调用定时钩子/滴答钩子(滴答服务的执行)
      • PendSV[minpri]
        -> 中断挂起服务的执行
        -> 任务调度/切换
      • 任务临界区[关闭SysTick/PendSV]
        -> 任务服务的执行
    • 任务层 【不同优先级的任务抢占式调度,相同优先级的任务时间片轮转调度】
      • Taskmgr[maxpri]
      • Debugger[maxpri]
      • Starter[maxpri-1]
      • 一般用户任务[maxpri-1 ~ minpri+1:1]
      • 用户空闲任务[minpri:0]
      • 系统空闲任务[minpri:0]

    CosyOS - 零中断延迟基本原理

    一、服务层中,SysTick、PendSV、任务临界区,三者间是互斥访问的。换言之,整个服务层是一个大临界区(服务层临界区)。
    二、所有内核服务(中断本地服务除外),均在“服务层临界区”执行,从而保证服务的“操作流”不会被打断。
    三、中断本地服务采用互斥访问机制。

    CosyOS-II 内核对象大小:
    截图202404081436095920.jpg
    截图202404130950036747.jpg
    任务对象大小:
    sizeof 静态创建:taskhandle + tasknode + taskstack;
    sizeof 动态创建:taskhandle + taskhand + malloc(tasknode) + malloc(taskstack);

    注解:
    TMR:软件定时器
    TID:任务ID
    SRT:安全运行时
    DBG:debug调试功能
    REG:REGBANK0(当最低优先级中断REGBANK非BANK0时需要+8)
    C251 的 ptr-2、ptr-4,是指内核对象指针变量的size,由 mcucfg_80251.h 中的“内存方案配置”选项来决定。

    STC32 内存方案配置:
    截图202404102351046323.jpg
    针对STC32,提供了内存方案配置,可更有效的综合利用 edata、xdata。


    相信,CosyOS将会成为 www.STCAIMCU.com 的加速器,助力STC32位8051腾飞!

    CosyOS-II 示例代码
    基于 FreeRTOS-STC32G-CORE-V1.0.2-Library-DemoCode-20220817 修改的,将FreeRTOS替换为CosyOS的示例代码,
    目的是能让用户快速掌握CosyOS的基本应用,降低使用门槛。
    作者仅做了必要的调整,调整的地方多是先注释掉原来的代码,再在下方重写,以便用户比较CosyOS与FreeRTOS的异同。
    示例代码简要说明:
    配置情况:
        系统时钟24MHz,任务管理器使用UART1(切换至P1.6/P1.7,波特率460800),PendSV_Handler使用外部中断0。
        任务管理器已配置为开机自动启动,USB-TTL接入P1.6/P1.7,打开串口助手设置正确的波特率即可输出。
    配置文件:
        syscfg.h            (系统配置文件,.\Sources\Config\syscfg.h)
        mcucfg_80251.h(MCU配置文件,.\Sources\Config\mcucfg_80251.h)
        CosyOS.h          (用户配置文件,.\Sources\User\include\CosyOS.h)

    CosyOS-II 专业版测试程序
    专门用于测试CosyOS的各项系统服务在极限条件下运行的稳定性、可靠性及性能。
    详细说明:
    全局不关总中断的RTOS / CosyOS-II for STC MCU,最新版本2024/2/6更新说明 - 第14页 - FreeRTOS/uCOS,GUI-uGFX/U8g2,文件系统/嵌入式系统/实时操作系统 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
    详细配置情况查看“init_hook.c”。

    2024/4/7:
    CosyOS-II 最新版 V2.1.3-beta 发布!
    请顶楼下载!
    专业版测试程序中已加入必要说明,描述任务切换原理,TASK_A、TASK_B合作流程图等。
    专业版测试程序充分展示了 CosyOS 实现线程同步的各种手段。


    最新版本下载:
    1、CosyOS-II-STC32G-TEST-V2.1.3-20240410(CosyOS-II内核版本 V2.1.3-beta,STC32G12K128)下载:
    CosyOS-II-STC32G-TEST-V2.1.3-20240410.zip (4.43 MB, 下载次数: 20)
    2、CosyOS-II-STC8H-TEST-V2.1.3-20240410(CosyOS-II内核版本 V2.1.3-beta,STC8H8K64U)下载:
    CosyOS-II-STC8H-TEST-V2.1.3-20240410.zip (432.29 KB, 下载次数: 24)
    以后最新版本均在此处提供下载,如测试发现问题请及时反馈!


    历史版本下载:
    1、CosyOS-II-STC32G-CORE-V2.0.1-Library-DemoCode-20240318(CosyOS-II内核版本 V2.0.1-beta)下载:
    CosyOS-II-STC32G-CORE-V2.0.1-Library-DemoCode-20240318.zip (4.18 MB, 下载次数: 70)
    2、CosyOS-II-STC32G-TEST-V2.0.1-20240318(CosyOS-II内核版本 V2.0.1-beta,STC32G12K128)下载:
    CosyOS-II-STC32G-TEST-V2.0.1-20240318.zip (4.42 MB, 下载次数: 65)
    3、CosyOS-II-STC8H-TEST-V2.0.1-20240318(CosyOS-II内核版本 V2.0.1-beta,STC8H8K64U)下载:
    CosyOS-II-STC8H-TEST-V2.0.1-20240318.zip (422.53 KB, 下载次数: 78)






    2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    回复 送花

    使用道具 举报

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

    [LV.7]常住居民III

    5

    主题

    443

    回帖

    1948

    积分

    荣誉版主

    积分
    1948
     楼主| 发表于 2023-10-20 22:30:06 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-10-28 00:11 编辑

    CosyOS-II 发布 !!!

    终于等到了这一刻,CosyOS-II 姗姗来迟,这是 CosyOS 全新升级后的首次发布,欢迎大家品鉴!
    本次仅发布内核源码,说明文档还未来得及更新(有些内容已经out了),测试程序待过几日再行发布。
    本次发布的主要目的:一是通告,CosyOS 的新征程已经开始!  二是展现 CosyOS-II 全新的代码风格。

    有兴趣的朋友可以用以前发布的测试程序先行测试:
    System、Config、Hook 文件夹均需更新,
    系统配置及MCU配置也需重新配置,
    部分API及数据类型也需调整,

    如此还可加深对 CosyOS-II 的了解。

    请下载顶楼的 CosyOS-II 专业版测试程序。

    回复 支持 2 反对 0 送花

    使用道具 举报

    该用户从未签到

    546

    主题

    9104

    回帖

    1万

    积分

    管理员

    积分
    14080
    发表于 2024-4-1 22:33:58 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    546

    主题

    9104

    回帖

    1万

    积分

    管理员

    积分
    14080
    发表于 2024-4-4 15:51:00 | 显示全部楼层
    全局不关总中断的 RTOS / CosyOS-II for STC MCU
    跟贴认真学习 可赠送STC32G12K128实验箱,可做示波器 / 波形发生器

    截图202404041552146786.jpg

    截图202404041552565332.jpg

    深圳国芯人工智能有限公司-实验箱 (stcai.com)

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    546

    主题

    9104

    回帖

    1万

    积分

    管理员

    积分
    14080
    发表于 2023-4-15 17:54:03 | 显示全部楼层
    STC 32位8051原生RTOS / CosyOS大家一起用起来
    www.STCAIMCU.com,STC全球32位8051爱好者技术交流论坛 !
    正式运作一年,注册用户已超过 12000人 !
    预计 2025年 过注册用户【万人规模
    CosyOS 原生支持 如下 STC MCU,
    STC为中华崛起打造 十万 RTOS 大军
    截图202401292142482941.jpg
    欢迎 RTOS 专家前来本坛RTOS板块普及RTOS应用,源代码请直接以附件方式上传到楼主帖子中
    ===您需要的【STC32G12K128实验性箱】,【STC8H8K64U实验箱】,全部 【免费+包邮送】
    ===您需要的 【屠龙刀-STC32G12K128核心功能实验板】,【开天斧-STC8H8K64U核心功能实验板】,全部 【免费+包邮送】
    ===STC-USB Link1D /【专业仿真器,全自动在线下载器/自动停电上电,脱机烧录器,USB转双串口工具, 专业时钟校准工具】
    ===为方便管理,一般禁止链接到第三方,请本地上传O/S相关资料, 大家本贴中跟进 测试/应用/学习
    另外,欢迎使用 STC-ISP V6.92L 的强大的串口助手工具,正在向全球第一的串口助手迈进中
    有【串口绘图】,【CAN助手】等

    http://www.stcmcudata.com/STCISP/stc-isp-15xx-v6.92L.zip

    STC32系列最新数据手册
    http://www.stcmcudata.com/STC8F-DATASHEET/STC32G.pdf
    STC8H系列最新数据手册
    http://www.stcmcudata.com/STC8F-DATASHEET/STC8H.pdf

    www.STCAI.com,           STC全新官方网站,下载资料 !
    www.STCAIMCU.com,  STC全球32位8051爱好者技术互助交流社区论坛,技术交流,视频学习 !
    【免费+包邮】 送/申样热线:0513-55012928、0513-55012929、0513-55012966
    工作时间:  8:30-12:00  13:00-17:30(周一 到 周五, 法定节假日除外),也可加如下 QQ 或 微信 申请
    加STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592  要求 【免费+包邮】 送, 还免费教你仿真  
    加STC华南区客服曹经理QQ:1933892258 ;微信:18106296595 要求 【免费+包邮】 送, 还免费教你仿真
    加STC华东区客服聂经理QQ:2593903262;微信:18106296598  要求 【免费+包邮】 送, 还免费教你仿真
    加STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593  要求 【免费+包邮】 送, 还免费教你仿真
    加STC华北区客服石经理QQ: 1638975601 ;微信:19952583876  要求 【免费+包邮】 送, 还免费教你仿真
    加STC华中区客服唐经理QQ:2571301708 ;微信:18106296589 要求 【免费+包邮】 送, 还免费教你仿真
    加STC东北区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教你仿真
    加STC西南区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教你仿真

    截图202403261620357541.jpg
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    5

    主题

    443

    回帖

    1948

    积分

    荣誉版主

    积分
    1948
     楼主| 发表于 2023-4-17 15:08:17 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-5-15 05:19 编辑

    CosyOS已开源,说明文档+源代码(V2.2.3-beta):

    欢迎大家试用并多提宝贵意见,有问题及时沟通!

    点评

    大家用后面的帖子中的最新版本  发表于 2023-5-4 22:46
    感谢大侠的开源壮举  发表于 2023-4-17 15:53
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    5

    主题

    443

    回帖

    1948

    积分

    荣誉版主

    积分
    1948
     楼主| 发表于 2023-4-26 11:17:50 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-5-15 05:19 编辑

    本人已使用【屠龙刀-STC32G12K128核心功能实验板】完成了测试,CosyOS最新版(V2.3.0)已完美支持STC32G12K128的Large模式(64K代码)、Huge模式(128K代码)。

    CosyOS说明文档+源代码(V2.3.0)下载:


    同时推出了基于 FreeRTOS-STC32G-CORE-V1.0.2-Library-DemoCode-20220817 修改的,将FreeRTOS替换为CosyOS的示例代码 CosyOS-STC32G-CORE-V1.0.0-Library-DemoCode-20230426,
    目的是能让用户快速掌握CosyOS的基本应用,降低使用门槛。作者仅做了必要的调整,调整的地方多是先注释掉原来的代码,再在下方重写,以便用户比较CosyOS与FreeRTOS的异同。
    CosyOS-STC32G-CORE-V1.0.0-Library-DemoCode-20230426简要说明:
    配置情况:
        系统时钟24MHz,任务管理器使用UART1(切换至P1.6/P1.7,波特率460800),PendSV_Handler使用外部中断0。
        任务管理器已配置为开机自动启动,USB-TTL接入P1.6/P1.7,打开串口助手设置正确的波特率即可输出。
    配置文件:
        syscfg.h      (系统配置文件,.\Sources\Config\syscfg.h)
        mcucfg_80251.h(MCU配置文件,.\Sources\Config\mcucfg_80251.h)
        CosyOS.h      (用户配置文件,.\Sources\User\include\CosyOS.h)

    CosyOS-STC32G-CORE-V1.0.0-Library-DemoCode-20230426下载:

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    45

    主题

    2841

    回帖

    6386

    积分

    超级版主

    积分
    6386
    发表于 2023-4-26 11:36:08 | 显示全部楼层
    支持大神原创,助力STC32位8051腾飞!
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    5

    主题

    443

    回帖

    1948

    积分

    荣誉版主

    积分
    1948
     楼主| 发表于 2023-5-4 22:35:03 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-5-15 05:19 编辑

    CosyOS-STC32G-CORE-V1.0.1-Library-DemoCode-20230504,基于 FreeRTOS-STC32G-CORE-V1.0.2-Library-DemoCode-20220817 修改,将FreeRTOS替换为CosyOS最新版(V2.3.5-beta),  

    配置情况同上一版(V1.0.0)。


    任务管理器是CosyOS标配,用户只需简单几步配置便可使用。配置项位于syscfg.h/DEBUG接口设置,再添加串口通讯代码至串口中断即可。

    任务管理器现支持如下命令:
    1、taskmgr,启动任务管理器。
    2、exit,退出任务管理器。
    3、taskmgr /s=...,任务管理器更新速度,取值范围:[50~5000]ms。
    注意:命令仅支持小写字母,结尾必须加回车换行(\r\n)。

    任务管理器退出后将挂起,任务PC监控、系统滴答时间统计、CPU使用率等不再参与计算。
    系统滴答时间统计、CPU使用率,直接采用系统滴答定时器计数,用户无需配置额外的定时器。

    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    546

    主题

    9104

    回帖

    1万

    积分

    管理员

    积分
    14080
    发表于 2023-5-4 22:43:02 | 显示全部楼层
    大家帮忙测试下,楼主也帮忙提供 STC32G12K128-实验箱,STC32G12K128-屠龙刀上的演示程序的实现

    已在主力爱好者群宣传
    1.png

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    3

    回帖

    56

    积分

    注册会员

    积分
    56
    发表于 2023-5-4 22:59:03 来自手机 | 显示全部楼层
    怎么样让7针的12864在开天斧3板子上显示出时间日期温度,温度传感器是DS18B20
    image.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    546

    主题

    9104

    回帖

    1万

    积分

    管理员

    积分
    14080
    发表于 2023-5-4 23:04:47 | 显示全部楼层
    楼主的 OS 支持 STC32G12K128-屠龙刀,你可能改成 STC32G12K128, 楼主就会帮你在 OS 上增加 OLED12864 和 DS18B20的 任务
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    546

    主题

    9104

    回帖

    1万

    积分

    管理员

    积分
    14080
    发表于 2023-5-4 23:07:12 | 显示全部楼层
    1.png
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-19 08:42 , Processed in 0.082591 second(s), 83 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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