CosyOS
发表于 2023-6-13 09:08:10
wenhuixuan 发表于 2023-6-13 08:28
十分期待CosyOS的入门教程!!
当前,CosyOS内核的主要优化工作已基本完成,今天还要再发布一次新版,是非常重要的版本升级。
下一步就是陆续增加注释及测试,还有编写教程。
WHX
发表于 2023-6-13 17:02:52
CosyOS 发表于 2023-6-13 09:08
当前,CosyOS内核的主要优化工作已基本完成,今天还要再发布一次新版,是非常重要的版本升级。
下一步就 ...
{:4_250:}厉害,期待中啊!
CosyOS
发表于 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中的下载及仿真功能即可恢复正常。
CosyOS
发表于 2023-6-15 00:16:53
针对Cortex-M内核的“私信”功能异常问题,现已查明原因并解决。
CosyOS已升级至V3.1.1-beta,由于对51、251并无影响,所以此次不再发布新版的示例代码。
CosyOS
发表于 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的好帮手,因为含有大量的服务应用。
CosyOS
发表于 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的好帮手,因为含有大量的服务应用。
CosyOS
发表于 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,快是必须的,稳定可靠只是基本条件。
CosyOS
发表于 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世界的重大胜利!
ghost
发表于 2023-7-9 18:34:47
{:victory:}{:victory:}
CosyOS
发表于 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-STC8-TEST-V1.1.1-20230716(CosyOS内核版本 V3.3.0-beta,附带所有说明文档)
三、CosyOS-STC32G-TEST-V1.1.1-20230716(CosyOS内核版本 V3.3.0-beta,附带所有说明文档)
最新版调整记录:
1、重新调整了任务服务,采用了统一的策略,使其可适用于任何MCU和编译器且都能实现较高的性能。
2、取消了MCU配置文件中的内存优化选项。
3、其它调整及优化。
未来,如非必要将不再发布上述同功能的示例代码。