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

STC单片机 uC/OS-II核心技术(3):任务切换用软中断时RTOS系统不需要任何关闭总中断

[复制链接]

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-20 16:24:13 | 显示全部楼层
8051,80251没办法零延迟,ARM-cortex系列有屏蔽管理的才称得上零中断延迟。

51系列进入临界区,就关闭中断了。其他中断不能响应。

点评

我推荐你抽空看下《CosyOS-所有内核全局不关总中断原理》再下结论。  详情 回复 发表于 2023-9-20 16:30
你没有认真研究过我的方法怎知不能?世界上没有什么事是不能的,只有想不到。  发表于 2023-9-20 16:26
回复 支持 反对 送花

使用道具 举报

该用户从未签到

11

主题

331

回帖

886

积分

荣誉版主

积分
886
发表于 2023-9-20 16:28:27 | 显示全部楼层
也可能杨老师一直停留在方法1,我们用的是方法2,他的测试例子所谓的天大的bug用方法1都能测试通过。
有时候方法不一样。没必要追求一样的效果。声明一下就好。
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 11:08
  • 签到天数: 173 天

    [LV.7]常住居民III

    5

    主题

    579

    回帖

    2347

    积分

    荣誉版主

    积分
    2347
    发表于 2023-9-20 16:30:51 | 显示全部楼层
    熊仔 发表于 2023-9-20 16:24
    8051,80251没办法零延迟,ARM-cortex系列有屏蔽管理的才称得上零中断延迟。

    51系列进入临界区,就关闭中 ...

    我推荐你抽空看下《CosyOS-所有内核全局不关总中断原理》再下结论。

    CosyOS-所有内核全局不关总中断原理.md (4.12 KB, 下载次数: 13)



    点评

    好的,抽空看看,研读下。实在想不出来还可以整个系统不关闭EA能完成。看来需要好好学习。 我的认知,只要操作了EA=0,中断就不可能零延迟。  详情 回复 发表于 2023-9-20 16:37
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    331

    回帖

    886

    积分

    荣誉版主

    积分
    886
    发表于 2023-9-20 16:37:49 | 显示全部楼层
    CosyOS 发表于 2023-9-20 16:30
    我推荐你抽空看下《CosyOS-所有内核全局不关总中断原理》再下结论。

    好的,抽空看看,研读下。实在想不出来还可以整个系统不关闭EA能完成。看来需要好好学习。
    我的认知,只要操作了EA=0,中断就不可能零延迟。

    点评

    CosyOS虽提供全局临界区给用户,但那只是为了便于用户对全局公共资源和程序过程的保护,CosyOS内核中从来不会进入全局临界区。 你可以研究下Keil RTX4/5是怎样实现Cortex-M3/M4内核全局不关所有中断的,CosyOS的部分  详情 回复 发表于 2023-9-20 16:44
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 11:08
  • 签到天数: 173 天

    [LV.7]常住居民III

    5

    主题

    579

    回帖

    2347

    积分

    荣誉版主

    积分
    2347
    发表于 2023-9-20 16:44:38 | 显示全部楼层
    熊仔 发表于 2023-9-20 16:37
    好的,抽空看看,研读下。实在想不出来还可以整个系统不关闭EA能完成。看来需要好好学习。
    我的认知,只 ...

    CosyOS虽提供全局临界区给用户,但那只是为了便于用户对全局公共资源和程序过程的保护,CosyOS内核中从来不会进入全局临界区。
    你可以研究下Keil RTX4/5是怎样实现Cortex-M3/M4内核全局不关所有中断的,CosyOS的部分方法还是与其比较类似的,但也有很大不同。


    点评

    大致看了下原来关闭这两中断实现的,SysTick_Handler/定时器0中断、PendSV_Handler/其它替代中断 需要深入学习下。  详情 回复 发表于 2023-9-20 16:56
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    331

    回帖

    886

    积分

    荣誉版主

    积分
    886
    发表于 2023-9-20 16:56:45 | 显示全部楼层
    CosyOS 发表于 2023-9-20 16:44
    CosyOS虽提供全局临界区给用户,但那只是为了便于用户对全局公共资源和程序过程的保护,CosyOS内核中从来 ...

    大致看了下原来关闭这两中断实现的,SysTick_Handler/定时器0中断、PendSV_Handler/其它替代中断
    需要深入学习下。

    点评

    其实核心原理就以下几点: 1、SysTick、PendSV、任务临界区,三者间是互斥访问的。 2、任务服务在任务临界区中执行。 3、中断异步服务和任务调度/切换在PendSV中执行。 4、中断同步服务用互斥访问机制。  详情 回复 发表于 2023-9-20 17:06
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 11:08
  • 签到天数: 173 天

    [LV.7]常住居民III

    5

    主题

    579

    回帖

    2347

    积分

    荣誉版主

    积分
    2347
    发表于 2023-9-20 17:06:07 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-9-20 22:17 编辑
    熊仔 发表于 2023-9-20 16:56
    大致看了下原来关闭这两中断实现的,SysTick_Handler/定时器0中断、PendSV_Handler/其它替代中断
    需要深 ...

    其实核心原理就以下几点:
    1、SysTickPendSV任务临界区,三者间是互斥访问的。

    2、滴答服务SysTick中断中执行。
    3、任务服务任务临界区中执行。
    4、中断异步服务任务调度/切换PendSV中执行。
    5、中断同步服务互斥访问机制


    从而实现了所有
    内核的MCU全局不关总中断(零中断延迟)
    无论哪种内核的MCU,只要硬件中断不是最低优先级,就可实现零中断延迟

    只是说由于我的精力有限,CosyOS现仅支持8051、80251、Cortex-M全系列,这三类内核。

    试想,连51都可实现全局不关总中断(零中断延迟),还有谁是不可以的呢?






    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10906
     楼主| 发表于 2023-9-20 18:28:18 | 显示全部楼层
    CosyOS 发表于 2023-9-20 16:18
    现在,我已经想明白了一件事,不要再称CosyOS是全局不关总中断的RTOS了,全局不关中断的RTOS有很多,
    应称 ...

    一并回复:是的,并且你上面的理解很正确,我上面说的“不被打断”,其实不是指“指令流=CPU执行的二进制机器码流不被打断,是指“进行任务切换这个程序流不被打断”。在任务切换过程中断,跳出个执行“P2=0x55”这类端口控制的硬中断有什么关系?只要把“任务切换这个操作流”保护好了就行。请注意这三个流不是一回事,这也就是实现你的CosyOS目标的理论基础,但我不知道用你们的语言怎么表达,理解就好了

    点评

    有时就是语言表达的问题,大家所用的词汇不同,其实对事物的理解还是一样的。  详情 回复 发表于 2023-9-20 19:05
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 11:08
  • 签到天数: 173 天

    [LV.7]常住居民III

    5

    主题

    579

    回帖

    2347

    积分

    荣誉版主

    积分
    2347
    发表于 2023-9-20 19:05:17 | 显示全部楼层
    杨为民 发表于 2023-9-20 18:28
    一并回复:是的,并且你上面的理解很正确,我上面说的“不被打断”,其实不是指“指令流=CPU执 ...

    有时就是语言表达的问题,大家所用的词汇不同,其实对事物的理解还是一样的。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 02:53 , Processed in 0.075311 second(s), 62 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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