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

uC/OS-II@STC8H, 51核移植版本!杨教授:51核上激动人心的RTOS生态已具备

[复制链接]

该用户从未签到

66

主题

719

回帖

1万

积分

荣誉版主

积分
11019
发表于 2024-5-8 00:46:56 | 显示全部楼层

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

点评

辛苦杨老师了 这里顺带发一个编译结果,这个测试例程用的OS功能很少, 基本上可以体现出uC/OS-II最小资源占用情况如图: [attachimg]43435[/attachimg] data=27.1 xdata=520 code=4953 对OS占用资源情况  详情 回复 发表于 2024-5-8 09:36
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 48 天

    [LV.5]常住居民I

    43

    主题

    307

    回帖

    690

    积分

    高级会员

    积分
    690
    发表于 2024-5-8 06:54:24 | 显示全部楼层
    期待大佬们出个stc32g的。。。
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    587

    回帖

    1303

    积分

    荣誉版主

    积分
    1303
     楼主| 发表于 2024-5-8 09:36:35 | 显示全部楼层
    杨为民 发表于 2024-5-8 00:46
    请本尊写个排行榜测试程序传上来,参加STC8H的排行榜



    uCOS-II_STC8H_small large(辛苦杨师测试).rar (1.01 MB, 下载次数: 34)


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

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




    点评

    收到,谢谢  详情 回复 发表于 2024-5-8 10:27
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    66

    主题

    719

    回帖

    1万

    积分

    荣誉版主

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

    收到,谢谢

    点评

    杨老师,测试好吗? 有没有遇到编译报错的问题? 我在头件(ucos_ii.h尾部)中新增的几个函数声明忘记加条件编译, 导致os_cfg.h中配制禁用相关模块时,头文件编译报错->缺少相关的数据结构声明。 如果遇到这种情  详情 回复 发表于 2024-5-10 11:22
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    3 小时前
  • 签到天数: 164 天

    [LV.7]常住居民III

    3

    主题

    114

    回帖

    245

    积分

    中级会员

    积分
    245
    发表于 2024-5-8 14:07:51 | 显示全部楼层
    强大的一批
    You can you up!~No can no BB!~
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    587

    回帖

    1303

    积分

    荣誉版主

    积分
    1303
     楼主| 发表于 2024-5-10 11:22:19 | 显示全部楼层

    杨老师,测试好吗?

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

    点评

    (1)本来等待的CosyOS-II for M3/M4以及熊仔的新版本一时半会儿等不到了,你的这个移植版的特性先自己测一下,先放在这个帖子里介绍吧,我的那个排行榜暂时不会更新了。 (2)你专门介绍一下你自己写的“中断实时响  详情 回复 发表于 2024-5-10 21:45
    测了,你的程序我编译了,0错误0警告,等待与其他新一轮作品一起公布。  详情 回复 发表于 2024-5-10 11:29
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    66

    主题

    719

    回帖

    1万

    积分

    荣誉版主

    积分
    11019
    发表于 2024-5-10 11:29:25 | 显示全部楼层
    tzz1983 发表于 2024-5-10 11:22
    杨老师,测试好吗?

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

    测了,你的程序我编译了,0错误0警告,等待与其他新一轮作品一起公布。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    66

    主题

    719

    回帖

    1万

    积分

    荣誉版主

    积分
    11019
    发表于 2024-5-10 21:45:31 | 显示全部楼层
    tzz1983 发表于 2024-5-10 11:22
    杨老师,测试好吗?

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

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





    点评

    发给您的测试代码,有TIM3中断的使用, 一楼的代码,有串口中断的使用,都可以参照。无需另外发中断使用的例子了  详情 回复 发表于 2024-5-11 09:20
    您说写得过于奇怪的地方,是哪里? 可以贴出代码,我愿意为您单独解释  详情 回复 发表于 2024-5-11 09:09
    使用中断,和祼机完全一样 如果调用OS服务,分两种情 1. 原uC/OS-II中的通用服务, 即原本就是可任务调用也可中断调用的服务,仍可直接在中断里直接使用。 2.针对所有需要中断调用并且会引起任务切换的OS服务,移植  详情 回复 发表于 2024-5-11 09:07
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    587

    回帖

    1303

    积分

    荣誉版主

    积分
    1303
     楼主| 发表于 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服务,移植版本提供了额外的中断调用版本,以下是新增中断服务的函数.
    INT8U  OSTaskSuspend_FROM_ISR (INT8U prio)FunctionProperties;
    INT8U  OSTaskResume_FROM_ISR (INT8U prio)FunctionProperties;
    INT8U  OSTaskChangePrio_FROM_ISR (INT8U  oldprio,INT8U  newprio)FunctionProperties;
    INT8U  OSTimeDlyResume_FROM_ISR (INT8U prio)FunctionProperties;
    INT8U  OSSemPendAbort_FROM_ISR (OS_EVENT *pevent, INT8U opt, INT8U *perr)FunctionProperties;
    INT8U  OSSemPost_FROM_ISR (OS_EVENT *pevent)FunctionProperties;
    OS_FLAGS  OSFlagPost_FROM_ISR (OS_FLAG_GRP  *pgrp, OS_FLAGS flags, INT8U opt, INT8U *perr)FunctionProperties;
    INT8U  OSMboxPostOpt_FROM_ISR (OS_EVENT  *pevent, void *pmsg, INT8U opt)FunctionProperties;
    INT8U  OSMboxPost_FROM_ISR (OS_EVENT  *pevent, void *pmsg)FunctionProperties;
    INT8U  OSMboxPendAbort_FROM_ISR (OS_EVENT  *pevent, INT8U opt, INT8U *perr)FunctionProperties;
    INT8U  OSQPendAbort_FROM_ISR (OS_EVENT  *pevent, INT8U opt, INT8U *perr)FunctionProperties;
    INT8U  OSQPost_FROM_ISR (OS_EVENT  *pevent, void *pmsg)FunctionProperties;
    INT8U  OSQPostFront_FROM_ISR (OS_EVENT  *pevent, void *pmsg)FunctionProperties;
    INT8U  OSQPostOpt_FROM_ISR (OS_EVENT  *pevent, void *pmsg, INT8U opt)FunctionProperties;


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

    点评

    这一楼的说明写得不错。去看看我对你作品的点评: 《单片机RTOS实时响应时间排行榜重大宣布:STC32G12K128单片机 全面碾压 STM32F103C》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7724&extra=page%3  详情 回复 发表于 2024-5-11 16:35
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    587

    回帖

    1303

    积分

    荣誉版主

    积分
    1303
     楼主| 发表于 2024-5-11 09:09:53 | 显示全部楼层
    杨为民 发表于 2024-5-10 21:45
    (1)本来等待的CosyOS-II for M3/M4以及熊仔的新版本一时半会儿等不到了,你的这个移植版的特性先自己测 ...

    您说写得过于奇怪的地方,是哪里?  可以贴出代码,我愿意为您单独解释

    点评

    (1)我的排行榜测试程序设计的是1秒钟进行一次产生中断调用。当然STC8H/32G的定时器3产生不了1秒钟的延迟,看看你的招数: oid Timer3_ISR_Handler (void) interrupt 19 { T4T3M &= ~0x08; //定时器3停止计数  详情 回复 发表于 2024-5-12 17:15
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-15 12:11 , Processed in 0.087982 second(s), 77 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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