tzz1983 发表于 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 修饰, 也不会有额外的开销, 看起来就合理多了

fanxsp 发表于 2024-4-8 16:11:06

本帖最后由 fanxsp 于 2024-4-8 16:23 编辑

tzz1983 发表于 2024-4-8 11:57
嗯,用一段时间看看再说, 我想到几个可能要改善的参考点.



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

fanxsp 发表于 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

tzz1983 发表于 2024-4-15 20:27:23

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

{:4_250:}

杨为民 发表于 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会排名第一


fanxsp 发表于 2024-4-15 21:40:36

杨为民 发表于 2024-4-15 20:56
祝贺!
作为本尊,你能在把任务堆栈建XDATA中,然后用排行榜的测试程序测试一下,然后把测试程序发上来吗 ...

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

杨为民 发表于 2024-4-15 21:41:23

fanxsp 发表于 2024-4-15 21:40
好的,我先看一下排行榜的测试程序

谢谢

咫尺天涯 发表于 2024-4-16 10:02:47

非常不错

fanxsp 发表于 2024-4-20 20:19:25

本帖最后由 fanxsp 于 2024-4-20 20:21 编辑

TinyRTOS51V1.20   2024.04.20
    1. 新增在任务中挂起其它任务。
    2. 新增动态优先级支持。
    3. 发现并修复一个比较严重的bug(多个任务等待同一个事件时,会导致系统崩溃)。
    已下载老版本的网友,请务必下载更新到这个最新版本。

tzz1983 发表于 2024-4-20 20:31:18

fanxsp 发表于 2024-4-20 20:19
TinyRTOS51V1.20   2024.04.20
    1. 新增在任务中挂起其它任务。
    2. 新增动态优先级支持。


{:4_250:}
页: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
查看完整版本: 原创极简的51-MCU专用RTOS TinyRTOS51