nand flash学习笔记一

发布者:温暖的微风最新更新时间:2024-10-15 来源: cnblogs关键字:nand  flash  学习笔记 手机看文章 扫描二维码
随时随地手机看文章

Nand flash

 

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

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

1命令、地址、数据复用

2地址多次发出

 

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

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

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

CLE和ALE两者都为低电平时,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

1读id:

  (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 (Don’t 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   

 



关键字:nand  flash  学习笔记 引用地址:nand flash学习笔记一

上一篇:异常处理学习笔记
下一篇:DDR学习笔记

推荐阅读最新更新时间:2024-11-13 05:55

STM32学习笔记之IIC操作
STM32中的IIC可分为硬件IIC和软件IIC,但实际应用中更倾向于软件IIC。即可自行指定两个端口为数据线和时钟线进行IIC的模拟。但是相对于52单片机的IIC协议,STM32的IIC时序操作完全一致,唯一的差别在与STM32需要对端口的信号输入输出端口进行配置。 IIC总线协议之起始信号: IIC的启动实在SDA和SCL均为高电平期间,SDA拉低后SCL接着拉低。 void IIC_Start(void) { SDA_OUT(); // 配置SDA为输出模式 SDA_SET; SCL_SET; // 初始状态SDA、SCL均为高电平 delay_us(5); SDA_CLR; // SDA拉低
[单片机]
stm32变量能存进flash中吗
当涉及到将变量存储在Flash中时,我们通常指的是将变量存储在STM32微控制器的闪存器件中。在STM32芯片中,闪存用于存储程序代码和只读数据,但对于一些应用情况,我们可以使用闪存来存储可读写的变量。 虽然SRAM是通常用于存储变量的内存区域,但在某些场景中,需要将变量存储在闪存中的原因有以下几点: 节省SRAM空间:对于资源受限的应用,SRAM可能是有限的,因此在闪存中存储变量可以释放SRAM空间,使其可以用于其他用途。 数据持久性:将变量存储在闪存中可以确保其数据持久性,即使在断电或重新启动后,变量的值也能保持不变。 更新性:如果需要更新变量的值,而不需要重新烧录MCU的固件或运行其他复杂的操作,可以通过修改闪存中
[单片机]
STM32学习笔记 — 之GPIO端口篇
最近刚开始学习STM32,所以从最基本的GPIO开始学起;首先看看STM32的datasheet上对GPIO口的简单介绍: 每个GPI/O 端口有两个32 位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR),一个32 位置位/复位寄存器(GPIOx_BSRR),一个16 位复位寄存器(GPIOx_BRR)和一个32 位锁定寄存器(GPIOx_LCKR)。 GPIO 端口的每个位可以由软件分别配置成多种模式。每个I/O 端口位可以自由编程,然而I/0 端口寄存器必须按32 位字被访问(不允许半字或字节访问)。GPIOx_BSRR 和GPIOx_BRR 寄存器允许对
[单片机]
STM32基于固件库学习笔记(12)LCD5110显示
前不久使用cc2530写过LCD5110作显示,最近学习stm32就简单的写了,用stm32对lcd5110的初始化及显示功能。 还是和之前写了两种显示的方法: 万能显示(行数要/8,详细见后的数据手册) /* 这个函数可以自己设定显示的内容的大小,需用取模软件得到待显示的数据; 在取模时需注意取模方式,我这里所有的取模都设置是(纵向取模、字节倒序)方式 */ // 设置 X,Y起点; 行(/8)、列大小 数组地址名 void LCD_display(unsigned char X,unsigned char Y,unsigned char row,unsigned char col,unsigned char
[单片机]
STM32基于固件库<font color='red'>学习</font><font color='red'>笔记</font>(12)LCD5110显示
STM32 读写内部Flash
STM32F4Discovery开发帮使用的STM32F407VGT6芯片,内部FLASH有1M之多。平时写的代码,烧写完之后还有大量的剩余。有效利用这剩余的FLASH能存储不少数据。因此研究了一下STM32F4读写内部FLASH的一些操作。 【STM32F4 内部Flash的一些信息】 STM32F407VG的内部FLASH的地址是:0x08000000,大小是0x00100000。 写FLASH的时候,如果发现写入地址的FLASH没有被擦出,数据将不会写入。FLASH的擦除操作,只能按Sector进行。不能单独擦除一个地址上的数据。因此在写数据之前需要将地址所在Sector的所有数据擦除。 在STM32F4的编程手册上可找到F
[单片机]
STM32 读写内部<font color='red'>Flash</font>
英特尔发布采用3D NAND技术的数据中心级固态盘
今天,英特尔发布了英特尔® 固态盘DC P4500系列及英特尔® 固态盘DC P4600系列两款全新的采用3D NAND技术的数据中心级固态盘,加强了其扩大3D NAND供应的承诺。 作为英特尔® 固态盘数据中心产品家族的最新补充,这两款产品主要为云存储解决方案所设计,可应用于软件定义存储及融合式基础设施。英特尔® 固态盘DC P4500系列专门针对数据读取进行优化,能让数据中心从服务器中获得更多价值并存储更多数据。而针对混合型工作负载所设计的英特尔® 固态盘DC P4600系列则可以加速缓存,并使每台服务器可运行的工作负载量实现提升。 基于英特尔3阶单元(TLC)3D NAND的英特尔® 固态盘DC P4500系列及英特尔
[网络通信]
英特尔发布采用3D <font color='red'>NAND</font>技术的数据中心级固态盘
缩减三成芯片尺寸!全球首款96层4D NAND年内量产
        集微网消息,SK海力士昨日宣布推出全球首款基于TLC(三级单元)阵列的96层512Gb CTF(电荷储存式快闪存储器)4D NAND闪存,采用3D CTF设计与PUC(Peri Under Cell)技术,并将在今年年底于近期完工的清州工厂M15进行量产。         SK海力士将其3D CTF与PUC相结合,这与集成3D浮栅和PUC的方式不同。因此,该公司将该产品命名为“基于CTF的4D NAND闪存”,以区别于当前的3D NAND闪存技术。         与SK海力士的72层512Gb 3D NAND相比,新开发的4D NAND缩减了超过3成的芯片尺寸,并将每个晶圆的钻头生产率提高了49%,并具有
[手机便携]
7月NAND价跌5% Q3难旺
    存储器市场变盘跟翻书一样快,6月份各家模块厂还在大喊第3季NAND Flash市场恐将缺货,价格持续看涨,但7月以来市场需求明显放缓,终端销售量虽然没有太大变化,但NAND Flash芯片市场供应量却大量涌现。模块厂广颖电通(4973)副总经理谢超民表示,7月份NAND Flash芯片价格平均走跌5%,第3季上涨机率不大。  虽然NAND Flash价格涨不动,但对模块厂来说不见得是坏事。业者表示,下半年NAND Flash终端产品的销售量看来仍不错,价格也持稳,但NAND Flash芯片价格下跌,有助于降低平均采购成本,毛利率反而有拉升机会。法人则表示,NAND产品比重高的模块厂如广颖、创见(2451)、劲永(6145)等
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved