fanxsp 发表于 2024-3-28 13:42:08

原创极简的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. 优化代码,适应不同版本的编译器。











神农鼎 发表于 2024-4-1 22:41:56



向【64位超算中心】前进 ! DSP + TFPU, DPU32@全新32位8051+DSP指令 讨论稿 - 视频教学,《单片机原理及应用》教学改革及实践研讨会,实战技术交流会,会务通知 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)


杨为民 发表于 2024-3-28 13:47:47

本帖最后由 杨为民 于 2024-3-28 14:08 编辑

这是原创,麻雀虽小,五脏齐全。置顶供大家学习交流

gentleman 发表于 2024-3-28 14:20:14

先给楼主点个赞,过两天学习一下{:4_165:}

CosyOS 发表于 2024-3-28 15:38:20

{:4_250:}支持原创

蜗牛 发表于 2024-3-29 22:54:44

支持楼主!能用在stc32就好了

fanxsp 发表于 2024-3-29 23:54:27

蜗牛 发表于 2024-3-29 22:54
支持楼主!能用在stc32就好了
已经着手在做了,还要一段时间。

xiangzichen 发表于 2024-3-30 00:24:54

还是研究超小型的比较实用.

fanxsp 发表于 2024-3-30 07:36:53

本帖最后由 fanxsp 于 2024-3-30 07:51 编辑

xiangzichen 发表于 2024-3-30 00:24
还是研究超小型的比较实用.
欢迎大家参于测试,提出宝贵意见。我原本也是准备给自已用的,做为项目的基础框架。
思考再三,还是决定把它发布出来,这样测试进展会快一些。
稳定性还是需要大量的测试来验证的。

jwd 发表于 2024-3-30 07:54:42

{:4_250:}

小涵子爸爸 发表于 2024-3-30 08:17:26

厉害,支持原创,点赞
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 原创极简的51-MCU专用RTOS TinyRTOS51