Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90074
  • 博文数量: 22
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 240
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-03 11:02
文章分类

全部博文(22)

文章存档

2011年(1)

2010年(21)

我的朋友

分类: LINUX

2010-04-02 00:26:11

使用uboot116,启动扬创的utulinux。

发现,用扬创自己的uboot可以正常加载yaffs文件系统,但是他们不开放源代码。

后来自己移植。发现自己移植的怎么也不能正常加载。 后来发现:

在uboot116的 nand_util.c 中的444行。

    if (opts->writeoob) {
            /* read OOB data from input memory block, exit
             * on failure */
            memcpy(oob_buf, buffer, meminfo->oobsize);
            buffer += meminfo->oobsize;


            {
                unsigned char ucTemp;
                ucTemp = oob_buf[8];
                oob_buf[8] = oob_buf[9];
                oob_buf[9] = ucTemp;

                ucTemp = oob_buf[13];
                oob_buf[13] = oob_buf[14];
                oob_buf[14] = ucTemp;
            }

        
          把oob的顺序掉一下,就会和扬创带的uboot一样了。  我一定要搞清楚这是为什么。

难道是故意的?如果真是的话,那也太无耻了。


            /* write OOB data first, as ecc will be placed
             * in there*/
阅读(717) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~