主题 : 210-uboot(支持fastboot刷手机一样刷开发板) 复制链接 | 浏览器收藏 | 打印
:)
级别: 圣骑士
UID: 61588
精华: 5
发帖: 250
金钱: 1500 两
威望: 300 点
贡献值: 5 点
综合积分: 600 分
注册时间: 2012-01-02
最后登录: 2018-03-05
楼主  发表于: 2013-06-27 17:15

 210-uboot(支持fastboot刷手机一样刷开发板)

管理提醒: 本帖被 xoom 执行加亮操作(2013-06-28)
Ver0.8 2013-09-08 支持fastboot烧写系统
镜像文件: 这里
  step1: fastboot # 开发板
  step2:fastboot flash bootloader tiny210v2-uboot.bin #PC
  step3:fastboot flash kernel /work/tftpboot/uImage_softecc #PC
  step4:fastboot flash system /work/tftpboot/rootfs_qtopia_qt4.img #PC
  step5: nand read 21000000 400000 500000 # 开发板
  step6: bootm # 开发板
说明:烧写的镜像与以前版本并无差别。
获取源码:
本部分内容设定了隐藏,需要回复后才能看到

分析文章在这里:http://arm9home.net/read.php?tid-81165.html
(注:目前只是beta版本,调试信息都还没有去掉,日后会更新完善)

Ver0.7 2013-09-01 支持从slc NandFlash烧写yaffs2
bin文件:  tiny210v2-uboot.bin (263 K) 下载次数:690
  step1: tftp rootfs_qtopia_qt4.img
    step2: nand erase e00000 2000000
    step3: nand write.yaffs 21000000 e00000 $filesize
    step4: setenv machid 0xd8a
    step5: tftp uImage_softecc
    step6: bootm
说明:
rootfs_qtopia_qt4.img是我精简过的yaffs2镜像文件,所以2000000大小要根据镜像大小改变
uImage_softecc是关闭硬件ECC的内核,如何关闭参考这里:http://blog.csdn.net/liukun321/article/details/8558425
获取源码:
本部分内容设定了隐藏,需要回复后才能看到

分析文章在这里:http://blog.csdn.net/kangear/article/details/10858197


Ver0.6 2013-08-24 支持从NandFlash引导内核
u-boot读写NandFlash使用16bit硬件ECC,支持从NandFlash启动内核。
bin文件:   tiny210v2-uboot.bin (262 K) 下载次数:202
    step1: setenv machid 0xd8a
    step2: tftp uImage_308
    step3: nand erase 400000 500000
    step4: nand write 21000000 400000 500000
    step5: bootm
获取源码:
本部分内容设定了隐藏,需要回复后才能看到

关键是driver/mtd/nand/s5pc1xx_nand.c这个文件和修改。
分析文章在这里:http://arm9home.net/read.php?tid-81060.html

  



Ver0.4 2013-07-31 同时支持tiny210(SLC)
u-boot会自动识别NandFlash型号MLC还是SLC。
bin文件: tiny210v2-uboot.bin (254 K) 下载次数:236
获取源码:
本部分内容设定了隐藏,需要回复后才能看到








Ver0.3 2013-07-27 支持tftp下载内核nfs挂载根文件系统
bin文件: tiny210v2-uboot.bin (254 K) 下载次数:135
本版本源码获取:
本部分内容设定了隐藏,需要回复后才能看到

    step1: setenv machid 0xd8a
    step2: setenv bootargs root=/dev/nfs nfsroot=192.168.1.229:/work/rootfs_dir/nfs_rootfs/rootfs_qtopia_qt4 ip=192.168.1.230:192.168.1.229:192.168.1.1:255.255.255.0::eth0:off console=ttySAC0,115200 mem=512M
    step3: tftp uImage_308
    step4: bootm

说明:
0xd8a是tiny210v2内核用的机器码
bootargs中的路径和ip与你实际情况更改
rootfs_qtopia_qt4是rootfs_qtopia_qt4-20130222.tar.gz通过命令行解压得来的
uImage_308是友善光盘中的3.08内核make uImage得来的

    [Ver130726-TINY210v2]# tftp uImage_308
    dm9000 i/o: 0x88001000, id: 0x90000a46
    DM9000: running in 16 bit mode
    MAC: 00:40:5c:26:0a:5b
    operating at 100M full duplex mode
    Using dm9000 device
    TFTP from server 192.168.1.229; our IP address is 192.168.1.230
    Filename 'uImage_308'.
    Load address: 0x21000000
    Loading: #################################################################
     ###################################T ##############################
     #################################################################
     #################################################################
     #################################################################
     ###
    done
    Bytes transferred = 4811624 (496b68 hex)
    [Ver130726-TINY210v2]# bootm  
    ## Booting kernel from Legacy Image at 21000000 ...
        Image Name:   Linux-3.0.8-FriendlyARM
        Image Type:   ARM Linux Kernel Image (uncompressed)
        Data Size:    4811560 Bytes = 4.6 MiB
        Load Address: 20008000
        Entry Point:  20008000
        Verifying Checksum ... OK
        Loading Kernel Image ... OK
    OK
    Using machid 0xd8a from environment

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Linux version 3.0.8-FriendlyARM (root@kangear) (gcc version 4.5.1 (ctng-1.8.1-FA) ) #1 PREEMPT Fri Jul 26 22:26:05 CST 2013
    [    0.000000] CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f
    [    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: MINI210
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    .........
    .........
    [   12.274252] libertas_sdio: Unknown symbol lbs_resume (err 0)
    [   12.332482] libertas_sdio: Libertas SDIO driver
    [   12.332536] libertas_sdio: Copyright Pierre Ossman
    Try to bring eth0 interface up......NFS root ...Done

    Please press Enter to activate this console.
    [root@FriendlyARM /]# ls
    bin      etc      linuxrc  proc     sdcard   usr
    data     home     mnt      root     sys      var
    dev      lib      opt      sbin     tmp      www
    [root@FriendlyARM /]#

============================================================================================================

版本:Ver0.2  (2013-07-25更新) 恳求大家提供bug :)
编译好的bin文件:   tiny210v2-uboot.bin (254 K) 下载次数:52
源代码下载地址:
本部分内容设定了隐藏,需要回复后才能看到

