全局不关总中断的 RTOS / CosyOS-II for STCAI MCU !
国产实时操作系统RTOS视频教学,在顶楼下载下来学习 !
===保证认真学的送 STCAI 高性能实验箱
要保证认真跟帖发表学习心得
国产原创 RTOS for 32位8051,32G12K128, Ai8051U 线上免费课程
国产原创 RTOS for 1T 8051, 8H8K64U, Ai8051U 线上免费课程
国产原创 RTOS 线上免费教学,腾讯会议教学直播已完成,20课时
全局不关总中断的 RTOS / CosyOS-II for STCAI MCU
2024/4/26,2024/4/28,2024/4/30,教学视频回放已上传
2024/5/15,2024/5/20,2024/5/22,教学视频回放已上传
2024/5/24,周五下午 14:00 ~ 16:30,教学视频回放已上传
学习支持 国产 RTOS 实时操作系统,
即送 【擎天柱-AI8051U转89C52核心板】
【免费+包邮 送】擎天柱:Ai8051U-LQFP48 转 89C52-DIP40 核心板 | 有配套程序 - 字库生成,图片取模,串口绘图,串口助手,虚拟硬件,外部串行Flash编程 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)
课程资料下载:
CosyOS-II 最新版_说明文档.zip
(1.58 MB, 下载次数: 1210)
这个说明文档已经过时了,但没有时间更新,仅做为参考。
可在 顶楼最下面 下载 最新版的 工程模板 和 API用户参考手册。
课程资料_20240426.zip
(2.29 MB, 下载次数: 982)
课程资料_20240428.zip
(2.36 MB, 下载次数: 750)
课程资料_20240430.zip
(2.28 MB, 下载次数: 783)
2024/05/15 课程,相应的 工程模板 附带 测试例程,在下面提供下载!
课程资料_20240520.rar
(186.71 KB, 下载次数: 616)
课程资料_20240522.rar
(725.04 KB, 下载次数: 608)
全局不关总中断的 RTOS / CosyOS-III for STC MCU
公告
● 最新版本:CosyOS-III V1.2.0,发布!重新调整了文件目录结构和移植架构,耦合度更低、移植更便利。
● CosyOS 取得重大技术突破,现已升级至 CosyOS-III,代码风格焕然一新,说明文档持续更新中。。。
简介
CosyOS是一款来自中国的开源实时操作系统,从经典的8051内核,到流行的Arm Cortex-M内核,
均可实现全局不关总中断、零中断延迟,适用于对系统实时性及中断响应速度有较高要求的场合。
CosyOS以极具浪漫主义色彩的宏定义,实现了高度的面向对象及良好的易用性。
支持内核
CosyOS现原生支持8051/STC8H、STC32位8051/STC32G12K128、Cortex-M等内核,未来会陆续添加对其它内核的支持。
实际用STC8H、STC32进行了开发测试,可以说是为STC8051世界量身定做,无需移植。
编译环境
CosyOS是在Keil C51、C251、MDK-Arm编译器下开发的,对其支持最好。未来,将会陆续优化调整对其它编译器的支持。
突破创新
● 所有支持内核均已实现全局不关总中断、零中断延迟,从系统层面保证了用户中断的实时响应
● 领先的零中断延迟技术,率先应用于8051、Cortex-M0等处理器,在世界上可能尚属首例
● 任务就绪表,采用 零/一/二级位图,保证了抢占式任务调度的硬实时性
● 三维链表(独家技术),可显著的减少操作链表,服务执行速度更快
● 创新的协作式调度,仅作用于相同优先级的任务,具有高度的实用价值
● 独家技术实现系统服务函数的可重入,使51彻底摆脱可重入栈、全面提速
● 针对51做了高度的性能优化,使51迸发出蓬勃生机、熠熠生辉
● 251支持MSP、PSP两种栈模式,其中PSP模式可使任务的切换效率等同于Cortex-M
● 定时服务(软件定时器中断),支持钩子和任务,任务优先级都可由用户灵活配置
● 独创的飞信,极简类型、极速通信,是线程间通信的利器
● 事件标志组,对标志组和标志位的访问通过组名和位名来实现,极大的方便了标志组的应用
● 全局变量访问,支持在任意任务和中断中对全局变量的安全访问,而不必担心重入的发生
● 安全关键技术,拥有多项安全关键技术,如中断挂起服务空间隔离、安全运行时等,可靠性高
因循守旧
● 完全开源的免版税、确定性的RTOS
● 任务调度,支持不同优先级“抢占式调度”,相同优先级“协作式调度”或“时间片轮转调度”
● 用户任务数量不限,最多支持256级任务优先级
● 简洁高效的代码,极低的硬件资源占用,使CosyOS可轻松应用于各种小型MCU
● 任务管理器,实时监控各任务的运行,协助开发者及时发现设计中存在的潜在问题
什么是零中断延迟?
零中断延迟并非是中断响应时间为零,
而是指当引入了RTOS以后,由RTOS保护临界段而导致的中断响应时间延迟为零。
换言之,中断响应时间不受RTOS影响,与裸机编程是一样的。
CosyOS - 实时运行模型
- 用户中断层 [用户中断按中断优先级实时抢占、零中断延迟]
- 中断本地服务 -> 执行
- 中断挂起服务_FIFO -> 装载
- 中断挂起服务_FLAG -> 设置
- 内核服务层
- SysTick [minpri]
- 软件定时器计数
- 恢复定时任务
- 调用定时钩子、滴答钩子 [滴答服务 -> 执行]
- PendSV [minpri]
- 中断挂起服务_FIFO -> 执行
- 中断挂起服务_FLAG -> 执行
- 任务调度切换
- 内核锁 [关闭 SysTick/PendSV]
- 任务层 [下方示例为仅抢占式调度并启用DEBUG]
- 系统保留 [maxpri]
- Debugger [maxpri-1]
- Taskmgr [maxpri-2]
- Starter [maxpri-3]
- 一般用户任务 [maxpri-4 ~ minpri+1:1]
- 系统空闲任务 [minpri:0]
CosyOS - 零中断延迟基本原理
一、服务层中,SysTick、PendSV、任务临界区,三者间是互斥访问的。换言之,整个服务层是一个大临界区(服务层临界区)。
二、所有内核服务(中断本地服务除外),均在“服务层临界区”执行,从而保证服务的“操作流”不会被打断。
三、中断本地服务采用互斥访问机制。
CosyOS-II 内核对象大小:
任务对象大小:
sizeof 静态创建:taskhandle + tasknode + taskstack;
sizeof 动态创建:taskhandle + taskhand + malloc(tasknode) + malloc(taskstack);
注解:
TMR:软件定时器
TID:任务ID
SRT:安全运行时
DBG:debug调试功能
REG:REGBANK0(当最低优先级中断REGBANK非BANK0时需要+8)
C251 的 ptr-2、ptr-4,是指内核对象指针变量的size,由 mcucfg_80251.h 中的“内存方案配置”选项来决定。
STC32 内存方案配置:
针对STC32,提供了内存方案配置,可更有效的综合利用 edata、xdata。
相信,CosyOS将会成为 www.STCAIMCU.com 的加速器,助力STC32位8051腾飞!
2025/4/3:
CosyOS-III 最新版 V1.2.0-beta 发布!
CosyOS-III 工程模板 附带 测试例程
分别针对 STC8H、STC32G,并附带 测试例程。
最新版下载:
1、CosyOS-III-STC8H-工程模板 下载:
CosyOS-III-STC8H-V1.2.0_20250403.rar
(1.8 MB, 下载次数: 75)
2、CosyOS-III-STC32G-工程模板 下载(内存配置方案一):
CosyOS-III-STC32G-V1.2.0_20250403.rar
(3.6 MB, 下载次数: 76)
3、CosyOS-III API 用户参考手册(doxygen生成,html,浏览器打开 index.html)
CosyOS-III API 用户参考手册 V1.2.0.rar
(321.5 KB, 下载次数: 95)
上一版本下载:(这是 CosyOS-II 的最后一个版本,就暂时保留吧)
1、CosyOS-II-STC8H-工程模板 下载:
CosyOS-II-STC8H-V3.4.0_工程模板.rar
(975.32 KB, 下载次数: 164)
2、CosyOS-II-STC32G-工程模板 下载(内存配置方案一):
CosyOS-II-STC32G-V3.4.0_工程模板.rar
(2.64 MB, 下载次数: 289)
3、CosyOS-II API 用户参考手册(doxygen生成,html,浏览器打开 index.html)
CosyOS-II API 用户参考手册 V1.0.3.rar
(305.09 KB, 下载次数: 186)
以后最新版本均在此处提供下载,如测试发现问题请及时反馈!
|