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

STC 原生RTOS PK 移植RTOS

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-06-18 08:16:53

23

主题

221

回帖

1983

积分

版主

STC

积分
1983
发表于 2023-5-22 13:37:54 | 显示全部楼层
电话:0513-55012982、18106296593 (微信同)
QQ : 1347154513
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:479
  • 最近打卡:2025-07-16 22:38:28

5

主题

1160

回帖

4605

积分

荣誉版主

积分
4605
发表于 2023-5-22 17:30:50 | 显示全部楼层
FreeRTOS的示例代码,采用的方案是:
“全局可重入函数”+ “移除未使用”;
Generate reentrant funcitons + REMOVEUNUSED;

CosyOS的示例代码,采用的方案是:
“数据不覆盖” + “移除未使用”;
NOOVERLAY + REMOVEUNUSED;
NOOVERLAY 会导致 REMOVEUNUSED 移除的不够彻底,很多未使用的代码段、数据段等未能被移除,所以代码量很大。
针对这一问题暂时先不解决,待确定解决方案后再调整。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:479
  • 最近打卡:2025-07-16 22:38:28

5

主题

1160

回帖

4605

积分

荣誉版主

积分
4605
发表于 2023-5-23 12:35:10 | 显示全部楼层
现已证明,“移除未使用”的前提是“数据覆盖”
只要加入了控制命令:“NOOVERLAY”,那么,“REMOVEUNUSED” 命令将失效。
052301.png

通过测试也证明了这一点。


解决方案:
1、使用控制命令:“NOOVERLAY”,而后用户自己手动删除未使用的C文件或库函数;
2、生成全局可重入函数 + “REMOVEUNUSED” 命令。


CosyOS在下一版中,将同时支持上述两个方案,由用户自己选择。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:547
  • 最近打卡:2025-07-31 09:05:45

2

主题

37

回帖

906

积分

高级会员

积分
906
发表于 2023-5-26 08:08:51 | 显示全部楼层
有各平台的DEMO工程学习吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:144
  • 最近打卡:2025-07-31 10:37:58

760

主题

1万

回帖

1万

积分

管理员

积分
18139
发表于 2023-5-26 09:54:29 | 显示全部楼层
STC32G12K128实验箱有验证通过
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:563
  • 最近打卡:2025-07-31 08:12:42
已绑定手机

23

主题

594

回帖

2821

积分

金牌会员

积分
2821
发表于 2023-5-30 07:40:32 | 显示全部楼层
不停地学习
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:109
  • 最近打卡:2025-06-18 08:16:53

23

主题

221

回帖

1983

积分

版主

STC

积分
1983
发表于 2023-5-30 08:52:40 | 显示全部楼层
电话:0513-55012982、18106296593 (微信同)
QQ : 1347154513
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-09-24 11:06:27

2

主题

26

回帖

194

积分

注册会员

积分
194
发表于 2023-6-9 19:00:16 | 显示全部楼层
高手打擂台,正是我们学习的好时机,多谢你们的发贴与分享,希望社区高手们更加活跃。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-07-25 23:57:07

6

主题

61

回帖

236

积分

中级会员

积分
236
发表于 2023-10-17 12:54:42 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:582
  • 最近打卡:2025-07-31 09:28:19

1

主题

185

回帖

685

积分

高级会员

积分
685
发表于 2023-10-23 23:37:34 | 显示全部楼层
Cos*** 发表于 2023-5-18 17:14
是这样的杨老师,
按照我的理解,一个全局变量只要最终访问数据时能一条汇编完成访问,就不会重入,包括 ...

关于单字节变量的原子操作问题,我之前的想法和你是一样,后来发现这种想法也是不对的。比如,有一个单字节变量 K,任务1 执行指令 K+=2 ; 任务2 抢先任务1  执行  K+=3 ; 如果有临界保护,结果是 K 数值增加5,是正确的。如果没有临界保护,K的数值有可能就增加2 ,加3的操作被覆盖。

点评

你说的问题很好,这其实涉及到两方面的问题,一个是全局变量写访问,一个是全局变量自运算。 1、如果是写访问的话,如果一条汇编指令能够完成写操作,那么它就是原子操作; 2、如果是自运算的话,那么通常只在两种  详情 回复 发表于 2023-10-24 00:36
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-1 02:48 , Processed in 0.133711 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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