+ -
当前位置:首页 → 问答吧 → VIVI 与 u-boot 的相互下载问题。急待解决!

VIVI 与 u-boot 的相互下载问题。急待解决!

时间:2010-09-29

来源:互联网

版主,各位朋友:
      大家好,想请教一个关于vivi 和 u-boot 相互下载的问题。
      现在我的情况是,1)用JTAG把 vivi 烧到板子上,vivi可以跑起来,然后也可以去下载 u-boot,并且u-boot在板子重启后也能跑起来。
      2) 当我用 u-boot(即板子上已有的bootloader是u-boot,已能跑起来) 把 vivi 下载到板子上时,重启后,vivi却不能跑起来。
      我的问题是,为什么同样是下载vivi,用JTAG下载时就能跑起来,而用u-boot下载时却不能跑起来?
      我想把这个问题搞清楚,并解决它,但是却没有一点头绪和方向,而又急待解决这个问题,希望各位朋友能说说自己的看法,提供一些思路!
      

     我的板子上用的是 nand flash。
JTAG把vivi烧到的地址 是 0x00000000; vivi把u-boot烧写在0x00000000;
u-boot把vivi烧写在 0x00000000;即互相下载时是直接把原有的那个覆盖了。
另外:我有用仿真器去读nand的内容,两种情况下(即有JTAG烧写vivi、用u-boot下载vivi)读出的内容是一样的。

请针对我的情况,提供以下思路。谢谢。


补充一下:
1)我上面所说的vivi,里面的第一阶段的启动代码,更多的是如44B0的第一阶段的启动代码的编码方式。我想,这个应该关系不大吧,因为单独下载进入时,是能完全启动和跑起来的。
2)用u-boot把vivi下载进去板子后,启动不了。然后再这情况下,我用类似于点灯的方法去调试它,发现第一阶段的代码跑到 “复制程序”这部分代码时死掉了,一进去“复制”这段代码就死了,这样的话,是否可以确定问题就出在这里呢?
然而,为什么用JTAG下载vivi进去跑时,它能跑;而用u-boot下时,它不能跑过那个点,这个是否和对nand flash 的操作上有关,比如说 对flash 的C区的操作上出现了问题?
我想去读出两种情况下的C区的代码,可行吗?可以怎样去读取呢?

谢谢!

作者: dongchaohuang   发布时间: 2010-09-29

用u-boot 下载前先格式化一下在下载看怎么样

作者: zhangkuang   发布时间: 2010-09-29

回复zhangkuang :
你说的格式化具体是什么意思?
在u-boot下载前,u-boot它是会按照要下载的文件的大小擦除相应的空间,我想这应该和你说的格式化的效果是一样的了。

作者: dongchaohuang   发布时间: 2010-09-29