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
相关推荐
### NAND Flash 学习笔记关键知识点解析 #### 一、NAND Flash 是否有统一接口标准? - **标准现状**:目前存在一个名为 ONFI (Open NAND Flash Interface) 的标准,旨在为 NAND Flash 设定统一的接口规范。然而,...
为了更好地理解这一过程,你可以参考NAND Flash制造商提供的数据手册和应用笔记,它们通常包含了详细的协议和操作指南。同时,学习和分析开源的NAND Flash驱动程序源码也是提高理解和实践能力的有效途径。 最后,...
STM32增强型微控制器访问NAND Flash学习笔记 本篇学习笔记主要介绍了STM32增强型微控制器访问NAND Flash的相关知识,涉及到Flash存储器的分类、NAND Flash的工作原理、HY27UF081G2A芯片的引脚功能和NAND Flash接口...
鱼树笔记之第19课NandFlash驱动1 本笔记是关于NAND Flash驱动的详细笔记,涵盖了NAND Flash的基本概念、硬件操作、驱动程序编写等方面的内容。本笔记将从NAND Flash的框架图开始,介绍NAND原理、硬件操作、写块设置...
"NAND和NOR flash的区别" NAND 和 NOR flash 是当前市场上两种主要的非易失闪存技术。Intel 于 1988 年首先开发出 NOR flash 技术,彻底改变了原先由 EPROM 和 EEPROM 一统天下的局面。紧接着,1989年,东芝公司...
标题中的“stm32+nandflash实现U盘”是指使用STM32微控制器与NAND Flash存储器共同构建一个USB大容量存储设备(通常我们称之为U盘)。STM32是意法半导体公司推出的基于ARM Cortex-M系列内核的微控制器,具有高性能、...
虽然本文只涵盖NAND Flash的读写擦除操作,启动程序及搬运程序将在后续学习笔记中专门研究。 总结来说,S3C2440A的NAND Flash控制器为嵌入式系统提供了高效、经济的数据存储解决方案。通过内置的Steppingstone和...
### S5PV210(TQ210)学习笔记——Nand配置 #### 一、引言 本文档旨在详细介绍S5PV210(TQ210)平台中Nand Flash的配置方法与步骤。S5PV210是一款高性能的应用处理器,广泛应用于各种嵌入式系统中,包括条码采集设备...
在嵌入式系统开发中,NAND Flash 是一种常见的非易失性存储器,用于存储固件、操作系统和用户...提供的"nand烧写"文件很可能是实现这一过程的具体程序或脚本,对于学习和实践Davinci平台的NAND烧写具有很大的参考价值。
在现代存储技术中,NAND Flash作为一种非易失性存储器,因其高容量、低功耗和快速读取速度等特点,被广泛应用于各种设备中,包括智能手机、笔记本电脑、固态硬盘等。随着技术的发展,高密度多电平闪存(MLC, Multi-...
### TQ335x学习笔记——Nand&&网卡驱动移植 #### 一、Nand驱动移植 在本文档中,我们详细介绍了Nand驱动的移植过程。TQ335x是一款基于德州仪器(TI)技术的开发平台,其Nand Flash设备通过通用内存控制器(GPMC)...
### USB大容量存储器学习笔记-STM32 FLASH实现U盘 #### STM32的USB控制器 在构建基于STM32的USB大容量存储设备时,STM32微控制器内部集成的USB控制器扮演着核心角色。STM32F103系列微控制器配备了一个符合USB 2.0 ...
在ARM架构的学习过程中,了解和...以上就是ARM学习笔记中涉及的关键知识点,包括处理器的启动、调试工具的使用、程序下载策略以及编译器的特性等。理解这些概念对于深入理解和开发基于ARM架构的嵌入式系统至关重要。
本学习笔记主要探讨如何利用STM32微控制器结合大页NAND Flash存储器(K9F1G08U0A)来实现一个128MB的U盘。文章深入分析了STM32的USB控制器特性、大页NAND Flash的工作原理以及USB Mass Storage类的Bulk-Only传输协议...
【TQ2440学习笔记(全集)】是一份综合性的学习资源,主要针对TQ2440开发板进行深入讲解。TQ2440是一款基于ARM920T内核的高性能微处理器,常用于嵌入式系统开发。这份笔记集合涵盖了从基础环境搭建到高级功能实现的...
韦东山视频学习笔记 - U-boot 学习笔记 韦东山老师的 Linux 视频学习笔记,涵盖了 U-boot 的学习笔记,本节笔记将详细介绍 U-boot 的生成、配置、编译和烧写过程。 U-boot 生成 U-boot 是一个开源的 Bootloader ...
S5PV210学习笔记.pdf 本学习笔记主要介绍了S5PV210嵌入式系统的学习笔记,涵盖...本学习笔记涵盖了S5PV210嵌入式系统的基础知识、ARM架构、Linux系统、bootloader等方面的内容,为学习者提供了一个系统化的学习资源。
在深入了解s5pv210嵌入式Linux学习笔记之前,首先应掌握一系列的预备知识,这涉及到计算机系统结构的基础,包括IO与内存编址的区别、冯诺依曼结构和哈佛结构的特点、CPU与外部存储器接口的差异,以及ARM处理器的基本...
"驱动二期学习笔记"显然聚焦于这一领域的深入探索,特别是针对JZ2440处理器的驱动程序开发和U-Boot引导加载器的理解。JZ2440是一款常见的嵌入式微处理器,常用于教学和开发用途,因其简洁的结构和丰富的资源而受到...