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

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

[复制链接]

该用户从未签到

63

主题

703

回帖

1万

积分

荣誉版主

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

===============================================
(6)LAOXU把题目难度提高了,要求要有4个不同优先级的中断:
void int0(void ) interrupt  0  // 优先级 0
{
  strncpy (bb0, a0, 8);
}

void int1(void ) interrupt  1  // 优先级 1
{
  strncpy (bb1, a1, 8);
}

void int2(void ) interrupt  2  // 优先级 2
{
  strncpy (bb2, a2, 8);
}


void int3(void ) interrupt  3  // 优先级 3
{
  strncpy (bb3, a3, 8);
}



void main(void)
{  do{
   strncpy (cc, a2, 8);
   }while(1);
}

(7)LAOXU认为除了用他会的用汇编语言重新编写“strncpy”函数,没有其他方法可解决,他论证说:
像我 8楼的题目, 底层可实行关中断, 在低级中断中, 就不能用 关中断之法了, 因为一关中断,
影响所有高一层次的中断响应(相当于关闭所有高级中断, 同级或低级中断没影响), 只能采用压栈保护
受影响的那几个 RAM, 但问题是, 这 RAM地址是浮动的(受程序大小及内容影响), 随时可能变更
具体地址, 如何可靠有效保护这几个  RAM ?
当然, 每次编译后, 核对修改这几个保护 RAM地址也行, 需反复编译核对, 确保正确

(8)对于LAOXU新提出的增加了难度的这个问题,各位坛友,大家都来说说除了在C51里重新编写“strncpy”函数的方法外怎么解决,其实解决方法很简单,大家尽量往简单里猜。



LAOXU,这是你出的难题,不会你不知道答案吧?


点评

对, 我没有好的办法, 请你老指教. 事实上很多时候, 如杨老师所言: "其实解决方法很简单", 只是, 他知道你, 你不认识他. 我不知道 keil 有什么简单的方法设定一下即可, 请杨老师和 CosyOS指教. 引用 CosyOS所言: "  详情 回复 发表于 2024-3-23 01:11
回复 支持 反对 送花

