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. 自定义Func模块

    自定义Func模块 (1)自定义模块步骤 (2)生成模块 [root@controller modules]# cd /usr/lib/python2.7/site-packages/func/min ...

  2. 面试中的TCP协议

    TCP的三次握手和四次挥手 三次握手 TCP连接是通过三次握手来连接的. 第一次握手 当客户端向服务器发起连接请求时,客户端会发送同步序列标号SYN到服务器,在这里我们设SYN为x,等待服务器确认,这 ...

  3. js、jQuery实现2048小游戏

    2048小游戏 一.游戏简介:  2048是一款休闲益智类的数字叠加小游戏 二. 游戏玩法: 在4*4的16宫格中,您可以选择上.下.左.右四个方向进行操作,数字会按方向移动,相邻的两个数字相同就会合 ...

  4. python3操作pymsql模块

    pymysql是python中操作mysql的模块. 1.pymysql模块的安装 pip3 install pymysql 也可以使用pycharm这个IDE工具来安装pymysql这个模块. 2. ...

  5. 编写服务器程序时遇到的connect:no route to host的问题

    亲测,,ftp服务器:在一台虚拟机上,没有问题.但是在不同的计算机或虚拟机上就会出现这种错误提示.一般是linux防火墙的问题 解决方法: 关闭linux防火墙 在root账户下 命令行:servic ...

  6. ManagementObjectSearcher Path

    为了获取硬件信息,你还需要创建一个ManagementObjectSearcher 对象.ManagementObjectSearcher searcher = new ManagementObjec ...

  7. 常见HTTP状态码出现原因

    302:重定向.访问当前地址,后端重新指定一个URL,浏览器跳转到新的地址. 303:对于POST请求,它表示请求已被处理,客户端可以接着使用GET方法请求Location里的URL. 304:客户端 ...

  8. php分布式redis实现session共享

    方法一:找到配置文件php.ini,修改为下面内容,保存并重启服务 session.save_handler = redis session.save_path = "tcp://127.0 ...

  9. LNMP安装后MYSQL数据库无法远程访问解决

    解决思路: 之前也遇到过这个问题,解决的途径也是五花八门,从百度和Google上也看到各种解决方案,基本上分以下几种: 没有给root对应的权限 -- @'192.168.1.123'可以替换为@'% ...

  10. PHP页面间的参数传递

    我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用.--------------------------------- ...