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

STC 原生RTOS PK 移植RTOS

[复制链接]
  • TA的每日心情
    奋斗
    昨天 15:35
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2076

    积分

    荣誉版主

    积分
    2076
     楼主| 发表于 2023-10-24 00:36:08 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-10-24 02:23 编辑
    fanxsp 发表于 2023-10-23 23:37
    关于单字节变量的原子操作问题,我之前的想法和你是一样,后来发现这种想法也是不对的。比如,有一个单字 ...

    你说的问题很好,这其实涉及到两方面的问题,一个是全局变量写访问,一个是全局变量自运算

    1、如果是单纯的写访问,如果一条汇编指令能够完成最终的写操作,那么它就是原子操作,无论它费了多大的功夫去寻址。


    2、如果是自运算的话,那么通常只在两种情况下会是原子操作:
    (1)51/251,data上的单字节变量的自加一或自减一,编译后会使用INC、DEC指令,直接在data上运算,一步完成,是原子操作;
    (2)GNU的全局寄存器变量自运算,会在寄存器上直接运算,一般也是原子操作。

    3、其它的全局变量自运算,则一般都不是原子操作,原因是整个自运算的过程要分为  (读到寄存器中)、运算(写回全局变量),

    共三步,这三步是一个整体不可分割,一旦被打断,其它的任务或中断又写了它或对它做了自运算,就会出错。

    4、上述只是在一般情况下,并非绝对,最终需查看反汇编代码,看整个自运算过程的汇编指令是否只有一条指令,才能100%的确定是否是原子操作。

    5、最后再补充一点,什么是自运算:
    常见的自运算包括:++、--、/=、*=、%=、+=、-=、<<=、>>=、&=、^=、|=,及它们的展开式,如 i = i + 5,  i = i << 8  等。








    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 10:55
  • 签到天数: 108 天

    [LV.6]常住居民II

    0

    主题

    17

    回帖

    478

    积分

    中级会员

    积分
    478
    发表于 2023-12-29 10:58:54 | 显示全部楼层
    是不是错了
    截图202312291058276314.jpg

    点评

    是的,感谢指正,已调整  发表于 2023-12-29 11:49
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:22
  • 签到天数: 109 天

    [LV.6]常住居民II

    9

    主题

    90

    回帖

    534

    积分

    高级会员

    积分
    534
    发表于 2023-12-29 11:50:22 | 显示全部楼层
    楼主  有使用说明吗

    点评

    你看下面这个帖子啊,什么都有 全局不关总中断的RTOS / CosyOS-II for STC MCU https://www.stcaimcu.com/forum.php?mod=viewthread&tid=1807&extra=page%3D1  详情 回复 发表于 2023-12-29 12:09
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 15:35
  • 签到天数: 155 天

    [LV.7]常住居民III

    5

    主题

    475

    回帖

    2076

    积分

    荣誉版主

    积分
    2076
     楼主| 发表于 2023-12-29 12:09:18 | 显示全部楼层
    本帖最后由 CosyOS 于 2023-12-29 12:14 编辑
    lzzasd 发表于 2023-12-29 11:50
    楼主  有使用说明吗

    你看下面这个帖子啊,什么都有
    全局不关总中断的RTOS / CosyOS-II for STC MCU
    https://www.stcaimcu.com/forum.p ... 1807&extra=page%3D1

    有各种示例代码、使用说明等,顶楼提供下载!

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    62

    回帖

    300

    积分

    中级会员

    积分
    300
    发表于 2023-12-29 16:49:53 | 显示全部楼层
    杨为民 发表于 2023-5-21 23:27
    原生的RTOS与移植的RTOS所占储存空间的比较(1)CosyOS是原生的RTOS,FreeRTOS移植的RTOS,两者皆有STC32G ...

    又没有类似Linux一样的开源免费授权的 STC  RTOS?
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-30 02:59 , Processed in 0.060407 second(s), 47 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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