Hi3531添加16GByte(128Gbit) NAND Flash支持
0.板子上已有Nor Flash了,添加的Nand Flash型号为MT29F128G08CJABAWP,进系统挂接NAND作为一个分区
1.修改ubootu-boot-2010.06/drivers/mtd/nand/nand_spl_ids.c
第108行,添加这个NAND Flash{ {0x2C, 0x88, 0x05, 0xC6, 0x89, 0x00, 0x00, 0x00}, 8, _16G, NULL, "MT29F128G08CJABA", _4K, _1M, 224, 0 },
2.编译ubootmake ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- godnet_configmake ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux-...cp ../../../uboot/u-boot-2010.06/u-boot.bin ././mkboot.sh reg_info_930_310_620_ddr0_ddr1_slow.bin u-boot.bin
3.修改内核linux-3.0.y/drivers/mtd/nand/nand_spl_ids.c第68行,添加这个设备{ {0x2C, 0x88, 0x05, 0xC6, 0x89, 0x00, 0x00, 0x00}, 8, _16G, NULL, "MT29F128G08CJABA", _4K, _1M, 224, 0 },
4.编译内核cp arch/arm/configs/godnet_defconfig .configmake ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfigmake ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImagecp arch/arm/boot/uImage ...
5.烧写u-bootsf probe 0mw.b 82000000 ff 100000tftp 0x82000000 u-boot.binsf probe 0sf erase 0 100000sf write 82000000 0 100000reset
6.烧写内核mw.b 82000000 ff 400000tftp 82000000 uImagesf probe 0sf erase 100000 400000sf write 82000000 100000 400000
7.烧写文件系统mw.b 82000000 ff b00000tftp 0x82000000 rootfs_256k.jffs2sf erase 500000 b00000sf write 82000000 500000 b00000
8.设置启动参数setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs);hinand:16G(nand)'setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'sa
9.擦除NAND(可选)nand erase
10.进入系统mountmount /dev/mtdblock3 /mnt/ -t yaffs2
11.检查# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/root 11264 4632 6632 41% /tmpfs 29196 4 29192 0% /dev/dev/mtdblock3 16777216 13312 16763904 0% /mnt一共16GByte,拷贝速度很快
12.其实不修改uboot也可以,这样uboot就认不到NAND Flash,也就没法在uboot erase,不过进系统了也可以用。