0.板子上已有Nor Flash了,添加的Nand Flash型号为MT29F128G08CJABAWP,进系统挂接NAND作为一个分区


1.修改uboot
u-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.编译uboot
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- godnet_config
make 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 .config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage
cp arch/arm/boot/uImage ...

5.烧写u-boot
sf probe 0
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000
reset

6.烧写内核
mw.b 82000000 ff 400000
tftp 82000000 uImage
sf probe 0
sf erase 100000 400000
sf write 82000000 100000 400000

7.烧写文件系统
mw.b 82000000 ff b00000
tftp 0x82000000 rootfs_256k.jffs2
sf erase 500000 b00000
sf 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.进入系统mount
mount /dev/mtdblock3 /mnt/ -t yaffs2

11.检查
# df
Filesystem           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,不过进系统了也可以用。

Hi3531添加16GByte(128Gbit) NAND Flash支持的更多相关文章

  1. SAM4E单片机之旅——16、NAND Flash读写

    这次大概介绍了一下NAND Flash,以及在ASF中使用它的方法. 一. 接线 这个开发板搭载了一个256 MB,8位的NAND Flash(MT29F2G08ABAEA).引脚接线如下: 偷个懒, ...

  2. nand flash详解及驱动编写

    https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_ ...

  3. DM368 NAND Flash启动

    概要: 本文介绍了DM368 NAND Flash启动的原理,并且以DM368  IPNC参考设计软件为例,介绍软件是如何配合硬件实现启动的. 芯片上电后是如何启动实现应用功能的?这是许多工程师在看到 ...

  4. u-boot分析(九)----nand flash初始化|nand flash读写分析

    u-boot分析(九) 上篇博文我们按照210的启动流程,分析到了初始化串口,由于接下来的取消存储保护不是很重要,所以我们今天按照u-boot的启动流程对nand flash初始化进行分析. 今天我们 ...

  5. 如何编写linux下nand flash驱动-2

    [Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1.       I/O0 ~ ...

  6. s3c2440 移值u-boot-2016.03 第4篇 支持NAND flash 识别

    1, /include/configs/smdk2440.h 中添加 #define CONFIG_CMD_NAND 编译 drivers/mtd/nand/built-in.o: In functi ...

  7. s3c2440 移值u-boot-2016.03 第2篇 支持Nand flash启动

    1, 要求:在4K 的代码以内,完成 NOR NAND 类型判断,初始化 NAND 复制自身到 SDRAM ,重定向. 2, 在 /arch/arm/cpu/arm920t/ 文件夹里 添加一个 in ...

  8. U-Boot在FL2440上移植(三)----支持NAND Flash

    <一>支持NAND Flash 1. 首先在配置文件 include/config/fl2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAND, #defin ...

  9. U-BOOT 对 Nand Flash 命令的支持

    U-BOOT 对 Nand Flash 命令的支持 在 U­BOOT 下对 Nand Flash 的支持主要是在命令行下实现对 nand flash 的操作.对 nand flash 实现的命令 为: ...

随机推荐

  1. 【socket编程】select manual page翻译

    原文: select manual page 依赖的头文件 /* According to POSIX.1-2001, POSIX.1-2008 */ #include <sys/select. ...

  2. WEB消息推送-原理篇

    这篇文章主要讲述B/S架构中服务器“推送”消息给浏览器.内容涉及ajax论询(polling),comet(streaming,long polling).后面会附上源代码. 最近在工作有这么一个需求 ...

  3. ImageMagick命令行工具

    [ convert | identify | mogrify | composite | montage | compare | display | animate | import |conjure ...

  4. BZOJ 3239: Discrete Logging [BGSG]

    裸题 求\(ind_{n,a}b\),也就是\(a^x \equiv b \pmod n\) 注意这里开根不能直接下取整 这个题少了一些特判也可以过... #include <iostream& ...

  5. BZOJ 1022: [SHOI2008]小约翰的游戏John [SJ定理]

    传送门 $anti-nim$游戏,$SJ$定理裸题 规定所有单一游戏$sg=0$结束 先手必胜: $1.\ sg \neq 0,\ 某个单一游戏sg >1$ $2.\ sg = 0,\ 没有单一 ...

  6. [Manacher]【学习笔记】

    终于填坑啦......马拉车 课件上说的好短,但是明白了,讲解稍微修改一下抄上行了,比扩展KMP好写多了 求以每个字符为中心的最长回文串的半径.如果要求可以以字符间隙为回文中心,就要在每两个字符之间及 ...

  7. JS 特殊字符的验证的问题

    个人的JS 的收集方便下次的使用做百度查询: 1. 特殊字符的验证: var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].&l ...

  8. WEB-INF目录下文件复制的几种方式

    2018年1月31日 10:42:55 工作完写点博客记录下. 需求:从web-inf下拷贝文件到指定目录. 目录结构 直接贴代码 第一种方式,字节流读取 try { int index = 0; S ...

  9. install atom markdown preview plus error

    Installing "markdown-preview-enhanced@0.15.2" failed.Hide output- npm ERR! Darwin 17.2.0 n ...

  10. Maven文件配置

    Maven文件路径的配置 默认设置 修改之后的设置 Maven文件内容的配置 对于Maven 的 settings.xml 文件,需要注意. <mirror>镜像元素之间是互斥的,优先级是 ...