文档章节

ARM11 S3C6410系列教程之四:NANDflash操作

For_MGP
 For_MGP
发布于 2014/10/24 23:05
字数 588
阅读 41
收藏 0

在本章开始之前,我们先来看下ARM11S3C6410内部结构:

本文引用地址:http://www.eepw.com.cn/article/203125.htm

ARM11 S3C6410系列教程之四:NANDflash操作

  在图中,我们看到ARM11S3C6410内存部分有SRAM、SDRAM、DDRNANDflash几种类型,关于这几种内存之间的联系可参考ARM11s3c6410系列教程之三内存使用的介绍。从以上几节的介绍可以看出,若ARM11S3C6410设置为NANDflash启动,则NANDflash作为程序暂时储存的场所,我们不能不认真的理解下NANDflash的操作。

  在硬件上,使能 NAND Flash时, XSELNAND需保持为高电平,也就是AB16为高电平。

  在NAND Flash 控制器图解如下图所示:

ARM11 S3C6410系列教程之四:NANDflash操作

  在图解中我们可以看出NAND Flash控制器片选信号、命令信号,地址信号,读信号、写信号、空闲/繁忙管脚和8个数据管脚组成,这大大方便了NANDflash的使用和控制。

关于NAND Flash芯片的硬件连接,我们来分析下其连接:

本文引用地址:http://www.eepw.com.cn/article/203125.htm

  首先,来看下NAND Flash芯片连接图

ARM11 S3C6410系列教程之四:NANDflash操作

  在硬件连接中,可以看出NANDflash的I/O端口连接只有8位,我们不难想到数据、地址复用的情形。其实,NANDflash的操作也是这样。

  其次,我们来分析下NANDflash的操作:

  ① 通过片选信号CE1和CE2完成NANDFlash的选择;
  ② NANDFlash操作时序图如下:

ARM11 S3C6410系列教程之四:NANDflash操作

  由于NANDFlash不能像内存一样直接读写,要先发出命令、再发地址、再读写数据完成相应的操作;

  ③ 关于命令,地址和数据的传送有以下规则:

  CLE = 1, data0~data7上传输的是命令;
  ALE = 1, data0~data7上传输的是地址;
  CLE/ALE都是0, data0~data7上传输的是数据, nWE = 0, 表示写;

  ④ ARM11S3C6410发出命令操作:只需要把命令写到NFCMD寄存器中即可完成;

  ⑤ ARM11S3C6410发出地址:把地址写到NFADDR寄存器;

  ⑥ ARM11S3C6410发出数据:把数据写到NFDATA寄存器;

  ⑦ ARM11S3C6410读数据操作:通过读取NFDATA寄存器即可完成数据的读取;

  ARM11S3C6410正是有了NFCON,才使对NANDFlash的操作变得更加简单。对于其他的处理器,需要用普通的GPIO按照NANDFlash的操作时序完成相应的操作。


本文转载自:http://www.eepw.com.cn/article/203125_2.htm

For_MGP
粉丝 2
博文 66
码字总数 20576
作品 0
深圳
程序员
私信 提问
Samsung ARM处理器iROM启动模式介绍

最近在使用三星S3C2416这个处理器,需要在EBOOT 上实现SD卡文件系统,并从SD卡中烧写wince系统,与S3C2416的从SD卡启动不同。我用的BSP是 SMDK2416WinCE50PMREL0.01_080611的,Bootloader文件...

慎思
2012/09/10
323
0
WINCE6.0+S3C6410基于SD卡启动

基于IROM SD/MMC发起方式的原理   我们知道S3C6410支持IROM启动(internal ROM Booting),IROM启动是指从OneNAND、SD/MMC卡和NAND Flash存储装备启动的方式,见下图:      图1 IROM启动...

慎思
2012/09/10
677
0
NandFlash系列之一:NorFlash与NandFlash对比

NandFlash系列之一:NorFlash与NandFlash对比 作者:刘洪涛,华清远见嵌入式学院高级讲师。 FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面我们从多个角度来对比介绍一下。在实...

地狱的烈火
2013/07/17
70
0
求深圳嵌入式c相关的实习工作

1、开发语言: 熟悉Linux环境下的C语言编程,了解常用数据结构及通用算法(,具有良好的编码习惯。 2、开发环境: 熟练使用Linux操作系统,熟练使用gcc、vim 等工具进行代码编写和调试,熟悉...

黄润星
2012/11/17
519
1
【JZ2440】自我学习记录【知识点0】【ARM指令集体系结构和ARM系列】

本文会介绍:1、ARM指令集体系结构及特点; 2、基于ARM指令集体系结构设计的不同CPU家族及特点; 3、ARM指令集体系结构和ARM处理器家族的区别。 ARM系列微处理器的核心及体系结构 序号 ARM微...

huayangshiboqi
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
9
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部