主题 : uboot的一个问题!期待高手指点。 复制链接 | 浏览器收藏 | 打印
级别: 骑士
UID: 4234
精华: 0
发帖: 152
金钱: 1420 两
威望: 1142 点
贡献值: 11 点
综合积分: 304 分
注册时间: 2009-03-05
最后登录: 2012-08-18
楼主  发表于: 2009-05-21 20:50

 uboot的一个问题!期待高手指点。

管理提醒: 本帖被 arm9home 从 Linux技术交流专区 移动到本区(2010-02-08)
我最近在做uboot1.2.0的移植,今天出现了一个莫名的问题
我暂时只对时钟和nandflash进行了移植,移植过程主要是按照《Linux开发完全手册》做的,所以移植方法和开发板中的Uboot1.1.6基本上一致,前天已经做了,但不能实现yaffs的下载,原因是我定义了CFG_NAND_LEGACY,我放弃了这个方法,所以采用书上的方法进行。
在目前的情况是:无法进行nandflash的操作,比如nand erase 0x50000 ,报出来的是:nno devices available
我查了代码报的位置是在cmd_nand.c文件中的do_nand函数中,
if (nand_curr_device < 0 || nand_curr_device >= CFG_MAX_NAND_DEVICE ||
        !nand_info[nand_curr_device].name) {
        puts("\nno devices available\n");
        return 1;
    }是在这里报出来的,而且我发现是由于nand_info[nand_curr_device].name=NULL造成的,我不知道这个到底是什么?为什么会出现这种情况,请高手指点!
级别: 骑士
UID: 4234
精华: 0
发帖: 152
金钱: 1420 两
威望: 1142 点
贡献值: 11 点
综合积分: 304 分
注册时间: 2009-03-05
最后登录: 2012-08-18
1楼  发表于: 2009-05-21 23:50
就是到了这个条件,nand_info[nand_curr_device].name=null就会出现我的这种情况,无法实现功能,但我不知道是什么造成的,nand_curr_device=0,CFG_MAX_NAND_DEVICE =1,这些都通过打印看到了的,而nand_info[nand_curr_device].name=null,为什么会出现这个才是我关心的关键。
另外谢谢版主的提醒,下回换个题目