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

STC 原生RTOS PK 移植RTOS

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:36
  • 最近打卡:2025-06-06 07:34:41

0

主题

19

回帖

133

积分

注册会员

积分
133
发表于 2025-2-28 09:30:43 | 显示全部楼层
139182*** 发表于 2023-12-29 16:49
又没有类似Linux一样的开源免费授权的 STC  RTOS?

回复 支持 反对

使用道具 举报 送花

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

6

主题

131

回帖

666

积分

高级会员

积分
666
发表于 2025-3-10 16:08:45 | 显示全部楼层
oldn*** 发表于 2025-2-28 09:30
**** 作者被禁止或删除 内容自动屏蔽 ****

我自己写了一个,估计4月份发布,专门为stc8写的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:473
  • 最近打卡:2025-06-28 16:40:33

1

主题

33

回帖

2047

积分

金牌会员

积分
2047
发表于 2025-4-21 14:04:43 | 显示全部楼层
STC 原生RTOS是什么系统啊
不是一直裸机的吗

点评

CosyOS,现已更新至 CosyOS-III V1.3.2, https://www.stcaimcu.com/thread-1807-1-1.html  详情 回复 发表于 2025-4-21 15:10
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-27 16:25:11

5

主题

1154

回帖

4507

积分

荣誉版主

积分
4507
发表于 2025-4-21 15:10:59 | 显示全部楼层
stcm*** 发表于 2025-4-21 14:04
STC 原生RTOS是什么系统啊
不是一直裸机的吗

CosyOS,现已更新至 CosyOS-III V1.3.2,
https://www.stcaimcu.com/thread-1807-1-1.html
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-06-14 08:00:50
已绑定手机

0

主题

9

回帖

64

积分

注册会员

积分
64
发表于 2025-6-3 08:56:09 | 显示全部楼层
我  一个双字节,再中断里 ++, 主程序里赋值    用的 STC8C    这样会有问题吗 ,用了10来年了,这次用32G 程序比较复杂才注意这个问题。

点评

对于51,在概率上一定是会出问题的,因为51只有单字节变量是原子访问类型的。 两个字节的变量在读取时,汇编指令是要分两次读的,一次读一个字节, 如果在两次读之间被中断打断,而后在中断中 ++, 最终读出来的是混  详情 回复 发表于 2025-6-3 19:30
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-27 16:25:11

5

主题

1154

回帖

4507

积分

荣誉版主

积分
4507
发表于 2025-6-3 19:30:28 | 显示全部楼层
ukeo*** 发表于 2025-6-3 08:56
我  一个双字节,再中断里 ++, 主程序里赋值    用的 STC8C    这样会有问题吗 ,用了10来年了,这次用32G ...

对于51,在概率上一定是会出问题的,因为51只有单字节变量是原子访问类型的。
两个字节的变量在读取时,汇编指令是要分两次读的,一次读一个字节,
如果在两次读之间被中断打断,而后在中断中 ++,
最终读出来的是混合数据,一个字节是在++之前读的,一个字节是在++之后读的,就会出错。
如果确是这种简单情况,最简单的处理方法是,要在main中做互斥访问:
EA = 0;
读;
EA = 1;
当然不只有这一种方法,还可以有其它的方法,比如还可以关闭++的中断,
例如++的中断是 INT1:
EX1 = 0;
读;
EX1 = 1;

对于STC32,如果确是这种简单情况,通常是不会有问题的,不必做互斥访问。
因为对于C251来说,两个字节的变量,无论是直接寻址还是间接寻址,
通常在编译后,汇编指令都会一次读出两个字节。



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-06-14 08:00:50
已绑定手机

0

主题

9

回帖

64

积分

注册会员

积分
64
发表于 2025-6-5 19:20:00 | 显示全部楼层
我还想再确认一下,32G  XDATA 是不是 一次读出2个字节。

点评

即使是 XDATA 变量,通常编译后,两个字节也是一次读出的。 但这并非绝对,不排除会有特殊情况。 只有查看反汇编才能完全确定。 你可以相关代码查看反汇编,截图给我,我帮你确认。  详情 回复 发表于 2025-6-5 23:02
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:472
  • 最近打卡:2025-06-27 16:25:11

5

主题

1154

回帖

4507

积分

荣誉版主

积分
4507
发表于 2025-6-5 23:02:55 | 显示全部楼层
ukeo*** 发表于 2025-6-5 19:20
我还想再确认一下,32G  XDATA 是不是 一次读出2个字节。

即使是 XDATA 变量,通常编译后,两个字节变量也是一次读出的。
但这并非绝对,不排除会有特殊情况。
但99%的情况,一定可以一次读出的。
只有查看反汇编才能100%确定。

你可以相关代码查看反汇编,截图给我,我帮你确认。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-06-14 08:00:50
已绑定手机

0

主题

9

回帖

64

积分

注册会员

积分
64
发表于 2025-6-6 07:12:26 | 显示全部楼层
相关代码查看反汇编 ,再那里看。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-06-14 08:00:50
已绑定手机

0

主题

9

回帖

64

积分

注册会员

积分
64
发表于 2025-6-6 07:13:49 | 显示全部楼层
那  EXATA   是100% 一次读2个字节或4个字节?

点评

世界上没有什么事是绝对的,总会有特例。 有时,2 or 4 个字节的变量,本可以一次读出, 但由于你的原因 or 编译器的原因,它优化后偏偏要分多次读出,这种可能性不是没有。 所以,需要看汇编才能最终确定。 1、 [a  详情 回复 发表于 2025-6-6 18:49
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-29 10:25 , Processed in 0.148727 second(s), 113 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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