`

nand flash学习笔记一

 
阅读更多

Nandflash

 

原理图上有data0-data78个引角

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

1命令、地址、数据复用

2地址多次发出

 

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

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

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

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

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

Nandflash读取信息

 

查看K9F2G08U0A数据手册:

Function1stCycle2ndCycleAcceptableCommandduringBusy

Read00h30h

 

 

查看6410芯片手册


 

 

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

Nandflash/s3c6410

nCEnCS2_NAND(Xm0CSn2/GPO0)

2命令/地址/读数据

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

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

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

读数据:NFDATA寄存器

 

 

Openjtag操作nandflash

1id

(1)初始化:

查看芯片手册

MEM_SYS_CFG0x7E00_F120R/WConfigurememorysubsystem0x0000_0080

 

Xm0CSn[2]

----1-SROMCCS2

----0-OneNANDCCS0

----0-NFCONCS0

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

Mdw0x7E00F120

//memmorywriteword

Mww0x7E00F1200

 

查看芯片手册

NFCONF0x70200000R/WNANDFlashConfigurationregister0xX000100X

设置时间参数

Mww0x702000000x8000777e

(2)发送使能信号

查看芯片手册

NFCONT0x70200004R/WNANDFlashcontrolregister0x000100C6

 

SoftLock[16]SoftLockconfiguration

0:Disablelock1:Enablelock

 

Reg_nCE0[1]NANDFlashMemoryXm0CSn2signalcontrol

0:ForceXm0CSn2tolow(Enablechipselect)

1:ForceXm0CSn2toHigh(Disablechipselect)

Note:ThisvalueisonlyvalidwhileMODEbitis1

 

MODE[0]NANDFlashcontrolleroperatingmode

0:NANDFlashControllerDisable(Dontwork)

1:NANDFlashControllerEnable

 

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

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

NFCONT(0x70200004)[16]=0/*softlock*/

 

mdw0x70200004/*0x100c6*/

mww0x702000040xc5
(3)发送读id命令

查看芯片手册:

NFCMMD0x70200008R/WNANDFlashcommandsetregister0x00

查看K9F2G08U0A数据手册:

ReadID90h-

//复位

Mwb0x702000080xff

//0x90写到NFCMMD(0x70200008)

Mwb0x702000080x90

(4)发出地址0

NFADDR0x7020000CR/WNANDFlashaddresssetregister0x0000XX00

//把把0写到NFADDR()

Mwb0x7020000C0

(5)读数据

NFDATA0x70200010R/WNANDFlashdataregister0xXXXX

Mdb0x70200010

 

2读数据

(1).初始化

mww0x7E00F1200/*xm0csn[2]配置为nandflash的片选信号*/

mww0x702000000x8000777e/*设置时间参数*/

(2)发出片选信号

mww0x702000040xc5

(3)发出复位信号

mwb0x702000080xff

(4)发出读命令

mwb0x702000080

(5)发出地址

mwb0x7020000C0

mwb0x7020000C0

mwb0x7020000C0

mwb0x7020000C0

mwb0x7020000C0

(6)发出0x30命令

mwb0x702000080x30

(7)读数据

mdb0x70200010

 



 

 

分享到:
评论

相关推荐

    nandflash学习笔记

    nandflash的学习笔记 nandflash的结构 bch算法

    STM32增强型微控制器访问NAND Flash学习笔记

    Flash即是存储芯片的一种,其结合了ROM和RAM的特点,既具备电可擦除编程的性能,又可以快速读取数据,数据不会因断电丢失。目前市面上Flash主要有NOR Flash和NAND Flash。

    NAND和NOR flash的区别

    NAND和NOR flash的区别.doc

    2410+uboot+nandflash移植

    我是按照这份文件移植成功的, 板子是sbc2410,移植完了以后支持nand启动, 关于tftp支持请看我的学习笔记, 那个比较简单了.

    OMAP_L138学习笔记

    EMIF英文全称是External Memory Interface,中文名称是...EMIFA是omap-l138片上两个外部存储器接口之一,其主要用来支持异步存储器接口类型的设备,例如NAND和NOR型的flash以及异步SRAM。同时EMIFA也支持SDRAM接口。

    USB大容量存储器学习笔记-STM32 FLASH实现U盘

    内容概述 采用STM32 内部自带 USB 控制器外加大页NAND FLASHK9F1G08U0A 实现一个128M 的U 盘。

    uboot1.1.6完全注释

    1:nand flash初始化及部分驱动 2:nor flash初始化及部分函数 3:dm9000初始化及驱动 4:init_sequence数组所有函数 5:环境变量的初始化 6:main_loop循环以及命令的解析执行 10分资源只赚不亏。

    uboot代码详细分析.pdf

    分享一篇我总结的uboot学习笔记(转) 15 U-BOOT内存布局及启动过程浅析 22 u-boot中的命令实现 25 U-BOOT环境变量实现 28 1.相关文件 28 2.数据结构 28 3.ENV 的初始化 30 3.1env_init 30 3.2 env_relocate 30 3.3*...

    tiny210 移移植源码

    依据《嵌入式Linux学习笔记(基于S5PV210、TQ210).pdf》,亲自手动移植到tiny210;支持nand flash启动引导内核机busybox,tftp功能等 .svn版本管理 u-boot-2014.04 linux-3.10.46 移植过程自己总结的笔记 此处给出...

    ARM助你入门更助你出门

    通过这个我们可以学到arm下的汇编程序和arm芯片的启动过程(内核是如何从nandflash copy到内存上并运行按键,串口等),让你学习完这东西之后,基本上对嵌入式有了初步的了解了.其实bootloader就是一个最小的内核了,有...

Global site tag (gtag.js) - Google Analytics