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

STC 原生RTOS PK 移植RTOS

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:99
  • 最近打卡:2025-04-30 14:12:35

19

主题

217

回帖

1805

积分

版主

STC

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:432
  • 最近打卡:2025-05-01 16:19:56

5

主题

1127

回帖

4263

积分

荣誉版主

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

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


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


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


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:459
  • 最近打卡:2025-05-01 10:40:06

2

主题

36

回帖

848

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:484
  • 最近打卡:2025-05-01 08:52:01
已绑定手机

23

主题

589

回帖

2813

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:99
  • 最近打卡:2025-04-30 14:12:35

19

主题

217

回帖

1805

积分

版主

STC

积分
1805
发表于 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 | 显示全部楼层
高手打擂台,正是我们学习的好时机,多谢你们的发贴与分享,希望社区高手们更加活跃。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-01-09 13:58:54

6

主题

61

回帖

230

积分

中级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-05-01 14:43:21

1

主题

183

回帖

1863

积分

金牌会员

积分
1863
发表于 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-5-1 22:19 , Processed in 0.124308 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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