加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

nand flash学习笔记一

发布时间:2020-12-15 18:09:02 所属栏目:百科 来源:网络整理
导读:Nand?flash 原理图上有 data0-data7? 共 8个引角 容量为 256M*8bit?, 所以地址位应该有 28 位 , 原理图上只有 data0-data7, 所以需要发出多次地址信号 1 命令、地址、数据复用 2 地址多次发出 Nand?flash 与内存不同,不能直接读写 , 要先发出命令,再发出地

Nand?flash

原理图上有data0-data7?8个引角

容量为256M*8bit?,所以地址位应该有28,原理图上只有data0-data7,所以需要发出多次地址信号

1命令、地址、数据复用

2地址多次发出

Nand?flash与内存不同,不能直接读写,要先发出命令,再发出地址,再读写数据

CLE?为高电平?data0-data7传输的是命令

ALE?为高电平?data0-data7传输的是地址

CLEALE两者都为低电平时,data0-data7传输的为数据

nWE=0,为低电平时,表示写

Nand?flash?读取信息

查看K9F2G08U0A数据手册:

Function??1st?Cycle??2nd?Cycle???Acceptable?Command?during?Busy

Read???????00h??????30h

查看6410芯片手册


1初始化nandflash控制器:时间参数/使能片选引角

??Nand?flash??????????/?????????s3c6410

????????nCE????????????????????nCS2_NAND(Xm0CSn2/GPO0)

2?命令/地址/读数据

?发送命令:把命令写到NFCMMD寄存器

?发送地址:把地址写到NFADDR寄存器

?发送数据:?把数据写到NFDATA寄存器

?读数据:?NFDATA寄存器

Openjtag?操作nand?flash

1id

??(1)?初始化:

?????查看芯片手册

MEM_SYS_CFG?0x7E00_F120?R/W?Configure?memory?subsystem??0x0000_0080

Xm0CSn[2]?

----1-?SROMC?CS2?

----0-OneNANDC?CS0??

----?0-?NFCON?CS0?

?设置MEM_SYS_CFG=0,让Xm0CSn[2]用作nand?flash的片选信号

?Mdw?0x7E00F120

//memmory?write?word

?Mww?0x7E00F120??0?

??查看芯片手册?

??NFCONF??0x70200000??R/W??NAND?Flash?Configuration?register??0xX000100X?

?设置时间参数

?Mww?0x70200000?0x8000777e

??(2)?发送使能信号

??查看芯片手册

??NFCONT?0x70200004??R/W?NAND?Flash?control?register??0x000100C6

?

Soft?Lock??[16]??Soft?Lock?configuration?

0:?Disable?lock????1:?Enable?lock

Reg_nCE0??[1]??NAND?Flash?Memory?Xm0CSn2?signal?control?

0:?Force?Xm0CSn2?to?low(Enable?chip?select)?

1:?Force?Xm0CSn2?to?High(Disable?chip?select)?

Note:?This?value?is?only?valid?while?MODE?bit?is?1?

MODE??[0]??NAND?Flash?controller?operating?mode?

0:?NAND?Flash?Controller?Disable?(Dont?work)?

1:?NAND?Flash?Controller?Enable?

???NFCONT(0x70200004)?[0]??=?1??/*?使能nand?flash控制器?*/

???NFCONT(0x70200004)?[1]??=?0??/*?xm0csn[2]输出0?*/

???NFCONT(0x70200004)?[16]?=?0??/*?soft?lock?*/

???

???mdw?0x70200004???/*?0x100c6?*/

???mww?0x70200004??0xc5
(3)?发送读id命令

查看芯片手册:

NFCMMD?0x70200008?R/W?NAND?Flash?command?set?register??0x00?

查看K9F2G08U0A数据手册:

Read?ID?90h?-

???//复位

??Mwb??0x70200008?0xff

?//0x90写到NFCMMD(?0x70200008)

?Mwb??0x70200008?0x90

(4)?发出地址0

?NFADDR??0x7020000C?R/W??NAND?Flash?address?set?register??0x0000XX00

?//把把0写到NFADDR()

?Mwb?0x7020000C?0

(5)?读数据

?NFDATA?0x70200010??R/W?NAND?Flash?data?register??0xXXXX

?Mdb?0x70200010

2?读数据

?(1).?初始化

???mww?0x7E00F120???0???/*?xm0csn[2]配置为nand?flash的片选信号?*/

???mww?0x70200000?0x8000777e???/*?设置时间参数?*/

?(2)?发出片选信号

???mww?0x70200004??0xc5

(3)?发出复位信号

???mwb?0x70200008?0xff

(4)?发出读命令

???mwb?0x70200008?0

(5)发出地址

???mwb?0x7020000C?0

???mwb?0x7020000C?0

???mwb?0x7020000C?0

???mwb?0x7020000C?0

???mwb?0x7020000C?0

(6)?发出0x30命令

???mwb?0x70200008?0x30

(7)?读数据

???mdb?0x70200010 ??


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读