找回密码
 立即注册
楼主: CosyOS

STC 原生RTOS PK 移植RTOS

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-17 22:51:19

5

主题

1153

回帖

4481

积分

荣誉版主

积分
4481
发表于 2023-10-24 00:36:08 | 显示全部楼层
本帖最后由 CosyOS 于 2023-10-24 02:23 编辑
fan*** 发表于 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  等。








回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:305
  • 最近打卡:2025-04-07 14:23:16

1

主题

30

回帖

1297

积分

金牌会员

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

点评

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:399
  • 最近打卡:2025-06-17 08:35:24

12

主题

126

回帖

1795

积分

金牌会员

积分
1795
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-17 22:51:19

5

主题

1153

回帖

4481

积分

荣誉版主

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

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

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

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-03-10 16:08:45

6

主题

131

回帖

666

积分

高级会员

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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2024-09-13 12:01:35

0

主题

25

回帖

102

积分

注册会员

积分
102
发表于 2024-9-10 16:21:16 | 显示全部楼层
学习
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:308
  • 最近打卡:2025-06-17 09:11:49

0

主题

206

回帖

1714

积分

金牌会员

积分
1714
发表于 2024-9-11 07:51:11 | 显示全部楼层
说的有道理,上连接个stc原生的RTOS下载包吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:178
  • 最近打卡:2025-06-12 08:44:23
已绑定手机

15

主题

628

回帖

822

积分

高级会员

积分
822
发表于 2024-11-1 08:39:55 | 显示全部楼层
来学习一下
STC 666 888
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-01-02 15:38:12
已绑定手机

0

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2025-1-2 15:43:49 | 显示全部楼层
Cos*** 发表于 2023-10-24 00:36
你说的问题很好,这其实涉及到两方面的问题,一个是全局变量写访问,一个是全局变量自运算。

1、如果是单 ...

围观
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:91
  • 最近打卡:2025-06-17 10:28:54
已绑定手机

0

主题

23

回帖

76

积分

注册会员

积分
76
发表于 2025-2-6 11:53:30 | 显示全部楼层
学习
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-18 00:40 , Processed in 0.285093 second(s), 121 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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