AM335x NAND Driver's Guide 中文手册

AM335x NAND Driver's Guide

 

/******************************************************************

*      author:       卢浩

*      time:          2012.09.12

*      environment:   ubuntu10.04LTS +TI AM3359

*      kernel version:  linux-3.2

*      QQ Group For Technology Exchange122879839

******************************************************************/

 

 

 


介绍
通用存储器控制器(GPMC)是一个统一的内存控制器,专用于连接外部内存设备:
•异步SRAM存储器和专用集成电路(ASIC)设备
•异步,同步,页突发模式(仅适用于非复用模式NOR闪存设备)
•NAND闪存
•类SRAM器件

 

特点
硬件特性
GPMC可以访问各种外部设备通过L3互连。灵活的编程模型,允许范围广的连接设备的类型和接入方式。
GPMC由六块组成:
•互连端口接口
•地址译码器,GPMC配置,以及芯片选择配置寄存器文件
•Access引擎
•预取和写引擎
•纠错码引擎(ECC)
•外部设备/存储器端口接口


 

软件功能
•访问8位NAND
•BCH8 ECC计划,8位纠错。 BCH8 ECC计划用于兼容所有其他组件(RBL,U-BOOT)
•轮询预取模式

 

 

 

 

驱动程序配置
要启用/禁用NAND支持,启动Linux内核配置工具:

 

host$ make menuconfig


 

 

 

使能MTD的相关驱动


 

 

模块构建
编译NAND驱动模块。要做到这一点,做如下的变化:

 

向内核加载驱动模块,如下口令“

 

 

 

 

 

设备接口:

Nand作为MLOu-boot.img kernel filesystem的存储介质

 

删除的NAND分区(假设分区3):

target$ flash_eraseall /dev/mtd3

 

向nand的一个分区写文件(假设分区4)

target$ nandwrite -p /dev/mtd4 u-boot.img

 

在uboot下设置linux启动方式能nand:

u-boot> setenv bootargs'console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=,2048noinitrd rootfstype=ubifs mem=256Mrootwait=1'

 

 

比如官方对nand的分区,默认mtd7为filesystem分区,所以:

u-boot> setenv bootargs'console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=7,2048 noinitrdrootfstype=ubifs mem=256Mrootwait=1'

 

 

 

proc接口
在/ proc / mtd的内核接口是一种设备驱动的接口。有很多有用的信息的关于NAND的
在/ proc / mtd的文件中可以发现。

 

在终端下输入

target$ cat /proc/mtd

 

你可以在终端看到类似如下的信息:

 

此时,nand被成功驱动挂载。



你可能感兴趣的:(ARM-LINUX,linux内核,exchange,存储,引擎,终端,ubuntu)