jrh00102 发表于 2010-10-27 20:25:12

程序进步了mian()主函数运行

请问版主和各位大侠:
最近在学习TQ2440过程中,我在用AXD调试时会经常停在2440init.s中的mov pc,lr和mian中的
void HaltDabort(void)
{
        Uart_Printf("Dabort exception!!!\n");
        while(1);
}
中的while(1);处。
   按道理如果停在while(1);我打开的串口软件应该能够收到前面发送的“Dabort exception!!!”,但是串口没有收到这句。
我想是不是程序计数器跑飞了。
而使用H-FLASHER将程序下载到NAND flash程序运行正常。
请各位指点迷经,这是什么原因。

天嵌_support1 发表于 2010-10-28 10:54:38

1# jrh00102


mov pc,lr是跳转运行结束的返程。不能跳转运行绝对不是程序问题了,
AXD的调试功能自然没有在硬件中符合事实。
while(1); 自然是卡在这里,条件永远是真。

jrh00102 发表于 2010-10-28 11:34:38

请问版主您认为是硬件,软件、调试软件中的哪方面的问题?
它有时可以,有时就出现上面讲的情况!

天嵌_support1 发表于 2010-10-28 11:58:39

3# jrh00102


代码没有问题,你下载到真实的硬件环境中都可以运行了。
那只能多AXD的调试功能不够强了。

jrh00102 发表于 2010-10-28 15:40:14

哦,谢谢版主!
页: [1]
查看完整版本: 程序进步了mian()主函数运行