主题 : 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: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-05-21 21:38
给你的忠告:先学会给你的帖子起个合适的标题。帖子的标题要表明内容,所有的帖子都用同一个标题是不会有人有耐心一个个看的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2009-05-21 21:40
if (nand_curr_device < 0 || nand_curr_device >= CFG_MAX_NAND_DEVICE ||
        !nand_info[nand_curr_device].name) {

你自己不是已经找到了问题所在?只要看看你现在的U-boot是走到哪个条件里了。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 骑士
UID: 4234
精华: 0
发帖: 152
金钱: 1420 两
威望: 1142 点
贡献值: 11 点
综合积分: 304 分
注册时间: 2009-03-05
最后登录: 2012-08-18
3楼  发表于: 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,为什么会出现这个才是我关心的关键。
另外谢谢版主的提醒,下回换个题目