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

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

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-6-13 09:08:10 | 显示全部楼层
wenhuixuan 发表于 2023-6-13 08:28
十分期待CosyOS的入门教程!!

当前,CosyOS内核的主要优化工作已基本完成,今天还要再发布一次新版,是非常重要的版本升级。
下一步就是陆续增加注释及测试,还有编写教程。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:484
  • 最近打卡:2025-05-01 08:52:01
已绑定手机

23

主题

589

回帖

2813

积分

金牌会员

积分
2813
发表于 2023-6-13 17:02:52 | 显示全部楼层
Cos*** 发表于 2023-6-13 09:08
当前,CosyOS内核的主要优化工作已基本完成,今天还要再发布一次新版,是非常重要的版本升级。
下一步就 ...

厉害,期待中啊!
不停地学习
回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-6-14 00:08:43 | 显示全部楼层
本帖最后由 CosyOS 于 2023-6-14 00:36 编辑

STC 原生 RTOS - CosyOS 最新版(V3.1.0-beta)示例代码已发布,请到楼顶下载!
本版本2023/6/14,0时发布

新版功能调整:
1、进一步优化了任务中调用服务,使得51、251、Arm均处于高性能水平。
2、系统配置文件增加了选项“服务调用模式”。
3、释放互斥量调整为带返回值(返回结果)。
4、取消了“线程入口监控”功能,因为虽然有效,但不实用。



另外,针对Cortex-M内核,“私信”现存在问题,待日后调整。


再有,现有版本示例代码,在Keil中下载及仿真都会存在问题,时常报错(设备连接失败)。
现有解决方案:
1、syscfg.h\DEBUG接口设置,取消打勾,即禁用任务管理器。
2、user\System_init.c,void Switch_config(void)中,UART1_SW恢复为P3.0/P3.1,UART1_SW(UART1_SW_P30_P31);
如此,在Keil中的下载及仿真功能即可恢复正常。

回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-6-15 00:16:53 | 显示全部楼层
针对Cortex-M内核的“私信”功能异常问题,现已查明原因并解决。
CosyOS已升级至V3.1.1-beta,由于对51、251并无影响,所以此次不再发布新版的示例代码。



回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-6-15 20:10:37 | 显示全部楼层
本帖最后由 CosyOS 于 2023-6-19 12:18 编辑

CosyOS - 性能测试示例程序


本示例可用于测试CosyOS的任务切换性能,由用户定义分别采用二值信号量、计数信号量、
私信、飞信、消息邮箱、消息队列、事件标志组、恢复挂起、设置任务优先级等方式,
实现两个任务的循环合作、快速切换并计数,再在第三个任务中串口打印输出每秒钟的计数。
本示例也可用于对各大RTOS的性能对比测试。


现有测试结论:(系统时钟24MHZ,未启用任务管理器)
二值信号量:38289
计数信号量:37864(u16)
私          信:29697(性能创建模式)
飞          信:39486(飞信内存为edata)
消息   邮箱:27874
静态   队列:28565
动态   队列:22848
事件标志组:34731(u8)
恢复并挂起:54972
设置优先级:36566

可先查看 Task/task.c,熟悉并了解测试原理,并在此设置不同的测试项目。

未来,本人会陆续优化本示例,并添加更多的测试项目,实现更加丰富、全面的测试。

本示例程序不仅可以用于性能测试,更是入门CosyOS的好帮手,因为含有大量的服务应用。




回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-6-19 11:59:50 | 显示全部楼层
本帖最后由 CosyOS 于 2023-7-16 18:16 编辑

CosyOS - 性能测试示例程序


本示例可用于测试CosyOS的任务切换性能,由用户定义分别采用二值信号量、计数信号量、
私信、飞信、消息邮箱、消息队列、事件标志组、恢复挂起、设置任务优先级等方式,
实现两个任务的循环合作、快速切换并计数,再在第三个任务中串口打印输出每秒钟的计数。
本示例也可用于对各大RTOS的性能对比测试。

CosyOS - 性能测试示例程序下载:

1、CosyOS-STC8-TEST-V1.0.2-20230619(含CosyOS最新版V3.1.2-beta及所有说明文档)



2、CosyOS-STC32G-TEST-V1.0.2-20230619(含CosyOS最新版V3.1.2-beta及所有说明文档)



测试   结论     STC8      STC32G
二值信号量    10099    38289
计数信号量      9945    37864    // u8/u16
私          信      9128    29697    // 性能创建模式
飞          信    10891    39486    // data/edata
消息   邮箱      8672    27874
静态   队列      5101    28565
动态   队列      4585    22848
事件标志组      9614    34731    // u8
恢复并挂起    14585    54972
设置优先级    10504    36566

以上测试结论,基本配置为系统时钟24MHZ、系统滴答周期10000us、全局时间片1tick、
未启用安全运行时、未启用任务管理器等,详情请查看 syscfg.h、mcucfg_8051.h、mcucfg_80251.h。
STC8的示例为STC8A8K,UART1_4打印输出(..\hook\init_hook.c),STC32G的示例为UART4打印输出,用户可自行调整。

