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

STC单片机 uC/OS-II核心技术(13):写(或移植)个 OS系统, 关总中断,不影响OS系统运行

[复制链接]
  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 131 天

    [LV.7]常住居民III

    37

    主题

    867

    回帖

    3934

    积分

    荣誉版主

    积分
    3934
    发表于 2024-3-24 23:50:15 | 显示全部楼层
    既然小声的问不行,

    那就大声的问, 你的大作 <挑战者x51(3):不使用任何中断的uC/OS-II移植版>

    附带的测试程序, 经打开, 没看见有使用 定时器 0 呀???

    请问你使用了吗? 你会用吗? 你不是喜欢用实例来回答吗? 请大声的回答 !



    通过 KEIL C251 , 运行附带的测试程序, 请看下面反汇编, 是否存在 定时器 0 中断入口(固定值: FF:000BH)


    捕获.JPG

    点评

    LAOXU,我为你的语文水平和智力水平担忧: 我已经明明白白在标题里写了“不使用任何中断的uC/OS-II移植版”!!! 你也明明白白地引用出来了: “那就大声的问, 你的大作 ” 你还要亲自去程序里看:附带的测试程  详情 回复 发表于 2024-3-25 11:31
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    37

    主题

    867

    回帖

    3934

    积分

    荣誉版主

    积分
    3934
    发表于 2024-3-25 00:17:42 | 显示全部楼层
    题目的要求是: OS的使用与性能, 现在的通用级 OS标准, 什么差别,

    答卷里, 连半个中断都没有, 嘀嗒时钟如何实现?  一个没有嘀嗒时钟的 OS, 能叫 OS吗?



    和现在通用级 OS标准, 差的远呢~~~



    作为初学者的玩具可以.

    点评

    ==== 再次提高要求题目 ===================================== LAOXU对我的第一次答卷: 《挑战者x51(3):不使用任何中断的uC/OS-II移植版》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4506) 评  详情 回复 发表于 2024-3-25 01:06
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10812
     楼主| 发表于 2024-3-25 01:06:37 | 显示全部楼层
    本帖最后由 杨为民 于 2024-3-25 01:15 编辑
    LAOXU 发表于 2024-3-25 00:17
    题目的要求是: OS的使用与性能, 与现在的通用级 OS标准, 无什么差别,

    答卷里, 连半个中断都没有, 嘀嗒时钟 ...

    ==== 再次提高要求题目 =====================================
    LAOXU对我的第一次答卷:
    《挑战者x51(3):不使用任何中断的uC/OS-II移植版》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4506
    评判为不及格,说是初学者玩具,在本贴第12楼明确提出要有中断, 嘀嗒时钟:

    题目的要求是: OS的使用与性能, 现在的通用级 OS标准, 什么差别,
    答卷里, 连半个中断都没有, 嘀嗒时钟如何实现?  一个没有嘀嗒时钟的 OS, 能叫 OS吗?

    和现在通用级 OS标准, 差的远呢~~~

    作为初学者的玩具可以.


    ==== 我的答复 ====================
    谢谢LAOXU不但看了考试卷子,还能够仔细看我的代码,然后才做出了公正的评判。
    下面是我的补考卷子:
    挑战者x51(4):零中断延迟的uC/OS-II的STC32G移植版》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4600) 2023年10月11日
    一、引  言
    (1)通常包括uC/OS-II在内的单片机上的RTOS都使用关闭总中断作为对临界资源和临界过程的保护方法,但是这种方法会影响RTOS系统的实时性。
    在单片机RTOS中任务控制块(TCB)是最重要的临界资源,控制各个任务的状态。在单片机RTOS中进行任务调度是最重要的临界过程,它根据系统和用户的要求对RTOS的临界资源进行读写操作。
    处于对操作系统可靠性的要求,要求对这些临界资源的操作必须是独占地连续地进行,因此关闭总中断是一种最简单的方法,可以确保临界区内的程序连续地被执行。
    在临界区中关闭总中断执行程序的时候,任何中断都会被阻塞不能发生,这个中断延迟时间就成了RTOS系统的实时响应时间上限。
    因此对于一个RTOS系统,这个中断延迟时间越小越好,最好为零。
    (2)STC32G/F是STC最新的32位单片机系列,片上的大量高速设备可以在很多领域得到应用。片上众多的高速设备都需要中断的支持,中断源的数量已经超过60个。基于80251的中断机制,除个别中断外,总中断(EA)一个标志位,控制着这些所有这些中断的使能,如果在临界区中关闭总中断,则所有硬件中断都会被阻塞不能发生,如果这时发生同步/异步通讯中断请求,则可能产生通讯错误。
    因此对于STC32G单片机RTOS系统,关闭总中断的时间越小越好,最好任何时候都不关闭总中断。
    (3)挑战者x51-UCOS2 V3.10是uC/OS-II在STC32G单片机上移植版。其设计目标是:
    在RTOS的所有内核中都不涉及对总中断标志“EA”的操作,在整个单片机运行过程中,挑战者x51系统都不会关闭总中断,实现零中断延迟,适用于对系统实时性及中断响应速度有很高要求的场。
    (4)为了展示移植版的特色,判断移植版是否达到移植目标,移植版必须配有一些可以在实际单片机上运行的范例程序。
    为了展示挑战者x51移植版是否达到所有内核函数全局不关总中断(零中断延迟)的目标,本文提供了三个范例,这三个范例都使用了定时器0的模式3不可屏蔽中断来作为挑战者x51实时操作系统的节拍器
    第一个范例显示了任何时候不关闭系统中断的效果,第二个范例显示了关闭总中断并不影响定时器0的不可屏蔽中断和RTOS的任务调度,第三个范例显示了在移植版中使用加锁/解锁的临界区保护方法不影响任何中断的发生。



    以上是我的补考答卷,请LAOXU给我一个机会,通过补充考试,最好是分数高一点。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 141 天

    [LV.7]常住居民III

    29

    主题

    559

    回帖

    2106

    积分

    荣誉版主

    积分
    2106
    发表于 2024-3-25 08:56:09 | 显示全部楼层
    也交一份答卷,其实是抄了杨老师的作业

    不关EA 的freeRTOS
                 
    下图为测试
       任务B 关闭EA后
       任务A 依旧正常运行








    【答卷】随时关EA的 FreeRTOS - FreeRTOS/uCOS,GUI-uGFX/U8g2,文件系统/嵌入式系统/实时操作系统 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

    点评

    非常正确!给你点赞! (1)其实FreeRTOS、uC/OS-II、uC/OS-III和RT-Thread等这些著名的RTOS都是可以在关闭总中断的情况下正常工作的,而且已经写在教科书里了! 这是一种RTOS的工作模式:“非中断任务切换”,也  详情 回复 发表于 2024-3-25 10:36
    不错,请求考官给满分  发表于 2024-3-25 09:32
    1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10812
     楼主| 发表于 2024-3-25 10:36:38 | 显示全部楼层
    本帖最后由 杨为民 于 2024-3-25 11:43 编辑
    gentleman 发表于 2024-3-25 08:56
    也交一份答卷,其实是抄了杨老师的作业

    不关EA 的freeRTOS

    非常正确!给你点赞!


    (1)其实FreeRTOS、uC/OS-II、uC/OS-III和RT-Thread等这些著名的RTOS都是可以在关闭总中断的情况下正常工作的,而且已经写在教科书里了
    这是一种RTOS的工作模式:“非中断任务切换”,也简称“任务级切换”(Task Switch),有专门的任务调度函数实现。
    (2)你的例子很正确,其实STC官方移植的FreeRTOS早就是满足LAOXU要求的移植例子。只是作者不在,而且考官指名道姓地要看我的本事,我只好不提论坛里的RTOS了。
    (3)可笑的是这个自以为是的“考官”,尽然不知道STC官方的FreeRTOS早已实现他的满分要求,还要在这个版块出题来考我,还要将其评判为“作为初学者的玩具可以.”,尽管不敬,我也只能用“无知无畏”来形容他了。


    ==== 下面这段话是对LAOXU说的 ===========================
    (4)LAOXU,你班门弄斧可以,好歹你也先进班门了解一下呀。你就这样提着把菜刀冲进班门来挑战“高难度的题目”,弄得双方家长都很紧张、很尴尬。我不管有多尴尬,也只能上场考试,陪你玩了。

    (5)LAOXU,你动点脑子再动嘴好不好,我的答卷题目中明明告诉你是系列文章的“挑战者x51(3)”,你好歹把我后面的“挑战者x51(4)”和“挑战者x51(5)”看完再评价我的水平好不好?你这样开口就来作为初学者的玩具可以.打的不是我的脸,打的是你的脸!





    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10812
     楼主| 发表于 2024-3-25 11:31:35 | 显示全部楼层
    本帖最后由 杨为民 于 2024-3-25 11:34 编辑
    LAOXU 发表于 2024-3-24 23:50
    既然小声的问不行,

    那就大声的问, 你的大作

    LAOXU,我为你的语文水平和智力水平担忧:

    我已经明明白白在标题里写了“不使用任何中断的uC/OS-II移植版”!!!
    你也明明白白地引用出来了: “那就大声的问, 你的大作 <挑战者x51(3):不使用任何中断的uC/OS-II移植版>”


    你还要亲自去程序里看:附带的测试程序, 经打开, 没看见有使用 定时器 0 呀???
    你还要亲自来问作者:          请问你使用了吗? 你会用吗?
    你还要亲自让我大声回答:   你不是喜欢用实例来回答吗? 请大声的回答 !
    你还要亲自动手反汇编:   通过 KEIL C251 , 运行附带的测试程序, 请看下面反汇编, 是否存在 定时器 0 中断入口(固定值: FF:000BH)

    你还要亲自在大庭广众之下 大声地、理直气壮的发出来?真是奇葩一朵了,我也无法形容

    回复 支持 反对 送花

    使用道具 举报

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

    [LV.7]常住居民III

    37

    主题

    867

    回帖

    3934

    积分

    荣誉版主

    积分
    3934
    发表于 2024-3-25 15:36:45 | 显示全部楼层
    我语文确实不好.

    谢谢 楼上 几位老师给的 实例连接, 我下载后仔细阅读,

    东西有点多, 要消化需要些时间, 顺便把 FreeRTOS 和 uC/OS-II 也设计思想也仔细研究一翻.

    等我学完了再向各位帮助过我的老师汇报.

    点评

    拜托你给这位网友也点评一下: 《【答卷】随时关EA的 FreeRTOS》(https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7421&extra=&page=1)  详情 回复 发表于 2024-3-25 18:07
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    61

    主题

    622

    回帖

    1万

    积分

    荣誉版主

    积分
    10812
     楼主| 发表于 2024-3-25 18:07:24 | 显示全部楼层
    LAOXU 发表于 2024-3-25 15:36
    我语文确实不好.

    谢谢 楼上 几位老师给的 实例连接, 我下载后仔细阅读,

    拜托你给这位网友也点评一下:

    【答卷】随时关EA的 FreeRTOS》(https://www.stcaimcu.com/forum.p ... p;extra=&page=1

    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-27 19:16 , Processed in 0.066680 second(s), 58 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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