天嵌 ARM开发社区

 找回密码
 注册
查看: 2866|回复: 4

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

[复制链接]
jrh00102 发表于 2010-10-27 20:25:12 | 显示全部楼层 |阅读模式
请问版主和各位大侠:
最近在学习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 | 显示全部楼层
哦,谢谢版主!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-12 21:22 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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