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

STC单片机 uC/OS-II核心技术(12):关于临界区保护和函数可重入的测试题

[复制链接]

该用户从未签到

63

主题

703

回帖

1万

积分

荣誉版主

积分
10908
 楼主| 发表于 2024-3-23 16:29:13 | 显示全部楼层
CosyOS 发表于 2024-3-23 14:43
我感觉我给出的答案也许与杨老师的不同,敬请期待吧

完全可能,届时我介绍的对不对,以你的判定为准
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:52
  • 签到天数: 175 天

    [LV.7]常住居民III

    5

    主题

    580

    回帖

    2355

    积分

    荣誉版主

    积分
    2355
    发表于 2024-3-23 16:37:37 | 显示全部楼层
    202403023-1.png

    20240323-2.png

    具体位置在:
    20240323-3.png


    点评

    谢谢分享。等STC33出来后,再结合RTOS仔细探讨ARM MDK编译器的函数重入、中断异常、临界区保护和线程安全这些与C51/C251非常不同的特点。  详情 回复 发表于 2024-3-23 19:04
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-23 16:54:50 | 显示全部楼层
    LAOXU 发表于 2024-3-22 18:15
    像我 8楼的题目, 底层可实行关中断, 在低级中断中, 就不能用 关中断之法了, 因为一关中断,
    影响所有高一层 ...

    自言自语

    自已回复自已, 上面我所言, "在低级中断中, 就不能用 关中断之法了, 因为一关中断,影响所有高一层次的中断响应(相当于关闭所有高级中断, 同级或低级中断没影响)"

    我是坚决不采用不推荐这种方法的, 我非常赞同 CosyOS 的观点, 不关中断的 OS, 不是必不得已, 坚决不关中断, 短时关中断还行, 长时频繁关中断(特别是中断中),
    把中断优先级都打乱了, 特别影响高级中断的响应, 影响系统的实时性, 说实话, 假如我招程序员, 这种水平的坚决不要.

    点评

    我也自言自语 (1)下面是uC/OS-III RTOS在STM32F单片机上的系统中断程序: [attachimg]39406[/attachimg] 请你注意一下整个系统中断程序的第1行程序(图中的第139行程序)是关闭总中断。 这个程序不是移植的,而  详情 回复 发表于 2024-3-23 17:59
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-23 17:14:48 | 显示全部楼层
    CosyOS 发表于 2024-3-23 14:43
    我感觉我给出的答案也许与杨老师的不同,敬请期待吧

    期待 CosyOS 大虾的方法.

    说实话, 只要不是关中断, 再笨再复杂的方法, 我认为都是实用方法(至少有优化的空间, 或者能给出一点提示, 最后成就更好方法).

    至于关中断, 是个万金油, 傻子都会, 没一点技术含量, 实在没办法才会走这一步.

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-23 17:32:02 | 显示全部楼层
    tzz1983 发表于 2024-3-23 13:16
    Keil C51自然是优秀的,好用的,采用固定地址传递参数,调用树,覆盖。对于C51来说,这些都是闪闪发光的优 ...

    Keil C51当然是优秀的,好用的,

    但问题出在 51构架上, 和其他 CPU相比, 实在不是 OS的良配.

    记得解放前夕, 胡适先生选择到台湾去, 说过一句话: "大陆和台湾, 都有民主, 只是多与少的问题."

    同样, 51 和 251(或其他 CPU) 都有可重入函数, 只是多与少的问题.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:57
  • 签到天数: 148 天

    [LV.7]常住居民III

    39

    主题

    889

    回帖

    4154

    积分

    荣誉版主

    积分
    4154
    发表于 2024-3-23 17:54:08 | 显示全部楼层
    早期复旦的那几位老教授, 水平真高, 受益非浅. 怀念那时的岁月.

    祝愿这些老前辈身体安康, 长命百岁.
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10908
     楼主| 发表于 2024-3-23 17:59:32 | 显示全部楼层
    LAOXU 发表于 2024-3-23 16:54
    自言自语

    自已回复自已, 上面我所言, "在低级中断中, 就不能用 关中断之法了, 因为一关中断,影响所有高 ...

    我也自言自语

    (1)下面是uC/OS-III RTOS在STM32F单片机上的系统中断程序
    系统中断_UCOSIII.jpg

    请你注意一下整个系统中断程序的第1行程序(图中的第139行程序)是关闭总中断
    这个程序不是移植的,而是Micrium公司的原版程序。
    (2)下面是RT-THREAD RTOS在STM32F单片机上的系统中断程序
    系统中断_RT_THREAD.jpg


    请你注意一下整个系统中断程序的第2行程序(图中的第96行程序)是关闭总中断
    这个程序不是移植的,而是RT-Thread Development Team的原版程序。

    (3)这两个程序都是在低优先级的“PendSV”中断中关闭了总中断。
    请问 假如你招程序员, 如果当初这两个公司写这个关闭总中断的这种水平的程序员来应聘,你还是坚决不要吗?呵呵




    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:52
  • 签到天数: 175 天

    [LV.7]常住居民III

    5

    主题

    580

    回帖

    2355

    积分

    荣誉版主

    积分
    2355
    发表于 2024-3-23 18:59:55 | 显示全部楼层
    我的方法,更像是脑筋急转弯,必须开大脑洞才能想到!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10908
     楼主| 发表于 2024-3-23 19:04:36 | 显示全部楼层

    谢谢分享。等STC33出来后,再结合RTOS仔细探讨ARM MDK编译器的函数重入、中断异常、临界区保护和线程安全这些与C51/C251非常不同的特点。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:52
  • 签到天数: 175 天

    [LV.7]常住居民III

    5

    主题

    580

    回帖

    2355

    积分

    荣誉版主

    积分
    2355
    发表于 2024-3-23 19:06:25 | 显示全部楼层
    本帖最后由 CosyOS 于 2024-3-23 19:10 编辑

    这个方法不仅实现起来非常容易,运行效率也会很高。
    既不用关中断,也不用临界区,更不用重写,也不必压栈。。。

    无论裸机还是RTOS都可应用。

    点评

    好了,谢谢配合,等了那么久,下面由你来展示了。  详情 回复 发表于 2024-3-23 23:01
    是的,等我先介绍你的思路后,你再补充  详情 回复 发表于 2024-3-23 19:27
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 01:34 , Processed in 0.075930 second(s), 72 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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