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

全局不关总中断的 RTOS,CosyOS-III-V1.2.0, 送 擎天柱-AI8051U转89C52核心板

 火... [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:479
  • 最近打卡:2025-07-16 22:38:28

5

主题

1160

回帖

4605

积分

荣誉版主

积分
4605
发表于 2025-7-15 15:28:32 | 显示全部楼层
gzl*** 发表于 2025-7-15 10:39
顶楼没看到更新的1.6.5版本,还没测试发布吗

以后都不在论坛上发布了,以后也不会有工程模板了,都是通过 Cube 升级安装了,用户需自行gitee下载了。
回复 支持 反对

使用道具 举报 送花

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

5

主题

1160

回帖

4605

积分

荣誉版主

积分
4605
发表于 2025-7-15 15:44:04 | 显示全部楼层
为了更加准确且有效的指导用户使用 CosyOS-III for 8051 的“虚拟中断”,
配置文件中的注释说明,现做出如下调整:

截图202507151531092884.jpg

另外提醒用户不要一味的屏蔽告警 L5/L30,因为如果硬件中断也同时存在相同的告警,
你就不知道了,就要出问题了,如下方示例:
截图202507151540085997.jpg
红框里的为48号硬件中断,
下面是各个任务的虚拟中断,
如果一味的屏蔽告警 L5/L30,48号硬件中断重定义你就不知道了。



回复 支持 反对

使用道具 举报 送花

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

5

主题

1160

回帖

4605

积分

荣誉版主

积分
4605
发表于 2025-7-16 22:38:28 | 显示全部楼层
CosyOS-III Cube 新版刚刚发布,实现了已经通过Cube配置或转码的配置文件,
当工程再次升级安装时,不会再此配置或转码(因为二次转码会乱码)
通过Cube配置或转码的配置文件,会有一个显著特征:
截图202507162218182858.jpg
Cube 就是通过查找 <CubeSet> 来判断,该文件是否已经通过Cube自动配置或转码。



对于51来说,当使用新版Cube升级安装时,编译器配置会自动配置为 NOOVERLAY
CosyOS-III for 8051,优先推荐 NOOVERLAY方案此方案易用性较好,而且可靠性最高。

当内存资源紧张时,用户再考虑 OVERLAY方案(虚拟中断 or 手动修改调用树),以节约内存。
当使用 OVERLAY方案时,用户还需查看内存地图,来判断所有函数指针是否使用了内存?
如果用了内存,会存在一定风险,因为C51对函数指针的调用树及覆盖分析有些是错误的,
这也就是为什么C51只有采用 NOOVERLAY方案 才是最可靠的(对于 CosyOS 来说)。


那么CosyOS内核中都哪里会用到函数指针呢?


sv_int_pend_fifo.c 中的所有函数,都是通过函数指针间接调用的,
但它们的调用关系却是正确的,用户不必理会。
截图202507162223325290.jpg
通过内存地图可以看出,OS_PendSV_Handler(PendSV中断)调用了 sPendSV_Handler,
而 sPendSV_Handler 调用了 mPendSV_FIFOHandler,
而 mPendSV_FIFOHandler 调用了 _fifo_0_、_fifo_1_,
而 _fifo_0_、_fifo_1_ 调用了 SV_INT_PEND_FIFO,也就是 中断挂起服务_FIFO - 执行函数。
可见,虽然这些函数都是通过函数指针间接调用的,但它们的调用关系却是正确的,覆盖分析不会有错。


但是,所有定时中断钩子、定时查询钩子、定时查询事件,也都是通过函数指针间接调用的,
它们的调用关系却是错误的(内存地图中 被 ?C_INITSEG 调用),用户需通过内存地图
查看它们是否使用了内存。所以这些钩子的内容要尽量简单一些,以避免用到内存,而且
只有简单了才能高效运行,才符合钩子的意义,因为它们都是在 SysTick中断 中被真实调用的。


再补充一点,通过服务 iPendSVC(fp) 调用的函数,最终是在PendSV中断中通过函数指针间接调用的,
调用关系也是错误的,需格外注意。



- END -





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-07-30 08:13:28
已绑定手机

0

主题

56

回帖

356

积分

中级会员

积分
356
发表于 昨天 08:10 | 显示全部楼层
有RTOS加持后的STC单片机,非常强大
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-07-29 17:22:48
已绑定手机

0

主题

1

回帖

8

积分

新手上路

积分
8
发表于 昨天 17:22 | 显示全部楼层
Cos*** 发表于 2023-5-6 13:04
关于内存的占用,我现在还不能提供一个准确的数字,一般情况下,8K内存跑十多个任务还是绰绰有余的。然而 ...

我看STC8H8K64U芯片模版,启动文件配置堆栈为“?STACK          SEGMENT   IDATA”是在IDATA中,IDATA最大256字节,可是IDATA空间很小,担心任务嵌套使用多了空间占用太多,楼主可否出优化任务堆栈放到XDATA空间的版本呢?XDATA空间有8K。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-7-30 23:02 , Processed in 0.108911 second(s), 75 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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