TI中文支持网
TI专业的中文技术问题搜集分享网站

F28335看门狗为什么没有自动启动?

最近我在跟着TI给的F28335 Multi-Day Workshop学习使用这款芯片。有个问题不太明白。

 lab2.c和lab2.cmd是这个教程里的Lab2的程序。在工程中并没有使用CodeStartBranch.asm。

debug运行后,使用run to line程序运行到

while(1) asm(" NOP"); //trap end of main

并暂停,

然后在z = x + y;处添加断点,在继续运行。

程序并没有因为看门狗复位,运行到断点处。

看门狗电路不是应该默认启动的吗?为什么没有复位呢?

还是说实际上复位了的,只是第一次运行是ccs找到的main函数入口,而复位后因为没有CodeStartBranch.asm,找不到程序入口?

/********************************************************************
File for lab2.c
********************************************************************/

// Global Variables
long z = 0;

int main(void)
{

int x = 2;
int y = 7;

z = x + y;

while(1) asm(" NOP"); //trap end of main

} //end of main

// end of Lab2.c

/* FILE FOR LAB2.CMD */

MEMORY
{ PAGE 0: /* Program Memory */
L0123SARAM: origin = 0x008000, length = 0x4000

PAGE 1: /* Data Memory */
M0SARAM: origin = 0x000000, length = 0x400
M1SARAM: origin = 0x000400, length = 0x400
L4SARAM: origin = 0x00C000, length = 0x1000
L5SARAM: origin = 0x00D000, length = 0x1000
L6SARAM: origin = 0x00E000, length = 0x1000
L7SARAM: origin = 0x00F000, length = 0x1000
}

SECTIONS
{
.text: > L0123SARAM PAGE = 0
.ebss: > L4SARAM PAGE = 1
.cinit: > L0123SARAM PAGE = 0
.stack: > M1SARAM PAGE = 1
.reset: > L0123SARAM PAGE = 0, TYPE = DSECT /* not using .reset section */
}

Young Hu:

可能是GEL文件把看门狗关掉了,你可以看看WD的register,看看是不是关掉了

最近我在跟着TI给的F28335 Multi-Day Workshop学习使用这款芯片。有个问题不太明白。

 lab2.c和lab2.cmd是这个教程里的Lab2的程序。在工程中并没有使用CodeStartBranch.asm。

debug运行后,使用run to line程序运行到

while(1) asm(" NOP"); //trap end of main

并暂停,

然后在z = x + y;处添加断点,在继续运行。

程序并没有因为看门狗复位,运行到断点处。

看门狗电路不是应该默认启动的吗?为什么没有复位呢?

还是说实际上复位了的,只是第一次运行是ccs找到的main函数入口,而复位后因为没有CodeStartBranch.asm,找不到程序入口?

/********************************************************************
File for lab2.c
********************************************************************/

// Global Variables
long z = 0;

int main(void)
{

int x = 2;
int y = 7;

z = x + y;

while(1) asm(" NOP"); //trap end of main

} //end of main

// end of Lab2.c

/* FILE FOR LAB2.CMD */

MEMORY
{ PAGE 0: /* Program Memory */
L0123SARAM: origin = 0x008000, length = 0x4000

PAGE 1: /* Data Memory */
M0SARAM: origin = 0x000000, length = 0x400
M1SARAM: origin = 0x000400, length = 0x400
L4SARAM: origin = 0x00C000, length = 0x1000
L5SARAM: origin = 0x00D000, length = 0x1000
L6SARAM: origin = 0x00E000, length = 0x1000
L7SARAM: origin = 0x00F000, length = 0x1000
}

SECTIONS
{
.text: > L0123SARAM PAGE = 0
.ebss: > L4SARAM PAGE = 1
.cinit: > L0123SARAM PAGE = 0
.stack: > M1SARAM PAGE = 1
.reset: > L0123SARAM PAGE = 0, TYPE = DSECT /* not using .reset section */
}

hty grthgty:

回复 Young Hu:

从寄存器看第一次运行到while(1)的时候看门狗是启动的,WDCR = 0x80,然后在点运行,WDCR = 0xC0,被禁用了。但并没有因看门狗复位从新进行主程序。我用的CCS6.0里面没有.gel文件

赞(0)
未经允许不得转载:TI中文支持网 » F28335看门狗为什么没有自动启动?
分享到: 更多 (0)