使用道具 举报

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

    [LV.7]常住居民III

    5

    主题

    579

    回帖

    2347

    积分

    荣誉版主

    积分
    2347
    发表于 2024-3-22 23:48:29 | 显示全部楼层
    我不会说的,把机会留给他人。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 03:47
  • 签到天数: 146 天

    [LV.7]常住居民III

    39

    主题

    887

    回帖

    4124

    积分

    荣誉版主

    积分
    4124
    发表于 2024-3-23 01:11:00 | 显示全部楼层
    杨为民 发表于 2024-3-22 23:16
    ===============================================
    (6)LAOXU把题目难度提高了,要求要有4个不同优先级 ...

    对, 我没有好的办法, 请你老指教.

    事实上很多时候, 如杨老师所言: "其实解决方法很简单", 只是, 他知道你, 你不认识他.

    我不知道 keil 有什么简单的方法设定一下即可, 请杨老师和 CosyOS指教.

    引用 CosyOS所言: "仁者见仁、智者见智,每个人都可以有自己的观点,没必要争斗。"

    点评

    最直观最简单的方法已经放到2楼了,不知LAOXU是否认可  详情 回复 发表于 2024-3-23 16:13
    “"仁者见仁、智者见智,每个人都可以有自己的观点,没必要争斗。"” 哥们,你这太无耻了吧?明明是你嘚瑟,出题目来考我的,到头来怎么就变成我和你的“争斗”  详情 回复 发表于 2024-3-23 02:14
    “请杨老师和 CosyOS指教.”,哥们,你这架子太大了吧? 在这个板块里我和CosyOS已经就如何解决这类问题介绍和讨论了很多,你也发表过高见。你为什么不看看这个论坛里我们的帖子自己学习一下,还要我们专门为你点出  详情 回复 发表于 2024-3-23 02:07
    “如杨老师所言: "其实解决方法很简单", 只是, 他知道你, 你不认识他.” 对不起,你的语文表达不正确。在你的文字中,你应该说: “如杨老师所言: "其实解决方法很简单", 只是, 他知道我LAOXU, 我老徐不认识他.”,  详情 回复 发表于 2024-3-23 01:58
    你能帮大家请教一下你的老师吗?听你的那个帖子的口气他的话是你的圣旨,你的提高难度的题目应该难不倒他吧? 又或者根本没有这样一个人,是你杜撰出来吓唬我们的?我好怕怕呀  详情 回复 发表于 2024-3-23 01:54
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10906
     楼主| 发表于 2024-3-23 01:54:37 | 显示全部楼层
    LAOXU 发表于 2024-3-23 01:11
    对, 我没有好的办法, 请你老指教.

    事实上很多时候, 如杨老师所言: "其实解决方法很简单", 只是, 他知道 ...

    你能帮大家请教一下你的老师吗?听你的那个帖子的口气他的话是你的圣旨,你的提高难度的题目应该难不倒他吧?

    又或者根本没有这样一个人,你杜撰出来吓唬我们的?我好怕怕呀

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10906
     楼主| 发表于 2024-3-23 01:58:34 | 显示全部楼层
    LAOXU 发表于 2024-3-23 01:11
    对, 我没有好的办法, 请你老指教.

    事实上很多时候, 如杨老师所言: "其实解决方法很简单", 只是, 他知道 ...

    “如杨老师所言: "其实解决方法很简单", 只是, 他知道你, 你不认识他.”

    对不起,你的语文表达不正确。在你的文字中,你应该说:
    “如杨老师所言: "其实解决方法很简单", 只是, 他知道我LAOXU, 我老徐不认识他.”,这样比较符合客观实际。

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10906
     楼主| 发表于 2024-3-23 02:07:46 | 显示全部楼层
    LAOXU 发表于 2024-3-23 01:11
    对, 我没有好的办法, 请你老指教.

    事实上很多时候, 如杨老师所言: "其实解决方法很简单", 只是, 他知道 ...

    “请杨老师和 CosyOS指教.”,哥们,你这架子太大了吧?

    在这个板块里我和CosyOS已经就如何解决这类问题介绍和讨论了很多,你也发表过高见你为什么不看看这个论坛里我们的帖子自己学习一下,还要我们专门为你点出
    如果你看不懂我们的帖子,要不你请你老师先看看,然后让他再专门讲给你听?



    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10906
     楼主| 发表于 2024-3-23 02:14:43 | 显示全部楼层
    LAOXU 发表于 2024-3-23 01:11
    对, 我没有好的办法, 请你老指教.

    事实上很多时候, 如杨老师所言: "其实解决方法很简单", 只是, 他知道 ...

    “"仁者见仁、智者见智,每个人都可以有自己的观点,没必要争斗。"”

    哥们,明明是你嘚瑟,出题目来考我的,到头来怎么就变成我和你的“争斗”

    点评

    到底是教授, 会说话, 服了你~~~ 我只不过说了句事实, C51 标准库不如 C251标准库(由于很多是不可重入的). 你说我胡说八道, 要举例, 我举例了又说我出题..... 应了 tzz1983 对我说过的一句话, "被杨老师带歪了".  详情 回复 发表于 2024-3-23 10:38
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 03:47
  • 签到天数: 146 天

    [LV.7]常住居民III

    39

    主题

    887

    回帖

    4124

    积分

    荣誉版主

    积分
    4124
    发表于 2024-3-23 10:38:08 | 显示全部楼层
    杨为民 发表于 2024-3-23 02:14
    “"仁者见仁、智者见智,每个人都可以有自己的观点,没必要争斗。"”

    哥们,明明是你嘚瑟,出题目来考我 ...

    到底是教授, 会说话, 服了你~~~

    我只不过说了句事实, C51 标准库不如 C251标准库(由于很多是不可重入的).

    你说我胡说八道, 要举例, 我举例了又说我出题.....

    应了  tzz1983 对我说过的一句话, "被杨老师带歪了".

    你对我说过最多的一句话就是,"去问你老师去"

    今后, 我不回答你任何提问或质疑, 如要回答, 也是一句话: "去问你老师去"

    最后说说我的老师, 除了书本和网络之外, 还有热心指导帮助过我的网友, 都是我的老师.

    我的老师够多了吧

    点评

    [attachimg]39355[/attachimg] (1)首先你冤枉我了,是你自己在你自己的帖子里自己抬出“老师言”的,而且口气是那么地毕恭毕敬。所以我以为你的观点是你特别厉害的老师教的。 (2)其次你老师使用的“全  详情 回复 发表于 2024-3-23 11:20
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    63

    主题

    703

    回帖

    1万

    积分

    荣誉版主

    积分
    10906
     楼主| 发表于 2024-3-23 11:20:49 | 显示全部楼层
    本帖最后由 杨为民 于 2024-3-23 11:24 编辑
    LAOXU 发表于 2024-3-23 10:38
    到底是教授, 会说话, 服了你~~~

    我只不过说了句事实, C51 标准库不如 C251标准库(由于很多是不可重入的) ...


    老师言.jpg




    (1)首先你冤枉我了,是你自己在你自己的帖子里自己抬出“老师言”的,而且口气是那么地毕恭毕敬。所以我以为你的观点是你特别厉害的老师教的。



    (2)其次你老师使用的“全称否定”:老师言: "C51的LIB都是不可重入."和“全称肯定”:老师言: "C251的LIB都是可重入."
    我被吓到了,所以很想知道你在贴子里指的老师是谁?山外有山,万一他是孙悟空的老师那个级别的尊者呢。所以想激将你说出他的来历。


    (3)最后,你现在还在撒谎狡辩:最后说说我的老师, 除了书本和网络之外, 还有热心指导帮助过我的网友, 都是我的老师.我的老师够多了吧
    你真是当面撒谎不脸红!还想把自己的愚蠢嫁祸给“书本和网络之外, 还有热心指导帮助过我的网友”。
    请你指出,你的“书本和网络之外, 还有热心指导帮助过我的网友, 都是我的老师中的哪个老师,在什么地方,在什么时间给出过如此绝对的“全称否定”和“全称肯定”的结论的?!!!


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    20

    主题

    575

    回帖

    1193

    积分

    荣誉版主

    积分
    1193
    发表于 2024-3-23 13:16:32 | 显示全部楼层
    本帖最后由 tzz1983 于 2024-3-23 13:22 编辑

    Keil C51自然是优秀的,好用的,采用固定地址传递参数,调用树,覆盖。对于C51来说,这些都是闪闪发光的优点。整体来说是利大于弊的。

    同时我为认LAOXU的所作为是有意义的,想法是好的,值得肯定。只是这些“重写”有点偏冷门,可惜了。

    LAOXU是位热血青年,感觉还是挺棒的。指不定哪天新出一个编译器,就用上了他那些闪光点。

    人无完人,又岂能面面俱到。指不定今日百思不得其解,明日即可豁然开朗。

    至于 装逼作秀,撒谎狡辩”,此话太过了, 杨老师你这是要折煞热血小青年吗?

    @杨老师, 等着你2楼的答案呢,这才是正题吧。味口吊得差不多啦!心里怪痒痒的,急不可耐呀。



    点评

    介绍你的“可嵌套的关闭总中断的临界区保护方法”发出来了,我觉得可以用到解决裸机编程问题中去。 这只代表我的看法,先没让你说,谢谢配合,现在你可以自由谈你的看法了  详情 回复 发表于 2024-3-23 20:33
    Keil C51当然是优秀的,好用的, 但问题出在 51构架上, 和其他 CPU相比, 实在不是 OS的良配. 记得解放前夕, 胡适先生选择到台湾去, 说过一句话: "大陆和台湾, 都有民主, 只是多与少的问题." 同样, 51 和 251(或  详情 回复 发表于 2024-3-23 17:32
    “等着你2楼的答案呢,这才是正题吧。味口吊得差不多啦!心里怪痒痒的,急不可耐呀。” (1)这个问题属于OS理论中的临界区保护,这个问题我们在这个板块已经讨论了很多了。但是LAOXU发的那个帖子有一句话是对的,  详情 回复 发表于 2024-3-23 14:28
    我对LAOXU言词激烈,我不否认,可是我实在想不出怎么来形容他行为,愿你教我。 比如你说的“至于 “装逼作秀,撒谎狡辩”,此话太过了, 杨老师你这是要折煞热血小青年吗?”。 (1)请问我在这个帖子了说过“装逼  详情 回复 发表于 2024-3-23 14:02
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 07:55 , Processed in 0.084980 second(s), 73 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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