zoukankan      html  css  js  c++  java
  • (原创)分享一下最近搞的tiny210V2从nand启动支持(K9GAG08U0F).

    首先在这里我需要感谢两个人,一个是liukun,一个是2012shiyi这两个人的功劳,因为他们给了一些引导.
    在nand启动着一步,我卡了蛮久,今天才成功启动.


    版本说明:linaro_uboot_4.17_nandboot_v5.1.tar.gz是本人根据liukun和网上2012shiyi的资料研究处理的,目前这个版本能成功支持从sd和从mlc的nand flash启动。
    编写人:lihaiping
    时间:2013-4-17


    我移植的时候,将板子名字改为了ydzx210.没有再要tiny210V2的称呼,但我的板子是最新的tiny210板子.


    功能说明:
    能实现网卡DM9000的功能
    能对sd卡保存环境变量
    能自动补全命令
    能对nand进行正确的读、写、擦除操作
    tftp功能能用
    能从nand flash启动

    我移植的时候,将板子名字改为了ydzx210.没有再要tiny210V2的称呼,但我的板子是最新的tiny210V2板子.

    功能说明:
    能实现网卡DM9000的功能
    能对sd卡保存环境变量
    能自动补全命令
    能对nand进行正确的读、写、擦除操作
    tftp功能能用
    能从nand flash启动


    版本说明:
    移植到自己的板子的时候需要注意:
    1、
    这个版本只是从nandboot启动,如果要从sd卡启动的话,需要修改./board/samsung/ydzx210目录下的Makefile文件.
    ifdef CONFIG_SPL_BUILD
    #如果从mmc启动的话,下面这句就不能注释
    #COBJS  += mmc_boot.o
    #下面这句为实现对nand启动-lhp-2013.4.9
    COBJS += 210_nand_boot.o
    endif
    1)如果从sd卡启动,就将COBJS  += mmc_boot.o打开,将COBJS += 210_nand_boot.o屏蔽.
    2)如果从nand启动,就将COBJS  += 210_nand_boot.o打开,将COBJS += mmc_boot.o屏蔽.

    2、从sd卡和从nand启动,还需要注意ydzx210.h文件末尾的配置选项.
    /*NAND_BOOT & MMCSD_BOOT  by lhp  */
    /*下面为从sd卡启动的参数-lhp-4.17*/

    /*#define CONFIG_ENV_IS_IN_MMC 1 */
    /*#define CONFIG_SYS_MMC_ENV_DEV 0*/
    /*#define CONFIG_ENV_SIZE 0x4000 */ /* 16KB */
    /*#define RESERVE_BLOCK_SIZE (512)*/
    /*#define BL1_SIZE (16<< 10) */ /*16 K reserved for BL1*/
    /*#define CONFIG_ENV_OFFSET (RESERVE_BLOCK_SIZE + BL1_SIZE + ((16 + 512) * 1024))*/


    /*下面为从nand启动配置参数-lhp-4.17*/
    #define CONFIG_ENV_IS_IN_NAND        1     /*修改-lhp-4.15*/
    #define CONFIG_ENV_SIZE        0x4000          /* 16KB */
    #define RESERVE_BLOCK_SIZE              (4*1024)/*这里4K,nand flash-lhp-4.15*/
    #define BL1_SIZE                     (16 << 10)/*16K reserved for bl1*/
    /*保存环境变量的位置需要块对齐,或者会出现保存环境变量的时候出现错误*/
    /*因为nand的块的大小为1M,这里学需要查询下nand的bad信息,不能把环境变量保存在坏块的地址上*/ 
    #define CONFIG_ENV_OFFSET               0x200000


    3、
    要支持tftp下载功能,根据自己的网络实际情况需要修改里面的
    #define CONFIG_IPADDR192.168.1.192  /*对IP进行了修改-lhp-2013.3.25*/
    #define CONFIG_SERVERIP192.168.1.190
    #define CONFIG_GATEWAYIP192.168.1.254
    修改以后测试一下,看板子和你的linux服务器能不能通.目前这个版本还有一个缺陷,就是每次板子上电以后,要实现网络的tftp,就先要ping一下,才能用,或者网络不通
    4、
    需要查询你的nand坏块,然后根据板子情况修改CONFIG_ENV_OFFSET的地址.如果地址定义不好,可能会出现saveenv无反应,或者出现nand有时能启动,有时不能启动的情况。




    首先说明这个版本的测试使用步骤:
    (1)先根据上面的移植注意事项,编译生成一个能从sd卡成功启动的uboot.(这里需要修改一个/board/samsung/ydzx210/Makefile.)
    (2)从sd卡启动以后,我们需要再从新编译生成一个能给nand启动使用的uboot.(这里也只要需要修改一个/board/samsung/ydzx210/Makefile.)
    (3)给服务器配置tftp功能,将nand启动编译生成的在spl/ydzx210-spl.bin和u-boot.bin文件拷贝到tftp服务器文件目录下.
    (4)然后先ping 一次.(这里需要测试通过,不然不能进行tftp)
    (5)然后nand erase.chip擦除整个nand
    (6)然后再tftp 21000000 ydzx210-spl.bin
    (7)然后nand write.e 21000000 0 4000
    (8)然后再tftp 21000000 u-boot.bin
    (9)然后nand write.e 21000000 4000 (根据文件下载大小)


    废话不多说,上源码给大家做测试。。。。

    http://pan.baidu.com/share/link?shareid=404646&uk=555024270

    ---------------------------------------------------------------------------------

  • 相关阅读:
    失格
    救赎
    篝火晚会
    旅行家的预算
    荒诞
    mod
    clique
    序列
    [CF932E]Team Work & [BZOJ5093]图的价值
    NOIWC2018游记
  • 原文地址:https://www.cnblogs.com/lihaiping/p/tiny210v2uboot.html
Copyright © 2011-2022 走看看