C6657 WatchDog实现问题求解 - TMS320C665x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5632|回复: 7
打印 上一主题 下一主题

C6657 WatchDog实现问题求解

[复制链接]

4

主题

13

帖子

120

积分

注册会员

Rank: 2

积分
120
跳转到指定楼层
楼主
发表于 2016-6-7 09:42:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在SYS/BIOS系统中写了看门狗,调试时发现系统并不会重启,以下是WatchDog的初始化程序。
  1. void CreatWtd(void)
  2. {
  3.         // 配置 定时器 / 计数器 1 为 看门狗模式
  4.         TimerConfigure(SOC_TMR_1_REGS, TMR_CFG_64BIT_WATCHDOG);

  5.         // 设置周期 64位
  6.         TimerPeriodSet(SOC_TMR_1_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
  7.         TimerPeriodSet(SOC_TMR_1_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);

  8.         // 使能看门狗定时器
  9.         TimerWatchdogActivate(SOC_TMR_1_REGS);
  10. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-6-7 18:01:07 | 只看该作者
这个..............
定时器在 SYS/BIOS 需要用 SYS/BIOS API DSP C66x 的 WatchDog 还需要额外配置
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
板凳
发表于 2016-6-7 18:10:43 | 只看该作者


TI 官方 SYS/BIOS WatchDog 驱动 供你参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

4

主题

13

帖子

120

积分

注册会员

Rank: 2

积分
120
地板
 楼主| 发表于 2016-6-8 13:42:14 | 只看该作者
希望缄默 发表于 2016-6-7 18:10
TI 官方 SYS/BIOS WatchDog 驱动 供你参考

有没有工程源码?

点评

你都没有下载下来看看 就知道没有?  详情 回复 发表于 2016-6-9 10:20
回复 支持 反对

使用道具 举报

4

主题

13

帖子

120

积分

注册会员

Rank: 2

积分
120
5#
 楼主| 发表于 2016-6-8 13:48:50 | 只看该作者
STK中例程STK_Timer里面有有WatchDog测试函数
  1. /*set local timer (==DNUM of a core) as watch dog timer,
  2. service the watch-dog for sometime,
  3. after stop servicing watch-dog, let it trigger NMI*/
  4. void watchdog_timer_test()
  5. {
  6.         int i;
  7.         Uint32 timerCnt;
  8.         Timer64_Config tmrCfg;

  9.         //select output on TIMO0 from local timer.
  10.         gpBootCfgRegs->TOUTSEL = (DNUM*2)<<CSL_BOOTCFG_TOUTSEL_TOUTSEL0_SHIFT;

  11.         gpBootCfgRegs->RSTMUX[DNUM] =
  12.                 (4<<CSL_BOOTCFG_RSTMUX0_RSTMUX_DELAY0_SHIFT)
  13.                 /*WD timer event trigger NMI*/
  14.                 |(WD_RESET_DEVICE<<CSL_BOOTCFG_RSTMUX0_RSTMUX_OMODE0_SHIFT);

  15.         puts("start watch-dog timer...");

  16.         //configure the timer for watch-dog
  17.         tmrCfg.timer_num= DNUM;
  18.         tmrCfg.timerMode= TIMER_WATCH_DOG;
  19.         tmrCfg.period= (unsigned long long)WATCH_DOG_PERIOD_MS*gDSP_Core_Speed_Hz/6000;
  20.         tmrCfg.pulseWidth= 3;
  21.         Timer64_Init(&tmrCfg);

  22.         //service the watch-dog for sometime,
  23.         for(i=1; i<=30; i++)
  24.         {
  25.                 timerCnt= gpTimerRegs[DNUM]->CNTLO;
  26.                 Service_Watchdog(DNUM);
  27.                 printf("service watch-dog %d times, at time counter = %u\n",
  28.                         i, timerCnt);
  29.         }

  30.         puts("stop servicing watch-dog, it will timeout and trigger NMI...\n");
  31. }
复制代码


我应该怎样修改让WatchDog超时后直接系统重启,而不是只打印一句话
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
6#
发表于 2016-6-9 10:20:02 | 只看该作者
kazvvv 发表于 2016-6-8 13:42
有没有工程源码?
里面就是源码
回复 支持 反对

使用道具 举报

4

主题

13

帖子

120

积分

注册会员

Rank: 2

积分
120
7#
 楼主| 发表于 2016-6-12 09:10:45 | 只看该作者

下载解压之后只有一个wdtimer的文件,没有别的

点评

[attachimg]846[/attachimg] [attachimg]847[/attachimg]  详情 回复 发表于 2016-6-12 11:07
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
8#
发表于 2016-6-12 11:07:51 | 只看该作者
kazvvv 发表于 2016-6-12 09:10
下载解压之后只有一个wdtimer的文件,没有别的



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-28 21:28 , Processed in 0.041957 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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