杨为民 发表于 2024-5-8 00:46:56

tzz1983 发表于 2024-5-7 10:48
可以的

请本尊写个排行榜测试程序传上来,参加STC8H的排行榜

durongze 发表于 2024-5-8 06:54:24

期待大佬们出个stc32g的。。。

tzz1983 发表于 2024-5-8 09:36:35

杨为民 发表于 2024-5-8 00:46
请本尊写个排行榜测试程序传上来,参加STC8H的排行榜





辛苦杨老师了{:handshake:}
这里顺带发一个编译结果,这个测试例程用的OS功能很少,
基本上可以体现出uC/OS-II最小资源占用情况如图:


data=27.1xdata=520code=4953
对OS占用资源情况不了解的朋友,这下可以放心了




杨为民 发表于 2024-5-8 10:27:55

tzz1983 发表于 2024-5-8 09:36
辛苦杨老师了
这里顺带发一个编译结果,这个测试例程用的OS功能很少,
基本上可以体现出uC/OS-II最小 ...

收到,谢谢

西红柿牛柳 发表于 2024-5-8 14:07:51

强大的一批

tzz1983 发表于 2024-5-10 11:22:19

杨为民 发表于 2024-5-8 10:27
收到,谢谢

杨老师,测试好吗?{:lol:}

有没有遇到编译报错的问题?
我在头件(ucos_ii.h尾部)中新增的几个函数声明忘记加条件编译,
导致os_cfg.h中配制禁用相关模块时,头文件编译报错->缺少相关的数据结构声明。
如果遇到这种情况,发给我修正一下,或者自己加一下。

杨为民 发表于 2024-5-10 11:29:25

tzz1983 发表于 2024-5-10 11:22
杨老师,测试好吗?

有没有遇到编译报错的问题?


测了,你的程序我编译了,0错误0警告,等待与其他新一轮作品一起公布。

杨为民 发表于 2024-5-10 21:45:31

tzz1983 发表于 2024-5-10 11:22
杨老师,测试好吗?

有没有遇到编译报错的问题?


(1)本来等待的CosyOS-II for M3/M4以及熊仔的新版本一时半会儿等不到了,你的这个移植版的特性先自己测一下,先放在这个帖子里介绍吧,我的那个排行榜暂时不会更新了。
(2)你专门介绍一下你自己写的“中断实时响应”的那部分程序,写得过于奇怪,我怀疑测出来的结果是否有代表性。
(3)也许你应该专门介绍一下在用户中断里如何使用系统服务,强调一下有什么需要注意的。





tzz1983 发表于 2024-5-11 09:07:29

本帖最后由 tzz1983 于 2024-5-11 09:21 编辑

杨为民 发表于 2024-5-10 21:45
(1)本来等待的CosyOS-II for M3/M4以及熊仔的新版本一时半会儿等不到了,你的这个移植版的特性先自己测 ...
使用中断,和祼机完全一样, (就是以前是要在中断里 OSIntNesting++ 和 OSIntExit(), 现在不需要了)

中断里调用OS服务,分两种情
1. 原uC/OS-II中的通用服务, 即原本就是可任务调用也可中断调用的服务,仍可直接在中断里直接使用。
2.针对所有需要中断调用并且会引起任务切换的OS服务,移植版本提供了额外的中断调用版本,以原名函数+FROM_ISR结尾。
这一点和FreeRTOS使用规则是一致的。

具体可以看文件中的说明文档:

中断调用OS服务的注意事项:
* 有许多OS服务是不可以在中断例程中调用的,
* 原版的uCOS-II提供了OSIntNesting值来判断,
* 可以检测到用户的错误调用,从而提前返回一个错误码.
* 移植后的uCOS-II彻底取消了OSIntNesting
* 所以需要用户自行甄别哪些OS服务是不可以在中断例程中调用的( 比如OSTimeDly(),OSxxPend() 就是不可以在中断服务里调用的 )
* 如何判断一个服务是否可以在中断例程中调用? 方法是: 通过查看原码,如果该服务不会返回中断调用错误码,
* 同时也不会引起任务切换,就是通用服务,即->可以任务级调用,也可中断级调用. 否则不可中断调用.

* 针对所有需要中断调用并且会引起任务切换的OS服务,移植版本提供了额外的中断调用版本,以下是新增中断服务的函数.
INT8UOSTaskSuspend_FROM_ISR (INT8U prio)FunctionProperties;
INT8UOSTaskResume_FROM_ISR (INT8U prio)FunctionProperties;
INT8UOSTaskChangePrio_FROM_ISR (INT8Uoldprio,INT8Unewprio)FunctionProperties;
INT8UOSTimeDlyResume_FROM_ISR (INT8U prio)FunctionProperties;
INT8UOSSemPendAbort_FROM_ISR (OS_EVENT *pevent, INT8U opt, INT8U *perr)FunctionProperties;
INT8UOSSemPost_FROM_ISR (OS_EVENT *pevent)FunctionProperties;
OS_FLAGSOSFlagPost_FROM_ISR (OS_FLAG_GRP*pgrp, OS_FLAGS flags, INT8U opt, INT8U *perr)FunctionProperties;
INT8UOSMboxPostOpt_FROM_ISR (OS_EVENT*pevent, void *pmsg, INT8U opt)FunctionProperties;
INT8UOSMboxPost_FROM_ISR (OS_EVENT*pevent, void *pmsg)FunctionProperties;
INT8UOSMboxPendAbort_FROM_ISR (OS_EVENT*pevent, INT8U opt, INT8U *perr)FunctionProperties;
INT8UOSQPendAbort_FROM_ISR (OS_EVENT*pevent, INT8U opt, INT8U *perr)FunctionProperties;
INT8UOSQPost_FROM_ISR (OS_EVENT*pevent, void *pmsg)FunctionProperties;
INT8UOSQPostFront_FROM_ISR (OS_EVENT*pevent, void *pmsg)FunctionProperties;
INT8UOSQPostOpt_FROM_ISR (OS_EVENT*pevent, void *pmsg, INT8U opt)FunctionProperties;


有一定RTOS功底的应该是很好上手的。
这里不多说了,本来就是打算自己用的,我没有精力去搞宣传和教化。
学这个东西多半还是要靠自己悟的,啃代码就是最好的老师,谁学RTOS是靠人教会的?

tzz1983 发表于 2024-5-11 09:09:53

杨为民 发表于 2024-5-10 21:45
(1)本来等待的CosyOS-II for M3/M4以及熊仔的新版本一时半会儿等不到了,你的这个移植版的特性先自己测 ...

您说写得过于奇怪的地方,是哪里?可以贴出代码,我愿意为您单独解释
页: 1 [2] 3 4 5 6 7
查看完整版本: uC/OS-II@8H8K64U, 51核移植版本!杨教授:51核上激动人心的RTOS生态已具备