20150312 NorFlash驱动

20150312 NorFlash驱动

2015-03-12 李海沿

以下知识点是根据韦老大的教程所做的笔记,板子是S3C2410。

About NorFlash and NandFlash

 

NOR

NAND

接口

RAM-like,引脚多

引脚少,复用

容量

小,1M,2M,32M

大,128M,256M,1G

简单

复杂

发出特定指令,复杂

复杂

价格

便宜

质量

几乎没有坏块

可能有坏块,发生位反转

1.读数据

md.b 0

2.读ID NOR手册上

往地址555H写入AAH        

往地址2AAH写入55H 解锁完成

往地址555H写入90H

读0地址得到厂家ID: C2H

读1地址得到设备ID:22DAH 或 225BH

退出读ID状态 往任意地址写入F0

如果芯片的接口是A1接到NOR的A0,那么发出的命令要左移一位,NOR才能接收到555这个地址

例如:555H<<1

U-BOOT操作:

往地址AAAH写AAH

mw.w aaa aa

往地址554H写55H    

mw.w 554 55

往地址AAAH写90H    

mw.w aaa 90

读0地址得到厂家ID: C2H

md.w 0 1

读2地址得到设备ID: 22DAH 或 225BH

md.w 2 1

退出读ID状态 往任意地址写入F0

mw.w 0 f0

3.规范

MOR有两种规范 :

①JEDEC:通过发出命令来读写ID,发送命令,与内核的数组(jedec_table包含nor的各种信息)进行比较一下,发送数据,老式

②CFI:本身就包含了nor容量规格等信息

进入CFI模式

往55H写入98H

读数据

读10H得到0051

读11H得到0052

读12H得到0059

读27H得到容量 (该值的2^n就是容量)

退出CFI模式

往任意地址写入F0

如果芯片的接口是A1接到NOR的A0,那么发出的命令要左移一位,NOR才能接收到555这个地址

例如:555H<<1

U-BOOT操作:

进入CFI模式

往AAH写入98H

mw.w aa 98

读数据

读20H得到0051

读22H得到0052

读24H得到0059

读41H得到容量 (该值的2^n就是容量)

md.w 20 1

md.w 22 1

md.w 24 1

md.w 41 1

 

退出CFI模式,往任意地址写入F0

Mw.w 0 f0

4.写数据

2410读数据uboot操作

往地址AAAH写AAH

mw.w aaa aa

往地址554H写55H    

mw.w 554 55

往地址AAAH写90H    

mw.w aaa 90

读0地址得到厂家ID: C2H

md.w 0 1

读2地址得到设备ID: 22DAH 或 225BH

md.w 2 1

退出读ID状态 往任意地址写入F0

mw.w 0 f0

以下是imx257的nand读写数据的操作,

原文地址:https://www.cnblogs.com/lihaiyan/p/4333275.html