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

全局不关总中断的 RTOS,CosyOS-III-V1.2.0, 送 擎天柱-AI8051U转89C52核心板

 火... [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-5-19 22:39:05 | 显示全部楼层
示例代码的最新版本已发布,请去顶楼下载!以后均在顶楼发布最新版。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-5-19 23:00:32 | 显示全部楼层
请到顶楼下载最新发布的:
STC 1T 8051 原生RTOS,  STC 32位8051 原生RTOS,
不是移植的 RTOS


DemoCode
基于 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-STC32G-CORE-V1.0.4-Library-DemoCode-20230519(CosyOS内核版本 V2.3.11-beta,附带所有说明文档)

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-5-20 13:30:34 | 显示全部楼层
CosyOS最新版 v2.3.11-beta 调整记录:
1、任务中接收私信、任务中接收邮件,这两个服务调整为不需要可重入栈(reentrant),
     而是和其它服务一样,天生就是不会重入或可重入的。
2、提供了任务调度接口,包括任务级任务调度和中断级任务调度,以便用户自己触发任务调度。

至此,CosyOS又一次完成了突破,使51彻底摆脱可重入栈
中断中接收邮件、中断中接收消息,这两个服务对于不同的MCU内核有所不同:
1、对于51来说,这两个服务是不可重入的,仅能在相同优先级的各个中断中调用,
     也不允许用户的自定义函数声明为“reentrant”使用可重入栈。
2、对于251、Arm32,这两个服务是可重入的,用户在中断中可随意调用。





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-5-23 18:35:55 | 显示全部楼层
STC 原生 RTOS 最新版 CosyOS 示例代码已发布,请到楼顶下载!本版本2023/5/23晚18时发布
最新版调整记录:
1、调整了任务中接收私信、任务中接收邮件,不仅减少了内存和code,代码执行效率也有较大提升。
2、调整了中断中接收邮件,即使是51也不会重入,可随意调用。
3、251已支持“全局可重入函数 + REMOVEUNUSED”,以自动移除未使用的代码段和数据段。
4、删除了MCU配置头文件中的pdata选项,并优化了部分配置项。
5、修复了一个bug。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-5-23 20:51:33 | 显示全部楼层
好,必须全网学习
如果顶楼描述可以优化到最新的,建议将顶楼文字部分也修改到最新特色
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-04-08 10:41:18

2

主题

45

回帖

440

积分

中级会员

积分
440
发表于 2023-5-24 16:26:39 | 显示全部楼层
大佬看了下你的大作发表一下自己的意见,大体浏览了一下,感觉一个字 “乱”,可读性不高,在代码风格上建议作者参考下RT-THREAD,  代码分类也合理。 内核函数都有相应的标记,必要的代码都有说明注释,代码风格清晰明了。CosyOS 中"Task_Scheduler(void)"函数竟让接近700行代码,没详细注释能读完的都是高手,建议作者去参考一下微软或华为代码编写格式的标准。CosyOS作为个新兴系统刚起步,要确立好自己的风格和市场定位,如果作为51或251的专属系统那就往深了优化,做精,市场也不小。如果想兼顾RAM和risc-v那用户就不如直接用RT-THREAD了。代码注释一定要做好,最好全中文,未来你的用户大部分是国人。内核,驱动,组件,应用一定要分好,可读性一定要高,必要的时候要插入说明。刚看了一下,没深入研究,希望CosyOS能做好做精。

点评

是的,这是个问题,注释确实太少,我会陆续添加中文注释,让他人容易看懂。感谢你的建议!  详情 回复 发表于 2023-5-24 18:36
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-5-24 18:36:12 | 显示全部楼层
sdw*** 发表于 2023-5-24 16:26
大佬看了下你的大作发表一下自己的意见,大体浏览了一下,感觉一个字 “乱”,可读性不高,在代码风格上建 ...

是的,这是个问题,注释确实太少,我会陆续添加中文注释,让他人容易看懂。感谢你的建议!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-5-29 15:52:33 | 显示全部楼层
本帖最后由 CosyOS 于 2023-5-29 23:54 编辑

STC 原生 RTOS 最新版 CosyOS 全新大版本升级,即将推出,敬请期待!!!

新版本将调整如下功能:
1、重命名了所有内核文件,名称更加直观、易懂。
2、增加了部分注释。
3、更多模块支持可裁剪(如任务管理器等)。
4、增加了新的线程通信组件“飞信”,可实现轻量级超高速的线程通信。
5、调整了中断异步服务执行架构,由开关语句中遍历SVID调整为根据SVID直接调用函数指针,
     可有效的加速中断异步服务的执行速度。
6、针对51进行了部分深度优化。
7、优化了优先级继承算法。





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-5-29 18:58:55 | 显示全部楼层
好,期待
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-5-30 17:52:18 | 显示全部楼层
STC 原生 RTOS 最新版 CosyOS 示例代码已发布,请到楼顶下载!
本版本2023/5/29晚23时发布


STC 原生 RTOS CosyOS - 各种线程通信方式的比较

飞信:极简类型、极速通信
数据类型极简:51为u8、251为u16、Arm32为u32。
消息与消息标志复用:仅用一个变量,即能传输消息,同时又是新消息标志。有效消息必须为真值,0代表无消息。
通信速度极快:如51下,飞信内存为data,在任务或滴答中发送飞信,汇编仅需一条MOV指令即可完成。

私信:随意定义、灵活多变
私信参数的数量、名称、数据类型都可随意定义,使用极为灵活。
私信是直接发送给任务(消费者),所以叫私信,不像其它三种通信方式是发送到信箱或队列中(生产者不知道消费者是谁)。
私信只能发送给任务、中断中不能发送私信。

消息邮箱:任意类型、数据拷贝

邮箱在创建时需指定数据类型,可以是任意类型(包括结构体、数组等),最大255字节。
发送邮件时,是拷贝数据至邮箱;接收邮件时,是从邮箱拷贝数据到本地。

消息队列:并发通信、指针引用

消息队列适用于可能存在瞬时并发发送消息的场合,即生产速度 > 消费速度的时候。
发送消息时,是把消息指针放到队列上;接收消息时,返回的是消息指针。

以上就是CosyOS四种线程通信方式的简单对比(当然还有其它通信方式,未在此次对比中),
可根据具体情况灵活选择最为合适的通信方式。


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:37 , Processed in 0.344846 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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