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

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

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2025-1-14 18:04:54 | 显示全部楼层
loveh*** 发表于 2025-1-14 16:11
首先感谢作者,创作分享的CosyOS的系统。
我前段时间才开始学习此系统的,学习资料是2024-09-29在这下载的 ...

对中断中使用消息队列的相关约束,是因为 CosyOS 是全局不关总中断的。
不关总中断,在用户中断中就不能 动态内存分配和释放,因此就不能使用 动态队列。
所以导致 A 和 B。
C 是因为,消息队列采用了 互斥访问锁,所以,如果队列正在被访问(发送或接收),
将返回NULL,表示接收消息失败,但不会影响 被打断的、正在发送或接收消息的正确性。

每个消息队列,用户应当自己明确消息的类型和size,此事与操作系统无关。
原意是,消息队列要传输指针,而不是数据。
如果传输数据,sizeof(数据类型) 也只能是 sizeof(void *),而且数据不能为0,因为0就是NULL,表示接收失败。

未来是有计划要重构消息队列的,届时 将 支持不同size的数据传输 和 指针传输 两种方式。

感谢你的建议,会在未来实现更强大的消息队列。
回复 支持 反对

使用道具 举报 送花

已绑定手机

0

主题

3

回帖

34

积分

新手上路

积分
34
发表于 2025-1-15 09:57:10 | 显示全部楼层
Cos*** 发表于 2025-1-14 18:04
对中断中使用消息队列的相关约束,是因为 CosyOS 是全局不关总中断的。
不关总中断,在用户中断中就不能  ...

理解了。
要是我的项目里的串口会收到不同size的数据串,然后发消息队列给一个任务来处理,任务按收到的数据串的size及内容来做不同的处理。
那我有什么方式方法来识别这个数据串的长度,谢谢!

点评

一、如果数据是字符串 要确保它有尾 '\0',如果发来的字符串没有尾,一包数据收完后你就给它加一个尾, 接收消息后 strlen。 二、如果数据是真实数据 看是否会有固定的几种size?每种size对应一个队列。 如果size种  详情 回复 发表于 2025-1-15 19:14
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-01-15 15:37:19
已绑定手机

0

主题

1

回帖

10

积分

新手上路

积分
10
发表于 2025-1-15 15:34:32 | 显示全部楼层
Cos*** 发表于 2023-5-4 23:54
OS问题随时提供支持!
CosyOS的任务创建、启动等基本应用是十分简单的,示例代码一看便知。另外还可结合  C ...

建议大家先看说明文档,按照  README -> 技术要点 -> 开发流程  这个顺序;  《CosyOS-II 最新版_说明文档》 这个文件夹里,没有 README\ 技术要点 ,你做为一名技术型老师,能不能严谨一些啊;此外,此文件夹里的 开发流程里,大量出现了无法显示的 操作指导图片,很是急人;你能不能找个人先把文档写好,再测试一下再发布出来呢。
截图202501151530085503.jpg
截图202501151533019602.jpg

点评

这个文档里确实漏掉了 image文件。 顶楼最下面有 最新版的工程模板 和 API说明书 可供下载。 工程模板附带一个测试程序可以直接运行。  详情 回复 发表于 2025-1-15 18:46
回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2025-1-15 18:46:35 | 显示全部楼层
vczq*** 发表于 2025-1-15 15:34
建议大家先看说明文档,按照  README -> 技术要点 -> 开发流程  这个顺序;  《CosyOS-II 最新版_说明文 ...

这个文档里确实漏掉了 image文件。
顶楼最下面有 最新版的工程模板 和 API说明书 可供下载。
工程模板附带一个测试程序可以直接运行。
回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2025-1-15 19:14:52 | 显示全部楼层
loveh*** 发表于 2025-1-15 09:57
理解了。
要是我的项目里的串口会收到不同size的数据串,然后发消息队列给一个任务来处理,任务按收到的 ...

一、如果数据是字符串
要确保它有尾 '\0',如果发来的字符串没有尾,一包数据收完后你就给它加一个尾,
接收消息后 strlen。

