最近我在跟着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文件