找回密码
 立即注册
楼主: fan***

原创极简的51MCU专用RTOS TinyRTOS51

[复制链接]

该用户从未签到

19

主题

519

回帖

1642

积分

荣誉版主

积分
1642
发表于 2024-4-8 11:57:54 | 显示全部楼层
本帖最后由 tzz1983 于 2024-4-8 11:59 编辑
fanxsp 发表于 2024-4-8 10:39
还没有在实际项目用过,新项目还在硬件设计选型阶段。我自已觉得总体应该没有大的问题,使用的过程中如果 ...

嗯,用一段时间看看再说, 我想到几个可能要改善的参考点.


*  项目中用的是Small模式, 代码规模大了以后, 形参和局部变量增多,
    任务设调用树顶层导致许多变量不能覆盖,最终可能导data紧张.  
    实际上我认为Large是一个不错的选项, 虽然小规模时效率略低, 但规模越大优势越大.

*  重入选项还是得考虑进去, 虽然这个不常用, 也可以避免.
    但是一个C_XBP或C_IBP的开销并不大, 通用性却变强了. 让人有信心.

*   书写的严谨性: 比如OS中的OSDelay(); 这个函数只有一个形参, 无局部.
     即便是加了 reentrant 修饰, 也不会有额外的开销, 看起来就合理多了
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 154 天

    [LV.7]常住居民III

    1

    主题

    96

    回帖

    453

    积分

    中级会员

    积分
    453
     楼主| 发表于 2024-4-8 16:11:06 | 显示全部楼层
    本帖最后由 fanxsp 于 2024-4-8 16:23 编辑
    tzz1983 发表于 2024-4-8 11:57
    嗯,用一段时间看看再说, 我想到几个可能要改善的参考点.

    任务函数设为覆盖分析的根,保证任务函数之间不会覆盖,但是任务函数内部还是会进行覆盖分析。
    data不够用没关系,用户函数的局部变量和参数都可以自行指定为idata和xdata。
    支持reentrant函数,已经在做了。新增功能都是做成可裁剪的。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 154 天

    [LV.7]常住居民III

    1

    主题

    96

    回帖

    453

    积分

    中级会员

    积分
    453
     楼主| 发表于 2024-4-15 20:17:00 | 显示全部楼层
    本帖最后由 fanxsp 于 2024-4-15 20:20 编辑

    TinyRTOS51 V1.10, 新增对small、large模式的reentrant可重入函数的支持。
    新增一个用逻辑分析仪测量任务切换时间的例程,实测结果如下:
    完整任务切换,包括链表、TCB操作及上下文切换的时间。
    时钟  22.1184M
    任务内切换:14.92us
    中断内切换:15.56us
    换算到 时钟  40M
    任务内切换:8.25us
    中断内切换:8.6us

    点评

    祝贺! 作为本尊,你能在把任务堆栈建XDATA中,然后用排行榜的测试程序测试一下,然后把测试程序发上来吗? 我计划在排行榜3楼对STC8H系列的各位的RTOS作品也排行,不出意外的话我的STC8H的RTOS会排名垫底,你的Tiny  详情 回复 发表于 2024-4-15 20:56
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    519

    回帖

    1642

    积分

    荣誉版主

    积分
    1642
    发表于 2024-4-15 20:27:23 | 显示全部楼层
    fanxsp 发表于 2024-4-15 20:17
    TinyRTOS51 V1.10, 新增对small、large模式的reentrant可重入函数的支持。
    新增一个用逻辑分析仪测量任务切 ...

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10818
    发表于 2024-4-15 20:56:42 | 显示全部楼层
    fanxsp 发表于 2024-4-15 20:17
    TinyRTOS51 V1.10, 新增对small、large模式的reentrant可重入函数的支持。
    新增一个用逻辑分析仪测量任务切 ...

    祝贺!
    作为本尊,你能在把任务堆栈建XDATA中,然后用排行榜的测试程序测试一下,然后把测试程序发上来吗?
    我计划在排行榜3楼对STC8H系列的各位的RTOS作品也排行,不出意外的话我的STC8H的RTOS会排名垫底,你的TinyRTOS51会排名第一


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 154 天

    [LV.7]常住居民III

    1

    主题

    96

    回帖

    453

    积分

    中级会员

    积分
    453
     楼主| 发表于 2024-4-15 21:40:36 | 显示全部楼层
    杨为民 发表于 2024-4-15 20:56
    祝贺!
    作为本尊,你能在把任务堆栈建XDATA中,然后用排行榜的测试程序测试一下,然后把测试程序发上来吗 ...

    好的,我先看一下排行榜的测试程序

    点评

    谢谢  详情 回复 发表于 2024-4-15 21:41
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10818
    发表于 2024-4-15 21:41:23 | 显示全部楼层
    fanxsp 发表于 2024-4-15 21:40
    好的,我先看一下排行榜的测试程序

    谢谢
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:13
  • 签到天数: 51 天

    [LV.5]常住居民I

    2

    主题

    148

    回帖

    191

    积分

    注册会员

    积分
    191
    发表于 2024-4-16 10:02:47 | 显示全部楼层
    非常不错
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 154 天

    [LV.7]常住居民III

    1

    主题

    96

    回帖

    453

    积分

    中级会员

    积分
    453
     楼主| 发表于 2024-4-20 20:19:25 | 显示全部楼层
    本帖最后由 fanxsp 于 2024-4-20 20:21 编辑

    TinyRTOS51  V1.20   2024.04.20
        1. 新增在任务中挂起其它任务。
        2. 新增动态优先级支持。
        3. 发现并修复一个比较严重的bug(多个任务等待同一个事件时,会导致系统崩溃)。

        已下载老版本的网友,请务必下载更新到这个最新版本。
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    19

    主题

    519

    回帖

    1642

    积分

    荣誉版主

    积分
    1642
    发表于 2024-4-20 20:31:18 | 显示全部楼层
    fanxsp 发表于 2024-4-20 20:19
    TinyRTOS51  V1.20   2024.04.20
        1. 新增在任务中挂起其它任务。
        2. 新增动态优先级支持。

    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-30 12:24 , Processed in 0.069093 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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