可先查看 ..\Task\task.c,熟悉并了解测试原理,并在此设置不同的测试项目。

未来,本人会陆续优化本示例,并添加更多的测试项目,实现更加丰富、全面的测试。

本示例程序不仅可以用于性能测试,更是入门CosyOS的好帮手,因为含有大量的服务应用。






回复 支持 1 反对 0

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-7-8 00:48:35 | 显示全部楼层
本帖最后由 CosyOS 于 2023-7-16 18:16 编辑

CosyOS 最新版 发布了 !!!


CosyOS现已更新至 V3.2.1-beta版,欢迎试用。
最新版主要优化调整了系统服务,尤其是任务中调用服务,使得Keil C51、C251、MDK下均处于最高性能水平。
现发布最新版的 CosyOS - 性能测试示例程序:


1、CosyOS-STC8-TEST-V1.1.0-20230708(含CosyOS最新版V3.2.1-beta及所有说明文档)


2、CosyOS-STC32G-TEST-V1.1.0-20230708(含CosyOS最新版V3.2.1-beta及所有说明文档)


有个别测试项(计数信号量、消息邮箱等)分数有所下降,这是因为相应服务由本地代码调整为了调用函数。
其它测试项,Keil C51、C251、MDK下,分数均有一定提高。



补充说明:
1、对于51,在中断中通过调用API来读取全局变量(包括全局数组和字符串)时,必须在mcucfg_8051.h文件中,
     配置为固定的存储域(data/idata/xdata,因为只有如此,相应的服务函数才会是可重入函数),您也仅能读取相应存储域的全局变量。
2、对于51,在中断中接收消息时,最好仅在相同优先级的各个中断中接收消息(因为相应的服务函数是不可重入的),
     如果非要在不同优先级的中断中调用,请自己加入“reentrant”属性,并配置XBP。
     ..\System\sv_int_loc.h\void *__recv_msg__  (tspMsgQueue msg_queue) reentrant;
3、对于251,如果使用私信功能,不可启用编译器的全局可重入函数功能(Generate reentrant functions)。


天下武功唯快不破,虽说快不等于实时,但慢绝非实时!
所以一个好的RTOS,快是必须的,稳定可靠只是基本条件。



回复 支持 反对

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-7-9 00:50:50 | 显示全部楼层
本帖最后由 CosyOS 于 2023-7-9 00:54 编辑

CosyOS 又取得新突破!

CosyOS 又一次取得了新的突破,已升级至V3.2.2-beta版。
1、针对51,在中断中通过调用API来读取全局变量,已取消了全局变量存储域的限制。
2、针对51,在中断中接收消息,已实现可重入(不需要reentrant属性、不需要配置XBP)。

至此,针对51的各种中断同步服务(中断中接收邮件、中断中接收消息、中断中读全局变量)的调用限制均已取消!


51如同251、Arm一样,即使是在中断中,各种系统服务也可随意调用!
51已彻底摆脱可重入栈XBP,全面提速!
这是STC8051世界的重大胜利!





回复 支持 2 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:459
  • 最近打卡:2025-05-01 10:40:06

2

主题

36

回帖

848

积分

高级会员

积分
848
发表于 2023-7-9 18:34:47 | 显示全部楼层
回复

使用道具 举报 送花

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

5

主题

1127

回帖

4263

积分

荣誉版主

积分
4263
发表于 2023-7-16 18:14:18 | 显示全部楼层
本帖最后由 CosyOS 于 2023-7-16 20:13 编辑

CosyOS 最新版 V3.3.0-beta 发布了!


CosyOS 内核优化已接近完善,以后不会再有大的调整,未来主要是注释及说明文档需进一步完善。

现发布相关的示例代码:

一、CosyOS-STC32G-CORE-V1.0.9-Library-DemoCode-20230716(CosyOS内核版本 V3.3.0-beta,附带所有说明文档)
CosyOS-STC32G-CORE-V1.0.9-Library-DemoCode-20230716.zip (5.23 MB, 下载次数: 288)

二、CosyOS-STC8-TEST-V1.1.1-20230716(CosyOS内核版本 V3.3.0-beta,附带所有说明文档)
CosyOS-STC8-TEST-V1.1.1-20230716.zip (1.42 MB, 下载次数: 291)

三、CosyOS-STC32G-TEST-V1.1.1-20230716(CosyOS内核版本 V3.3.0-beta,附带所有说明文档)
CosyOS-STC32G-TEST-V1.1.1-20230716.zip (4.87 MB, 下载次数: 287)


最新版调整记录:
1、重新调整了任务服务,采用了统一的策略,使其可适用于任何MCU和编译器且都能实现较高的性能。
2、取消了MCU配置文件中的内存优化选项。
3、其它调整及优化。



未来,如非必要将不再发布上述同功能的示例代码。



回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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