Nandflash
原理图上有data0-data7共8个引角
容量为256M*8bit,所以地址位应该有28位,原理图上只有data0-data7,所以需要发出多次地址信号
1命令、地址、数据复用
2地址多次发出
Nandflash与内存不同,不能直接读写,要先发出命令,再发出地址,再读写数据
CLE为高电平data0-data7传输的是命令
ALE为高电平data0-data7传输的是地址
CLE和ALE两者都为低电平时,data0-data7传输的为数据
nWE=0,为低电平时,表示写
Nandflash读取信息
查看K9F2G08U0A数据手册:
Function1stCycle2ndCycleAcceptableCommandduringBusy
Read00h30h
查看6410芯片手册
1初始化nandflash控制器:时间参数/使能片选引角
Nandflash/s3c6410
nCEnCS2_NAND(Xm0CSn2/GPO0)
2命令/地址/读数据
发送命令:把命令写到NFCMMD寄存器
发送地址:把地址写到NFADDR寄存器
发送数据:把数据写到NFDATA寄存器
读数据:读NFDATA寄存器
Openjtag操作nandflash
1读id:
(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(Don’twork)
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的结构 bch算法
Flash即是存储芯片的一种,其结合了ROM和RAM的特点,既具备电可擦除编程的性能,又可以快速读取数据,数据不会因断电丢失。目前市面上Flash主要有NOR Flash和NAND Flash。
NAND和NOR flash的区别.doc
我是按照这份文件移植成功的, 板子是sbc2410,移植完了以后支持nand启动, 关于tftp支持请看我的学习笔记, 那个比较简单了.
EMIF英文全称是External Memory Interface,中文名称是...EMIFA是omap-l138片上两个外部存储器接口之一,其主要用来支持异步存储器接口类型的设备,例如NAND和NOR型的flash以及异步SRAM。同时EMIFA也支持SDRAM接口。
内容概述 采用STM32 内部自带 USB 控制器外加大页NAND FLASHK9F1G08U0A 实现一个128M 的U 盘。
1:nand flash初始化及部分驱动 2:nor flash初始化及部分函数 3:dm9000初始化及驱动 4:init_sequence数组所有函数 5:环境变量的初始化 6:main_loop循环以及命令的解析执行 10分资源只赚不亏。
分享一篇我总结的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*...
依据《嵌入式Linux学习笔记(基于S5PV210、TQ210).pdf》,亲自手动移植到tiny210;支持nand flash启动引导内核机busybox,tftp功能等 .svn版本管理 u-boot-2014.04 linux-3.10.46 移植过程自己总结的笔记 此处给出...
通过这个我们可以学到arm下的汇编程序和arm芯片的启动过程(内核是如何从nandflash copy到内存上并运行按键,串口等),让你学习完这东西之后,基本上对嵌入式有了初步的了解了.其实bootloader就是一个最小的内核了,有...