2013-07-23 修改oobsize大小 (感谢fchen2网友提供bug)


2013-07-20 用"BL1"代替“spl”,使得BL1和u-boot代码脱离,便于移植(环境变量在SD卡中,请插SD卡)

2013-06-27 Nand/SD卡启动,u-boot.bin/spl二合一。
2013-06-26 开始移植 适用于tiny210v2 NandFlash:K9GAG08U0F

==================================================================================================================

版本:Ver0.1
编译好的bin文件: tiny210v2-u-boot.bin (251 K) 下载次数:201
源代码下载地址:(改用github)
本部分内容设定了隐藏,需要回复后才能看到

将以前的经过ECC的BL1代码移植到了u-boot中。这样就可以正常的从NandFlash启动。同时支持SD卡启动。u-boot文件就一个烧写简单。
烧写NandFlash可以使用MiniTools,烧写到SD卡中可以使用dd命令或者《SD-Flasher for Linux v1.0(210版本)》,友善的SD-Flasher应该也可以,没有做测试。先简单的介绍到这里。我得整理移植过程和升级版本了。

使用测试:




版本:Ver0.0
基于这个版本的u-boot移植的:https://gitorious.org/opencsbc/u-boot/archive-tarball/mini210_linaro-2012.11-stable
介绍帖子:http://www.arm9home.net/read.php?tid-27897.html
我是在以上这个版本的u-boot的基础上移植的。
[ 此帖被kangear在2013-09-11 22:29重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2013-06-27 17:24
支持
"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
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2013-06-27 17:25
为什么不把源代码放到Github上维护呢?版本管理也方便。
"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: 61588
精华: 5
发帖: 250
金钱: 1500 两
威望: 300 点
贡献值: 5 点
综合积分: 600 分
注册时间: 2012-01-02
最后登录: 2018-03-05
3楼  发表于: 2013-06-27 17:32

 回 2楼(kasim) 的帖子

github我只会把一个完全做好的代码发上去,还没用过版本更新。:)
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2013-06-27 18:02

 回 3楼(kangear) 的帖子

事实上不存在“完全做好的代码”,你也不必要等到一切都完美了再发布源代码。越早发布,和别人合作的机会就越好。
Git的使用其实很简单,参考http://git-scm.com/book/zh
如果对Git的使用有任何需要帮助的,可以发邮件给我kasimling@gmail.com :)
"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: 61588
精华: 5
发帖: 250
金钱: 1500 两
威望: 300 点
贡献值: 5 点
综合积分: 600 分
注册时间: 2012-01-02
最后登录: 2018-03-05
5楼  发表于: 2013-06-27 20:17

 回 4楼(kasim) 的帖子

谢谢版主,发布上去了。原贴已经改为了github。先自己学着用,有不懂了再请教。:)
级别: 新手上路
UID: 92673
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 36 分
注册时间: 2013-06-04
最后登录: 2013-07-18
6楼  发表于: 2013-06-28 13:34
好东西啊
级别: 侠客
UID: 58655
精华: 0
发帖: 130
金钱: 645 两
威望: 130 点
贡献值: 0 点
综合积分: 260 分
注册时间: 2011-11-11
最后登录: 2017-09-13
7楼  发表于: 2013-06-28 17:58
看看,学习下
级别: 侠客
UID: 8892
精华: 0
发帖: 88
金钱: 440 两
威望: 88 点
贡献值: 0 点
综合积分: 176 分
注册时间: 2009-09-09
最后登录: 2018-02-08
8楼  发表于: 2013-06-28 20:33
看看MLC 版本的 U-Boot
级别: 侠客
UID: 8892
精华: 0
发帖: 88
金钱: 440 两
威望: 88 点
贡献值: 0 点
综合积分: 176 分
注册时间: 2009-09-09
最后登录: 2018-02-08
9楼  发表于: 2013-06-28 21:25
请教楼主, 有试过NAND U-Boot启动 MTD partition 上的Kernel ? 我看U-Boot显示OOB是 128位