1.本节使用的nand flash型号为K9F2G08U0M,它的命令如下: 1.1我们以上图的read id(读ID)为例,它的时序图如下: 首先需要使能CE片选 1)使能CLE 2)发送0X90命令,并发出WE写脉冲 3)复位CLE,然后使能ALE 4)发送0X00地址,并发出WE写脉冲 5)设CLE和ALE为低电平 6)while判断nRE(读使能)是否为低电平 7)读出8个I/O的数据,并发出RE上升沿脉冲 (我们的nand flash为8个I/O口,所以型号为K9F2G08U0M) 1…
1.本节使用的nand flash型号为K9F2G08U0M,它的命令如下: 1.1我们以上图的read id(读ID)为例,它的时序图如下: 首先需要使能CE片选 1)使能CLE 2)发送0X90命令,并发出WE写脉冲 3)复位CLE,然后使能ALE 4)发送0X00地址,并发出WE写脉冲 5)设CLE和ALE为低电平 6)读出8个I/O的数据,并发出RE上升沿脉冲 (我们的nand flash为8个I/O口,所以型号为K9F2G08U0M) 1.2 nand flash 控制器介绍 在244…
MTD,Memory Technology Device即内存技术设备,在Linux内核中,引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口.MTD将文件系统与底层FLASH存储器进行了隔离. 如上图所示,MTD设备通常可分为四层,从上到下依次是:设备节点.MTD设备层.MTD原始设备层.硬件驱动层. Flash硬件驱动层:Flash硬件驱动层负责对Flash硬件的读.写和擦除操作.MTD设备的Nand Flash芯片的驱动则drivers/mtd/nand/子目录下,No…
u-boot分析(九) 上篇博文我们按照210的启动流程,分析到了初始化串口,由于接下来的取消存储保护不是很重要,所以我们今天按照u-boot的启动流程对nand flash初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.      …
作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 u-boot:U-Boot 2010.12 Linux内核版本:linux-3.0.31 Android版本:android-4.1.2 我们以tiny4412为例分析串口驱动,下面我们从u-boot开始分析,然后再分析到Linux. 串口初始化 关于这部分代码流程参考件:tiny4412 u-bo…
简单制作一个Nand Flash驱动(只需要初始化Flash以及读Flash) 打开2440芯片手册,K9F2G08U0M芯片手册(因为2440中Nand Flash是用的256MB(2Gb)内存,8个数据引脚) 在芯片手册中得到K9F2G08U0M=2048块Block=128K页Pages=256MB=2Gb 1块Block=64页Pages 1页=(2K+64)B            (因为每个地址里都存放了一个字节,所以用B表示) 其中64B是存放ECC的OOB地址,(ECC:存放判断…
[Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1.       I/O0 ~ I/O7:用于输入地址/数据/命令,输出数据 2.       CLE:Command Latch Enable,命令锁存使能,在输入命令之前,要先在模式寄存器中,设置CLE使能 3.       ALE:Address Latch Enable,地址锁存使能,在输入地址之前,要先在模式寄存器中,…
NAND FLASH是一个存储芯片 那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A" 问1. 原理图上NAND FLASH和S3C2440之间只有数据线,      怎么传输地址? 答1.在DATA0-DATA7上既传输数据,又传输地址      当ALE为高电平时传输的是地址, 问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令      怎么传入命令? 答2.在DATA0-DATA7上既传输数据,又传输地址,也传输命令      当A…
注册 driver_register 通过 module_init(s3c2410_nand_init);注册 Nand Flash 驱动. 在 s3c2410_nand_init ()中通过 driver_register()注册 s3c2410_nand_driver 驱动程序,如下所示: static struct device_driver s3c2410_nand_driver = { .name          = "s3c2410-nand", .bus        …
1.       硬件特性: [Flash的硬件实现机制] Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device).关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内…