NAND FLASH驱动程序
}
static void s3c_nand_exit(void)
{
}
module_init(s3c_nand_init);
module_exit(s3c_nand_exit);
MODULE_LICENSE("GPL");
=================================================================
NAND FLASH是一个存储芯片
那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A"
问1. 原理图上NAND FLASH和S3C2440之间只有数据线,
答1.在DATA0~DATA7上既传输数据,又传输地址
问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令
答2.在DATA0~DATA7上既传输数据,又传输地址,也传输命令
问3. 数据线既接到NAND FLASH,也接到NOR FLASH,还接到SDRAM、DM9000等等
答3. 这些设备,要访问之必须"选中",
问4. 假设烧写NAND FLASH,把命令、地址、数据发给它之后,
答4. 通过状态引脚RnB来判断:它为高电平表示就绪,它为低电平表示正忙
问5. 怎么操作NAND FLASH呢?
答5. 根据NAND FLASH的芯片手册,一般的过程是:
发命令
发地址
发数据
读数据
用UBOOT来体验NAND FLASH的操作:
1. 读ID
选中
发出命令0x90
发出地址0x00
读数据得到0xEC
读数据得到device code
退出读ID的状态
2. 读内容: 读0地址的数据
使用UBOOT命令:
nand dump 0
Page 00000000 dump:
选中
发出命令0x00
发出地址0x00
发出地址0x00
发出地址0x00
发出地址0x00
发出地址0x00
发出命令0x30
读数据得到0x17
读数据得到0x00
读数据得到0x00
读数据得到0xea
退出读状态
NAND FLASH驱动程序层次
看内核启动信息
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 256 at 0x02000000
Bad eraseblock 257 at 0x02020000
NANDFLASH驱动程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)