二、如果数据是真实数据
看是否会有固定的几种size?每种size对应一个队列。
如果size种类过多,暂时确实没有好办法,期待新版消息队列早日推出。
回复 支持 1 反对 0

使用道具 举报 送花

已绑定手机

0

主题

3

回帖

34

积分

新手上路

积分
34
发表于 2025-1-16 11:47:25 | 显示全部楼层
目前的项目里的真实数据串(非字符串)长度种类有4种不同size数据长度。
我现在还在看CosyOS-II说明文档和回看视频,到时移植时遇到问题再请教了。

点评

顶楼可以下载最新版的 工程模板 和 API参考手册,有问题随时沟通  发表于 2025-1-16 12:55
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2025-05-01 08:09:26
已绑定手机

2

主题

82

回帖

194

积分

注册会员

积分
194
发表于 2025-1-28 20:06:58 | 显示全部楼层
厉害,期待中啊!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-02-16 09:38:48
已绑定手机

2

主题

21

回帖

90

积分

注册会员

积分
90
发表于 2025-2-7 12:26:00 | 显示全部楼层
好好学习
回复

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2025-2-16 14:43:44 | 显示全部楼层
好消息,CosyOS 全新大版本升级,CosyOS-III 隆重发布 !

由于核心技术的重大调整,CosyOS 有必要升级至 III。

CosyOS-III 主要技术特征:
CosyOS-III 采用 二级位图 + 三维链表
二级位图:使得抢占式任务调度时间确定、为常数 O(1),任务调度性能 强强强!
三维链表:是指每个任务节点都可能同时处于三个链表中:
(1)任务优先级组链表(双向循环)
(2)阻塞链表(单向)
(3)定时器链表(单向)
使得任务状态变化时,不会频繁操作链表,服务执行性能 强强强!
SysTick中,软件定时器计时速度要比 CosyOS-II 快的多。

CosyOS-III 其它方面的调整:
1、支持 仅抢占式调度(每个任务的优先级必须不同)。
2、取消了 “私信”,使得任务的声明、创建、启动 趋于完美。
3、取消了创建任务的内置循环,用户必须自己写循环。
4、任务的最后不必再写 “uEndTasking”。
5、提供了事件标志组在任务、滴答中设置及清除多个标志位的服务。
6、任务管理器的相关调整:
(1)运行、就绪状态 不显示状态(借鉴了windows);
(2)阻塞状态 显示 阻塞类型,3个字符:
        dly:延时阻塞
        bin:二值信号量阻塞(获取/等待)
        mut:互斥信号量阻塞(获取)
        sem:计数信号量阻塞(获取)
        fet:接收飞信阻塞
        mal:接收邮件阻塞
        msg:接收消息阻塞
        gro:事件标志组阻塞(等待)
(3)其它状态 均显示 1个字符:
超时状态:O
挂起状态:^
停止状态:!
截图202502161428422517.jpg

CosyOS-II 替换为 III 注意事项:
1、建议所有文件都要替换为新版。
2、建议删除原System文件夹中的所有文件,再重新copy新版文件。而后工程中,Group System,再重新添加文件。
3、syscfg.h 中,要重点关注几个配置项,包括 任务优先级数、相同优先级任务调度算法等。
4、mcucfg、port 等,基本不需要动。
5、所有已经创建的任务,任务中要注意需要加上 while(1),并删除 uEndTasking 或 定义它为空(#define uEndTasking)。

稍后会在顶楼发布 CosyOS-III 工程模板 和 API手册,欢迎下载及试用 CosyOS-III,这将会是一个全新的开始!
至此,CosyOS内核的纵向发展已基本接近尾声。。。



回复 支持 2 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:274
  • 最近打卡:2025-04-27 10:30:07
已绑定手机

1

主题

73

回帖

1236

积分

金牌会员

积分
1236
发表于 2025-2-17 09:07:29 | 显示全部楼层
Cos*** 发表于 2025-2-16 14:43
好消息,CosyOS 全新大版本升级,CosyOS-III 隆重发布 !

由于核心技术的重大调整,CosyOS 有必要升级至 I ...

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 20:11 , Processed in 0.218926 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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