1. 1G NAND FLASH K9K8G08U0A 特点 :大页面 1页大小 2K ,oob 大小64Byte,大容量 1G
1 Page = (2K + 64)Bytes
1 Block = (2K + 64)B x 64 Pages
= (128K + 4K) Bytes
1 Device = (2K+64)B x 64Pages x 8,192 Blocks
= 8,448 Mbits
以上特点 区别与常见的 三星 nand flash k91208
2.linux内核版本2.6.9 交叉编译器gcc-3.4.6-glibc-2.3.6
3.CPU PXA270
4.试验箱 PXA270RP
重点修改linux目录 /linux/drivers/mtd/nand 下pxa27x_nand.c 和nand_base.c
移植过程中做的修改
在nand_base.c 中
1.
将
printk (KERN_WARNING "Reading data from NAND FLASH without ECC is not recommended\n");
注释掉
2.在nand_command_lp 中加了延时
case NAND_CMD_PAGEPROG:
/*add by gulaignzeng*/
udelay(200);
return;
case NAND_CMD_READ0:
/* Begin command latch cycle */
this->hwcontrol(mtd, NAND_CTL_SETCLE);
/* Write out the start read command */
this->write_byte(mtd, NAND_CMD_READSTART);
/* End command latch cycle */
this->hwcontrol(mtd, NAND_CTL_CLRCLE);
/* Fall through into ready check */
//add by gulaingzeng
udelay(20);
详见数据手册 P24 P31
在 pxa27x_nand.c 中
3.nand flash物理地址
#define pxa27x_NAND_PHY_BASE 0x08004000
4.Busy信号
#define NAND_RB (GPIO_IN |17) //GPIO17
及相关寄存器配置
5.相关分区 信息
6. ECC 校验配置 改为 无校验 ,这很重要,否则没法用
this->eccmode = NAND_ECC_NONE;
使用说明:[root@Intel nand]#cat /proc/partitions
major minor #blocks name
31 0 256 mtdblock0
31 1 2048 mtdblock1
31 2 13312 mtdblock2
31 3 14080 mtdblock3
31 4 524288 mtdblock4
31 5 524288 mtdblock5
[root@Intel nand]#cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00040000 "Bootloader"
mtd1: 00200000 00040000 "Kernel"
mtd2: 00d00000 00040000 "Filesystem"
mtd3: 00dc0000 00040000 "Junk"
mtd4: 20000000 00020000 "Wince nand flash"
mtd5: 20000000 00020000 "Linux nand flash"
[root@Intel nand]#ls /dev/mtdblock*
/dev/mtdblock0 /dev/mtdblock2 /dev/mtdblock4
/dev/mtdblock1 /dev/mtdblock3 /dev/mtdblock5
在这里我对 1G NAND FLASH 进行了分区 ,分了两个区 各为512M
mtd4: 20000000 00020000 "Wince nand flash"
mtd5: 20000000 00020000 "Linux nand flash
我们这里使用 第二个分区 即mtd5
1.挂载 mount -t ext3 /dev/mtdblock5 /mnt/yaffs/
【 /]#mount -t ext3 /dev/mtdblock5 /mnt/yaffs/
kjournald starting. Commit interval 5 seconds
EXT3 FS on mtdblock5, internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
[root@Intel /]#df -h
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock2 13.0M 7.1M 5.9M 54% /
/dev/mtdblock5 495.8M 8.1M 462.1M 2% /mnt/yaffs
2.如果挂载失败 ,则应先对其 格式化 :mkfs.ext3 /dev/mtdblock5
文件系统格式为 ext3
并上传一些相关文件
|
文件: |
nand-ok.tar.bz2 |
大小: |
216KB |
下载: |
下载 | |
|
文件: |
nand-ok.zip |
大小: |
328KB |
下载: |
下载 | |
|
文件: |
pxa27x_nand.c.rar |
大小: |
2KB |
下载: |
下载 | |
阅读(2756) | 评论(0) | 转发(2) |