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

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

 火... [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-05-04 20:54:20

5

主题

1127

回帖

4275

积分

荣誉版主

积分
4275
发表于 2024-6-10 17:55:15 | 显示全部楼层
本帖最后由 CosyOS 于 2024-6-10 17:59 编辑
凌*** 发表于 2024-6-10 14:38
首次尝试采用CosyII OS建立了一个项目,一共3个任务,运行后,发现经常性地复位、重启。
怀疑看门狗问题, ...

在滴答钩子中喂狗的确是一个好方法,这样喂狗周期就是滴答周期。
在说明文档中并未提及相关内容,但这确实是 CosyOS 的推荐方法。
按理来说,这样操作是不会有问题的,因为滴答钩子在每个系统滴答周期都会被及时调用。
我想可能的原因有两个(纯理论分析):
1、看门狗定时器溢出时间设置有误;
2、某个临界段(任务临界区 或 全局临界区)中,代码运行时间 > 看门狗定时器溢出时间。

可先把看门狗定时器溢出时间设置为最大值(n秒),看能否解决问题?
再介绍一下,你的系统滴答周期设置为多少,是1ms吗?
看门狗定时器溢出时间又是多少呢?
如果关掉看门狗,系统运行情况看似正常吗?



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-06-10 22:03:00

1

主题

7

回帖

59

积分

注册会员

积分
59
发表于 2024-6-10 22:08:59 | 显示全部楼层

看门狗相关信息如下:
1. 在syscfg.h中
#define SYSCFG_SYSCLK                    24000000
#define SYSCFG_SYSTICKCYCLE              1000

2.在init_hook.c中
void init_hook(void)
{
WDT_CONTR = 0x27;    //使能看门狗,溢出时间约为8s
}

3.在tick_hook.c中
void tick_hook(void) MCUCFG_USING
{
if(s_sign_every.second) {
        s_sign_every.second = false;
        if(1) { /* 每秒钟执行一次(每秒,first tick)*/
           WDT_CONTR = 0x34; // 喂狗
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-06-10 22:03:00

1

主题

7

回帖

59

积分

注册会员

积分
59
发表于 2024-6-10 22:10:10 | 显示全部楼层
1. 在syscfg.h中
#define SYSCFG_SYSCLK                    24000000
#define SYSCFG_SYSTICKCYCLE              1000

2.在init_hook.c中
void init_hook(void)
{
WDT_CONTR = 0x27;    //使能看门狗,溢出时间约为8s
}

3.在tick_hook.c中
void tick_hook(void) MCUCFG_USING
{
if(s_sign_every.second) {
        s_sign_every.second = false;
        if(1) { /* 每秒钟执行一次(每秒,first tick)*/
           WDT_CONTR = 0x34; // 喂狗
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-06-10 22:03:00

1

主题

7

回帖

59

积分

注册会员

积分
59
发表于 2024-6-10 22:11:14 | 显示全部楼层
看门狗相关信息与代码如下(剔除之后,反而正常运行):
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-06-10 22:03:00

1

主题

7

回帖

59

积分

注册会员

积分
59
发表于 2024-6-10 22:12:05 | 显示全部楼层
相关代码如下(剔除之后,反而正常)
1. 在syscfg.h中
#define SYSCFG_SYSCLK                    24000000
#define SYSCFG_SYSTICKCYCLE              1000

2.在init_hook.c中
void init_hook(void)
{
WDT_CONTR = 0x27;    //使能看门狗,溢出时间约为8s
}

3.在tick_hook.c中
void tick_hook(void) MCUCFG_USING
{
if(s_sign_every.second) {
        s_sign_every.second = false;
        if(1) { /* 每秒钟执行一次(每秒,first tick)*/
           WDT_CONTR = 0x34; // 喂狗
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:13
  • 最近打卡:2025-03-28 10:25:35

4

主题

74

回帖

548

积分

高级会员

积分
548
发表于 2024-6-10 22:13:16 | 显示全部楼层
凌*** 发表于 2024-6-10 22:10
1. 在syscfg.h中
#define SYSCFG_SYSCLK                    24000000
#define SYSCFG_SYSTICKCYCLE        ...

s_sign_every 是软件RTC的功能,你要启用软件RTC才行吧

不然直接这样也是很香
void tick_hook(void) MCUCFG_USING
{
     WDT_CONTR=0x34;
     // 其他代码
希望这个世界让我装一次B
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-05-04 20:54:20

5

主题

1127

回帖

4275

积分

荣誉版主

积分
4275
发表于 2024-6-10 23:22:32 | 显示全部楼层
对的,每秒钟...喂一次狗,需要开启软件RTC。
也可每滴答喂狗,就不需要软件RTC了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-12-12 12:51:00

5

主题

45

回帖

163

积分

注册会员

积分
163
发表于 2024-6-11 09:09:48 | 显示全部楼层
弱弱地问一下!OS 一般用于那些应用比较好!一般简单的任务似乎要再学一个东西有点耗时间!复杂的应用肯定是有好处的!
不知道这个上手快不?哪里可以完整学习?
谢谢!

点评

具体应用不好说,但一般RTOS适合应用在具有高实时性要求的实时控制现场。 CosyOS 具有良好的易用性,非常容易上手。 建议你先听一下讲座的第一课(在顶楼有视频回放),便会对 裸机与RTOS的区别、 CosyOS 的应用 有  详情 回复 发表于 2024-6-11 10:05
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-12-12 12:51:00

5

主题

45

回帖

163

积分

注册会员

积分
163
发表于 2024-6-11 09:11:43 | 显示全部楼层
大家好 STC32G能做视频播放监控之类的吗?

点评

64x48@15fps 回放应该是有机会  发表于 2024-6-12 08:50
这个我不了解情况,更没有经验,就不回复了, 期待有相关开发经验的朋友能给出答案。  发表于 2024-6-11 19:47
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-05-04 20:54:20

5

主题

1127

回帖

4275

积分

荣誉版主

积分
4275
发表于 2024-6-11 10:05:16 | 显示全部楼层
STCW*** 发表于 2024-6-11 09:09
弱弱地问一下!OS 一般用于那些应用比较好!一般简单的任务似乎要再学一个东西有点耗时间!复杂的应用肯定 ...

具体应用不好说,但一般RTOS适合应用在具有高实时性要求的实时控制现场。
CosyOS 具有良好的易用性,非常容易上手。
建议你先听一下讲座的第一课(在顶楼有视频回放),便会对 裸机与RTOS的区别、
CosyOS 的应用 有一个初步的了解。并能切实的体验到 CosyOS 的易用性。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-5 09:01 , Processed in 0.208863 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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