主题 : u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃superboot 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 5433
精华: 0
发帖: 19
金钱: 105 两
威望: 37 点
综合积分: 38 分
注册时间: 2009-04-23
最后登录: 2013-07-15
楼主  发表于: 2012-08-30 11:11

 u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃superboot

买tiny210开发板之前, 真不知道连u-boot也不是提供。
superboot虽好,但只提供二进制文件,且只能用SD卡烧写,太不爽了。 从QQ2440,到Tiny6410, 再到Tiny210,  
感觉硬件越来越超值,可送的软件却越来越垃圾了。

痛定思痛,决定移植u-boot, 最早是在2011-12上面搞, 当时把USB DNW做好了(借用6410 usbd-otg-hs.c/.h,  小改了几处实现),能烧写u-boot, kernel等二进制文件,
烧写yaffs2, 却启不来,... 因为项目忙,所以就搁置了

最近看到u-boot 2012-07发布,决定直接在最新版本的u-boot上去把心愿了解。
主要方法是: 对比superboot烧写后的OOB数据, IMG原始OOB数据,以及u-boot烧写后的OOB数据。

通过不断对比发现:  
1. 要用友善的mkyaffs2image-128M, 因为它里面才包含了ECC layout相关数据。
2. nand_write_skip_bad的
if (!need_skip && !(flags & WITH_DROP_FFS)) {
        rval = nand_write (nand, offset, length, buffer);
        if (rval == 0)
            return 0;

        *length = 0;
        printf ("NAND write to offset %llx failed %d\n",
            offset, rval);
        return rval;
}
这段代码要屏蔽 (这段代码在有些情况下会导致OOB没有写入
3. nand_do_write_ops函数的

    if (likely(!oob))
        memset(chip->oob_poi, 0xff, mtd->oobsize);
要把这个if判断拿掉 (经验证, 这个不是必须的
4.  OOB mode要改为MTD_OOB_PLACE。
5. u-boot要关闭8bit hw ecc, 打开 CONFIG_NAND_4BIT_ECC。 这个很关键
6. kernel也要关闭8 bit hw ecc

差不多完成以上几步后, 用u-boot烧写rootfs_android.img就与superboot完全一致了。
android系统也就可以跑了。
[ 此帖被yatelanda在2012-08-30 11:54重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-08-30 11:42

 Re:u-boot-2012-07 for tiny210, 支持USB DNW, 支持YAFFS2烧写, 彻底抛弃superboot

感谢你的分享

P.S. 一般得不到的,和很容易得到的,都是垃圾;只有自己努力得到的,才是极品
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 5433
精华: 0
发帖: 19
金钱: 105 两
威望: 37 点
综合积分: 38 分
注册时间: 2009-04-23
最后登录: 2013-07-15
2楼  发表于: 2012-08-30 11:52

 Re:u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃superboot

版主莫生气

先说硬件:
我买过友善3块板,从2440到6410到210.

210这块板,买来没焊串口芯片,后来寄回去后,焊上了。

不过前段时间没用板子之后,再用这块板子,发现串口死活不工作。 最后通过LED才确认程序正常,串口芯片挂掉,浪费我近一天时间。

现在都是用手机数据线(串口线)直接焊在上面的。

再说软件:
买开发板的人,要是没有bootloader, 其实买板意义都不大。 你要说只调上层系统如android, 那还不如直接用模拟器。

偶尔刷机,用SD卡还不错,但要经常刷机,SD缺点就太多了。

Android 4.0早已经在手机上运用了, 现在只提供镜像,也顶多是对你们的竟争对手保密, 实质是伤害了我们这些顾客。
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
3楼  发表于: 2012-08-30 12:47

 u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃superboot

引用第2楼yatelanda于2012-08-30 11:52发表的 Re:u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃superboot :
版主莫生气

先说硬件:
我买过友善3块板,从2440到6410到210.

.......

首先帮顶!终于有支持DNW的uboot-210了!

另外我也比较同意楼主的观点,友善210的开源力度的确没以前给力了……
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 骑士
UID: 61140
精华: 1
发帖: 213
金钱: 1125 两
威望: 225 点
综合积分: 446 分
注册时间: 2011-12-23
最后登录: 2016-11-20
4楼  发表于: 2012-08-30 15:05

 Re:u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃super ..

下载地址?  
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
5楼  发表于: 2012-08-30 15:47

 u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃super ..

引用第4楼neechard于2012-08-30 15:05发表的 Re:u-boot-2012-07 for tiny210,  支持USB DNW,  支持YAFFS2烧写, 彻底抛弃super .. :
下载地址?    
这个是还在移植的吧?已经出成品了吗?如果有,同求下载地址……
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com