原创极简的51-MCU专用RTOS TinyRTOS51
本帖最后由 fanxsp 于 2024-5-9 14:44 编辑TinyRTOS51 是一款专用于51-MCU的原创极简RTOS,
它占用极少的系统资源,实现了RTOS的基本功能:
任务切换、任务挂起、任务恢复、任务延时、
二值信号量、计数信号量、事件标志、消息队列等。
主要特点:
1.占用资源极少
代码:最小 1kbFlash
任务堆栈:
协作式调度(cooperation):最少9 bytes
抢占式调度(preemptive):最少18 bytes
任务控制块:3~11 bytes
可以在2kb flash、256bytes XRAM 的51MCU上轻松运行。
2.支持协作式调度和抢占式调度
协作式调度(cooperation):高优先级任务不能抢占低优先级任务,
只有在任务主动放弃控制权后,才进行任务切换。
抢占式调度(preemptive):高优先级任务抢占低优级任务,相同优先级的任务协作式调度。
3.支持16级任务优先级
任务优先级0~15,共16个优先级,数字越大优先级越低,最低优先级15固定分配给空闲任务使用,
用户可以使用0~14共15个优先级。不同任务可以有相同的优先级。
4.支持small、large模式的reentrant可重入函数。
5.支持动态优先级。
6.支持不可屏蔽中断NMI。
7.已实现的系统服务
任务挂起、任务恢复、任务延时、动态设置任务优先级、二值信号量、计数信号量、事件标志、消息队列。
考虑到本论坛为STC的专属论坛,代码中只保留几个基于STC8H开天斧开发板的几个测试例程,
欢迎热心网友参于测试,编制更多的测试例程。发现问题请及时反馈。
程序是在C51最新版9.61下测试的,建议将C51升级到最新版9.61。
TinyRTOS51V1.20 2024.04.20
1. 新增在任务中挂起其它任务。
2. 新增动态优先级支持。
3. 发现并修复一个比较严重的bug(多个任务等待同一个事件时,会导致系统崩溃)。
已下载老版本的网友,请务必下载更新到这个最新版本。
TinyRTOS51V1.22 2024.05.09
1. 发现并修复一个bug。
2. 优化代码,适应不同版本的编译器。
向【64位超算中心】前进 ! DSP + TFPU, DPU32@全新32位8051+DSP指令 讨论稿 - 视频教学,《单片机原理及应用》教学改革及实践研讨会,实战技术交流会,会务通知 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
本帖最后由 杨为民 于 2024-3-28 14:08 编辑
这是原创,麻雀虽小,五脏齐全。置顶供大家学习交流
先给楼主点个赞,过两天学习一下{:4_165:}
{:4_250:}支持原创 支持楼主!能用在stc32就好了 蜗牛 发表于 2024-3-29 22:54
支持楼主!能用在stc32就好了
已经着手在做了,还要一段时间。 还是研究超小型的比较实用. 本帖最后由 fanxsp 于 2024-3-30 07:51 编辑
xiangzichen 发表于 2024-3-30 00:24
还是研究超小型的比较实用.
欢迎大家参于测试,提出宝贵意见。我原本也是准备给自已用的,做为项目的基础框架。
思考再三,还是决定把它发布出来,这样测试进展会快一些。
稳定性还是需要大量的测试来验证的。
{:4_250:} 厉害,支持原创,点赞