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

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

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

5

主题

1127

回帖

4263

积分

荣誉版主

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

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

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

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

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

使用道具 举报 送花

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

717

主题

1万

回帖

1万

积分

管理员

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

回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

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

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

点评

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

使用道具 举报 送花

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

717

主题

1万

回帖

1万

积分

管理员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2023-5-6 13:26:51 | 显示全部楼层
Cos*** 发表于 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的特色,又表明了关不关全局中断由用户自己选择的方法
回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 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

使用道具 举报 送花

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

717

主题

1万

回帖

1万

积分

管理员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:412
  • 最近打卡:2025-05-01 03:39:21

2

主题

144

回帖

3012

积分

论坛元老

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

使用道具 举报 送花

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

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2023-5-6 14:00:23 | 显示全部楼层
有啥在这讨论,官方保驾护航
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 17:29 , Processed in 0.123736 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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