u-boot 烧写yaffs文件系统时ood要互换位置?

730阅读 0评论2010-04-02 waderwang
分类:LINUX

使用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*/
上一篇:转载:U-boot 移植一二三四
下一篇:使用VS2008 编写一个修改hex文件的工具