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:}