海陆空653 发表于 2012-4-25 00:37:30

ARM9 2440启动问题,奇怪的现象 本质的问题 求前辈和有敬经验者解答,不胜感激!!!

前段时间 在用2440裸机做摄像头图像采集并实时显示,基本上已经实现了,但是有一个奇怪问题,我的程序大于4K,第一次将程序烧入板子时运行正常,无论是复位还是断电后立刻上电都可以正常运行 问题在于,在断电一段比较长的时间(10分钟往上),在上电后程序就不能启动了,LCD显示的是白屏,怎么弄都还是没反应。
有时候将程序烧入后又不能正常启动,但有时又是可以的,很奇怪的问题,以前没遇见过,求有经验前辈解答,不胜感激,最近这问题弄的比较纠结。
我初步估计是大于4K时的拷贝程序问题,但没有深入研究过,还是一头雾水。。。
   
最经 还是老问题,这段时间有用2440产生PWM 和AD处理 都能实现,大体出现和上面同样的情况,在这我具体描述一下:编辑好的程序 我再三的检查,自我感觉没错,但烧入板子不能正常运行, 到此 我想到了用AXD进行单步调试,我将启动调试设置在nand flash 下 程序奇迹般的正常运行了,断电之后,从新按正常方式烧入程序,可以正常运行了。即使是在改过程序之后,任然可以正常运行, 就在此时,又一个问题出现得,同样刚才可以运行的程序,在断电超过一分钟或者说是10秒往上,在上电后,程序不能运行了   
该问题困扰我很久了,希望出现过这种情况的前辈或有经验的给我点意见,在此不胜感激。

guoke25 发表于 2012-4-25 10:06:41

按照天嵌的说明书下载天嵌自带的测试程序有没有上面的问题?如果没有的话有可能是启动代码确实出现了问题。如果也有同样的问题的话可能就是开发板上的硬件出问题了。

海陆空653 发表于 2012-4-26 19:42:47

我也估计是启动代码问题,恶补启动代码中,能说一下启动中要注意的问题吗?

guoke25 发表于 2012-4-26 19:47:47

海陆空653 发表于 2012-4-26 19:42 static/image/common/back.gif
我也估计是启动代码问题,恶补启动代码中,能说一下启动中要注意的问题吗?

使用原厂的文件烧录不存在你所描述的问题吗?

海陆空653 发表于 2012-4-28 19:08:19

我买的是友善之臂2440的板子,就是用买板子送的资料里面自带的启动文件 也会出现这样的情况,只是我把一些没有用到的文件给删除掉了主要也就是MMU这块没用

guoke25 发表于 2012-4-28 19:59:35

海陆空653 发表于 2012-4-28 19:08 static/image/common/back.gif
我买的是友善之臂2440的板子,就是用买板子送的资料里面自带的启动文件 也会出现这样的情况,只是我把一些没 ...

按照你说的情况很可能是nandflash出问题了。你把板子发回去让他们帮检查好了

guoke25 发表于 2012-4-28 20:00:13

海陆空653 发表于 2012-4-28 19:08 static/image/common/back.gif
我买的是友善之臂2440的板子,就是用买板子送的资料里面自带的启动文件 也会出现这样的情况,只是我把一些没 ...

MMU这块对启动没有影响的

guoke25 发表于 2012-4-28 20:01:19

海陆空653 发表于 2012-4-28 19:08 static/image/common/back.gif
我买的是友善之臂2440的板子,就是用买板子送的资料里面自带的启动文件 也会出现这样的情况,只是我把一些没 ...

你应该用他们已经编译好的大于4k的bin文件来来测试,先排除硬件上的问题

guoke25 发表于 2012-4-28 20:16:20

分析的思路:
1、用原厂自带的大于4k的bin文件烧入芯片,如果出现同样的问题,说明开发板有问题,发回原厂修理
2、如果没有问题,使用原厂的源代码进行编译,然后将生成的bin文件烧入芯片。编译得到的文件如果没有问题,说明源代码应该可以用。这时候再去对照原厂的源代码和你的代码之间的差别,通过细微调整来定位错误。编译得到的文件如果有问题,说明源代码有问题,向原厂要没有问题的代码,再进行下一步的调试

海陆空653 发表于 2012-4-30 10:12:53

今天我找了朋友的另一块板子来试了一下,我先后用过三块板子测试,都有一个普遍的问题,我简要在这陈述一下:
我写了一个小于4k的点灯程序烧入板子,在这有两种情况,我具体描述一下,同一个程序,在ADS编译中,当我在debugRel settings 中其他选项设置正常(跟一般的调试设置),唯一不同的是ARM Linker——Output——RO base 值为0x30000000,和ARM Linker——options-image entry point 也设置为0x30000000,按正常方式烧入板子并上电不能正常工作 ,程序不运行, 但是如果我在nor flash下烧入程序后不断电,并从nor flash 转到nand flash 在按下复位键 程序竟然奇迹般的正常运行了,在复位也能正常工作,但就是不能断电,否则在运行就不行了。我把我以前的程序测试也是这样的现象,
第二种情况 我将上面所说的两处地址都设置为0x0,正常方式烧入,断电后将nor转到nand 程序正常启动,也不会出现我标题所说的过段时间后就不能启动。。。
我还是很费解,我初步判断是程序运行域 和加载域这块的地址有问题 主要在RO base 和RW base的地址设置 但这个问题我不知道怎么解决 请求您能给我一些意见 十分感谢 我今年大三 正在在做一个小项目 最近时间快到了 各模快程序都能实现功能,但都普遍存在这个问题 十分感谢 如果方便能留下您的QQ号码?

guoke25 发表于 2012-4-30 10:52:09

我的qq398047759
页: [1]
查看完整版本: ARM9 2440启动问题,奇怪的现象 本质的问题 求前辈和有敬经验者解答,不胜感激!!!