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

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

 火... [复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16667
发表于 2024-2-9 10:18:09 | 显示全部楼层
截图202402091018066279.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:534
  • 最近打卡:2025-06-17 07:57:07
已绑定手机

158

主题

592

回帖

1035

积分

金牌会员

积分
1035
发表于 2024-2-10 08:21:45 | 显示全部楼层
神*** 发表于 2024-2-9 09:40
龙年新春捷报:
STC8H2K32U-45MHz-LQFP32/TSSOP28 的 USB 型 MCU 已开始制造光罩流程中
RMB1.3 的 USB, STC ...

2024年STC事业飞黄腾达,生意兴隆!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:534
  • 最近打卡:2025-06-17 07:57:07
已绑定手机

158

主题

592

回帖

1035

积分

金牌会员

积分
1035
发表于 2024-2-10 08:22:19 | 显示全部楼层

新年好龙年大吉!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:534
  • 最近打卡:2025-06-17 07:57:07
已绑定手机

158

主题

592

回帖

1035

积分

金牌会员

积分
1035
发表于 2024-2-10 08:39:15 | 显示全部楼层
老师:新年好,给你拜个年!我突然想到一个问题,想请教一下,系统自身创建了一个空闲任务,并设它为最低优先级,当系统没有任务任务就绪时,则运行这个任务,让CPU“有事可干”。,系统空闲时,让他进入低功耗、休息不好吗?省电,为啥非要给他找一个无关紧要事,让它跑呢?

点评

新年好! CosyOS的系统空闲任务是有机会进入低功耗的。 uCreateTask(Sysidle, 0, MCUCFG_STACKSIZE_SYSIDLE, 0, 0) { // 1:如果启用了“安全运行时”,会编译下方代码。如果有任务进入超时状态,将在此清除超时  详情 回复 发表于 2024-2-10 15:26
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:466
  • 最近打卡:2025-06-16 22:40:21

5

主题

1152

回帖

4477

积分

荣誉版主

积分
4477
发表于 2024-2-10 15:26:06 | 显示全部楼层
本帖最后由 CosyOS 于 2024-2-10 15:53 编辑
38009*** 发表于 2024-2-10 08:39
老师:新年好,给你拜个年!我突然想到一个问题,想请教一下,系统自身创建了一个空闲任务,并设它为最低优 ...

新年好!
CosyOS的系统空闲任务是有机会进入低功耗的。

uCreateTask(Sysidle, 0, MCUCFG_STACKSIZE_SYSIDLE, 0, 0)
{
        // 1:如果启用了“安全运行时”,会编译下方代码。如果有任务进入超时状态,将在此清除超时信号,并在任务调度时恢复任务为就绪状态。
        #if SYSCFG_SAFERUNTIME == __ENABLED__
        if(true){
                s_tid_t i;
                for(i = 1; i < OS_TASKTOTAL + 1; i++){
                        s_sign_timeout = 0;
                }
        }
        
#endif

        // 2:如果启用了软件RTC,会编译下方代码。如果“年”发生变化,将会重新计算2月为几天?
        
#if SYSCFG_SOFTRTC == __ENABLED__
        if(true){
                static s_u8_t year = 0xFF;
                if(year != s_rtc[0][0]){
                        year = s_rtc[0][0];
                        s_month2day = year ? ((year & 3) ? 28 : 29) : ((sDefCentury & 3) ? 28 : 29);
                }
        }
        #endif

        // 3:如果启用了空闲钩子,将会被调用,执行用户的代码。
        
#if SYSCFG_IDLEHOOK == __ENABLED__
        idle_hook();
        #endif

        // 4:进入低功耗(STC为:PCON |= 0x01;  Arm为:__WFI();)
        
mSys_Idle;

        uEndTasking;
}

一、如果启用了“安全运行时”,进入低功耗模式的机率会显著降低,否则会时常进入低功耗模式。
二、如果三个系统配置项均禁用,那么只有进入低功耗 / 退出低功耗 的循环往复。
三、用户也可自行调整低功耗模式的等级(在MCU配置头文件中修改或直接修改 mSys_Idle),但必须支持中断唤醒。



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:534
  • 最近打卡:2025-06-17 07:57:07
已绑定手机

158

主题

592

回帖

1035

积分

金牌会员

积分
1035
发表于 2024-2-10 16:51:44 | 显示全部楼层
Cos*** 发表于 2024-2-10 15:26
新年好!
CosyOS的系统空闲任务是有机会进入低功耗的。

感谢老师指点,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-02-12 09:21:26

3

主题

21

回帖

149

积分

注册会员

积分
149
发表于 2024-2-12 09:18:29 | 显示全部楼层
好像提供的示例里面不见有用户任务的声明及创建似的?只有
uStartTask(Starter, OS_STATUS_READY);
uStartTask(Sysidle, OS_STATUS_READY);

好像这两个不像是用户任务似的?
哪位请指导一下,谢谢?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-02-12 09:21:26

3

主题

21

回帖

149

积分

注册会员

积分
149
发表于 2024-2-12 09:19:26 | 显示全部楼层
uStartTask(Starter, OS_STATUS_READY);
uStartTask(Sysidle, OS_STATUS_READY);
请问这两个是否系统级任务?就是必须创建的?

点评

这两个是系统任务,由系统自动创建并启动。 测试程序中都有用户任务创建的示例。  详情 回复 发表于 2024-2-12 17:17
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:466
  • 最近打卡:2025-06-16 22:40:21

5

主题

1152

回帖

4477

积分

荣誉版主

积分
4477
发表于 2024-2-12 17:17:54 | 显示全部楼层
succ*** 发表于 2024-2-12 09:19
uStartTask(Starter, OS_STATUS_READY);
uStartTask(Sysidle, OS_STATUS_READY);
请问这两个是否系统级任务 ...

这两个是系统任务,由系统自动创建并启动。
测试程序中都有用户任务创建的示例。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-02-12 09:21:26

3

主题

21

回帖

149

积分

注册会员

积分
149
发表于 2024-2-16 15:39:35 | 显示全部楼层
Cos*** 发表于 2024-2-12 17:17
这两个是系统任务,由系统自动创建并启动。
测试程序中都有用户任务创建的示例。 ...

您好,我打开的就是测试程序呀?
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 16:42 , Processed in 0.128417 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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