`
izuoyan
  • 浏览: 9463203 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

S3C2440-Nandflash

阅读更多

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处

http://blog.csdn.net/woshixingaaa/archive/2011/01/23/6159940.aspx

nandflash在对大容量的数据存储中发挥着重要的作用。相对于norflash,它具有一些优势,但它的一个劣势是很容易产生坏块,因此在使用nandflash时,往往要利用校验算法发现坏块并标注出来,以便以后不再使用该坏块。nandflash没有地址或数据总线,如果是8位nandflash,那么它只有8个IO口,这8个IO口用于传输命令、地址和数据。nandflash主要以page(页)为单位进行读写,以block(块)为单位进行擦除。每一页中又分为main区和spare区,main区用于正常数据的存储,spare区用于存储一些附加信息,如块好坏的标记、块的逻辑地址、页内数据的ECC校验和等。

三星公司是最主要的nandflash供应商,因此在它所开发的各类处理器中,实现对nandflash的支持就不足为奇了。s3c2440不仅具有nandflash的接口,而且还可以利用某些机制实现直接从nandflash启动并运行程序。本文只介绍如何对nandflash实现读、写、擦除等基本操作,不涉及nandflash启动程序的问题。

在这里,我们使用的nandflash为K9F2G08U0A,它是8位的nandflash。不同型号的nandflash的操作会有所不同,但硬件引脚基本相同,这给产品的开发带来了便利。因为不同型号的PCB板是一样的,只要更新一下软件就可以使用不同容量大小的nandflash。

K9F2G08U0A的一页为(2K+64)字节(加号前面的2K表示的是main区容量,加号后面的64表示的是spare区容量),它的一块为64页,而整个设备包括了2048个块。这样算下来一共有2112M位容量,如果只算main区容量则有256M字节(即256M×8位)。要实现用8个IO口来要访问这么大的容量,K9F2G08U0A规定了用5个周期来实现。第一个周期访问的地址为A0~A7;第二个周期访问的地址为A8~A11,它作用在IO0~IO3上,而此时IO4~IO7必须为低电平;第三个周期访问的地址为A12~A19;第四个周期访问的地址为A20~A27;第五个周期访问的地址为A28,它作用在IO0上,而此时IO1~IO7必须为低电平。前两个周期传输的是列地址,后三个周期传输的是行地址。通过分析可知,列地址是用于寻址页内空间,行地址用于寻址页,如果要直接访问块,则需要从地址A18开始。

分享到:
评论

相关推荐

    u-boot-2440-nandflash.tar.rar_2440_2440 boot

    当我们谈论“u-boot-2440-nandflash”时,这特指的是针对Samsung S3C2440处理器的u-boot版本,特别优化以支持NAND闪存作为存储介质。这个压缩包文件“u-boot-2440-nandflash.tar.bz2”包含了所有相关的源代码和文档...

    linux-utu2440-f-nandflash.rar_flash linux_jflash linux_s3c2440.j

    把BOOTLOADER生成的BIN文件放在Jflash目录下,如:u-boot.bin,与Jflash-s3c2440同一目录,之后在终端输入命令: cd ../Jflash ./Jflash-s3c2440 u-boot.bin /t=5 回车后出现选择项,全部选择0选择即可,烧写时时间...

    nand.rar_ADS S3C2440_NAND_nand ads_s3c2440_s3c2440 ads

    《S3C2440 NANDFLASH在ADS环境下的编程实践》 S3C2440是一款由Samsung公司推出的高性能、低功耗的ARM920T内核微处理器,广泛应用于嵌入式系统设计中。在这些系统中,NAND Flash作为一种常见的非易失性存储器,因其...

    S3C2440-mini-BootLoader

    《S3C2440-mini-BootLoader详解:初始化SDRAM、烧写NAND FLASH与引导程序启动》 在嵌入式系统开发领域,BootLoader扮演着至关重要的角色,它是系统启动的第一步,负责初始化硬件环境并加载操作系统内核。本文将详细...

    s3c2440对nandflash的操作

    ### S3C2440对NAND Flash的操作解析 #### NAND Flash的特性与优势 NAND Flash在大规模数据存储领域扮演着至关重要的角色,相较于NOR Flash,它具有存储密度高、成本低的优点,特别适合于大容量数据的存储需求。...

    S3C2440裸奔---Nandflash源代码

    首先需要搭建一个可以编译代码的环境。从一开始我就不想用ADS(安装完ADS后会产生一个CodeWarrior for ARM Developer Suite的工具,可以编译和调试代码),虽然它是个很好的工具,但是它却隐藏了很多的细节,不利于...

    S3C2440 nandflash

    ### S3C2440 NAND Flash 知识点详解 #### 一、S3C2440 NAND Flash 概述 S3C2440 是一款高性能的 ARM920T 处理器核心的应用处理器,广泛应用于嵌入式系统中。其支持多种外部存储器接口,包括 NAND Flash 接口。NAND...

    S3C2440-Uboot移植

    **S3C2440-Uboot移植** 在嵌入式系统开发中,U-Boot是一个重要的引导加载程序,用于初始化硬件,加载操作系统内核,并提供了一种与系统交互的命令行界面。本文将深入探讨如何将U-Boot移植到基于三星S3C2440处理器的...

    nand_flash_v3_s3c2440_nandflash_

    S3C2440是一款由Samsung推出的ARM9处理器,它具有高性能、低功耗的特点,常用于嵌入式系统设计。本示例主要探讨的是如何在S3C2440平台上对NAND Flash进行读写操作。 首先,`nandflash.c`文件是这个项目的核心,它...

    S3C2440-datasheet.rar_s3c24_s3c2440_s3c2440 datasheet_三星

    4. **外设接口**:涵盖S3C2440A集成的各种外设接口,如USB主机和设备接口、以太网控制器、LCD控制器、音频接口、NAND Flash控制器等。这些接口使得S3C2440A能够连接各种外围设备,实现丰富的功能。 5. **开发工具和...

    S3C2440基于nandflash启动汇编代码.docx

    《S3C2440基于nandflash启动汇编代码详解》 在嵌入式系统设计中,启动过程是至关重要的第一步。S3C2440是一款由Samsung公司推出的ARM9处理器,广泛应用于各种嵌入式设备。在本文中,我们将详细探讨如何使用汇编代码...

    FMD.rar_FMD WinCE_NAND_fmd_s3c2440 nand_s3c2440 nand flash

    标题"FMD.rar_FMD WinCE_NAND_fmd_s3c2440 nand_s3c2440 nand flash"所涉及的核心知识点主要集中在WinCE操作系统、NAND Flash存储器以及S3C2440微处理器上。描述中提到了在WinCE 5.0环境下,如何为S3C2440芯片添加一...

    s3c_nand.zip_s3c-nand.c

    `s3c_nand.zip`包含的`s3c-nand.c`文件正是这样一份针对S3C处理器NAND Flash接口的底层驱动源代码。 首先,我们需要理解NAND Flash的基本特性。NAND Flash是一种采用浮栅技术的半导体存储器,具有高密度、低成本和...

    mini2440-s3c2440.jflash

    《mini2440-S3C2440 JFlash与JLink配置详解》 在嵌入式系统开发中,S3C2440是一款非常经典的ARM9处理器,广泛应用于各种嵌入式设备和开发板,如mini2440开发板。JFlash和JLink是Segger公司提供的两款强大的工具,...

    基于S3C2440A的大容量NANDFLASH的设计应用

    ### 基于S3C2440A的大容量NAND FLASH的设计应用 #### 一、概述 本文探讨了一种基于S3C2440A微控制器的大容量NAND FLASH存储器的设计与应用。S3C2440A是一款高性能、低功耗的ARM920T微控制器,广泛应用于各种嵌入式...

    使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

    ### 使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法 #### 1. 简要说明 在嵌入式系统开发过程中,烧写Flash是必不可少的一个环节。针对S3C2410和S3C2440这两款处理器的开发板,由于其内部结构特点...

    nand.rar_flash_s3c2440 nand flash

    标题中的“nand.rar_flash_s3c2440 nand flash”暗示了这是一个关于使用S3C2440微处理器与K9F1208 NAND Flash交互的编程资源。S3C2440是三星公司推出的一款基于ARM920T内核的嵌入式微处理器,广泛应用于嵌入式系统...

    s3c2440nandflash代码

    NANDFlash NAND闪存芯片和NOR闪存芯片的不同主要表现在: 1) 闪存芯片读写的基本单位不同 应用程序对NOR芯片操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块...

    S3C2440A 裸奔之nandflash操作

    本文将深入探讨如何在S3C2440A上进行裸奔(即无操作系统)环境下的NAND Flash操作,包括读取和写入等基本操作,并且这些操作已经通过验证,具有可靠性。 首先,我们需要了解NAND Flash的基本结构和特性。NAND Flash...

Global site tag (gtag.js) - Google Analytics