K9F2G08U0C NAND FLASH 的地址分析

  1. 计算物理地址

    K9F2G08U0C是samsun出产的FLASH,容量为256MB

    页--Page: (2K + 64)Byte

    块--Block: (128K +
4K)Byte

    128 / 2 = 64 Page

    256M / 128 K  = 2048 Block

    现在以第25块的30页中的24byte为例

    物理地址 = 块大小×块号 + 页大小×页号 + 页内地址

   
= 128K x 25 + 2K x 30 + 24B

  
= 3338264(10)

  = 32F018 (16)

    1. 如图
    2. 计算我们需要发出的地址
    3. 每页有2048字节,需要2^11 = 2048,既需要11位地址

      每块有64页,需要2^6 = 64,既需要6位地址

      芯片一共有2048块,需要需要2^11 = 2048,既需要11位地址

      0x32F018 = 0011 0010 1111 0000 0001 1000

      由上图可得到实际发送的数据

      1st: A7  - A0  =  0001 1000

      2nd:A10  - A8  =  0000 0000  (A11没用到)

      3rd:A19  - A12 =  0010 1111

      4th:A27  - A20 =  0000 0011

      5th:A28 = 0000 0000

      注:*L 需要写入0

      Code:

      int i;

      volatile unsigned char *p = (volatile unsigned char *)&s3c2440_nand->NFADDR;

      *p = addr & 0xFF;        // 1

      for(i=0; i<10; i++);

      *p = (addr>>12) & 0xFF;  // 2

      for(i=0; i<10; i++);

      *p = (addr>>12) & 0xFF;  // 3

      for(i=0; i<10; i++);

      *p = (addr>>20) & 0xFF;  // 4

      for(i=0; i<10; i++);

      *p = (addr>>28) & 0xFF;  // 5

      for(i=0; i<10; i++);

时间: 2024-08-07 08:36:40

K9F2G08U0C NAND FLASH 的地址分析的相关文章

Nand Flash 写地址

对Nand Flash 写地址时,首先查看芯片手册 例如K9F2G08芯片: 如上图所示,其中Colum列地址共A0~A11,列地址也就是代表flas的一页大小,所以列地址值永远都是add%2048 . 而Row行地址是在A12~A28,建立在页地址之上,所以其值永远都是add/2048,也就是页目录

u-boot分析(九)----nand flash初始化|nand flash读写分析

u-boot分析(九) 上篇博文我们按照210的启动流程,分析到了初始化串口,由于接下来的取消存储保护不是很重要,所以我们今天按照u-boot的启动流程对nand flash初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.      

五、2440裸机开发 nand flash 操作

五.nand flash 操作 原文地址:http://blog.csdn.net/woshidahuaidan2011/article/details/51220911 by jaosn Email: [email protected] 于nor flash相比,nand flash的容量要大许多,nand 不同于nor ,其采用i/o接口只能采取顺序访问,s3c2440不仅具有nandflash的接口,而且还可以利用某些机制实现直接从nandflash启动并运行程序.相对于norflash,

【详解】如何编写Linux下Nand Flash驱动

From: http://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html 版本:v2.2 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开始介绍Linux下面和Nand Flash相关的软件架构MTD的相关知识,最后介绍了

硬件初始化,nand flash固化操作,系统启动简单流程

2015.3.27星期五 晴 链接脚本定义代码的排放顺序 硬件系统初始化:一:arm核初始化:(里面有指令)初始化ARM核的时候需要看arm核的手册指令:1.异常向量(最起码有个复位异常,初始化模式-svc) ldr r0, =_start mcr p15, 0, r0, c12, c0, 0 2.处理器模式-SVC3.关闭中断 mrs r0, cpsr bic r0, r0, #0x1f orr r0, r0, #0xd3 @1101 0011 //关闭irq,fiq和设置SVC msr cp

实验四--nand flash的使用

一.环境和编译器 开发板:jz2440 系统:ubuntu12.04 编译器:gcc 二.验证代码 1.head.S 1 @****************************************************************************** 2 @ File:head.s 3 @ 功能:设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行 4 @auther:hulig 5 @*********************************

Tiny6410之NAND FLASH驱动

一.NAND FLASH的特点 S3C6410的NAND FLASH控制器有如下特点 1.自导入模式:复位后,引导代码被送入到8KB的STEPPINGSTONE中,引导代码移动完毕,引导代码将在STEPPINGSTONE中执行.导入期间,NAND FLASH控制器不支持ECC矫正. 2.NAND FLSH 控制器I/F:支持512字节和2KB页 3.软件模式:用户可以直接访问nand flash 控制器,该特性可以用于读/檫/编程nand flash 存储器. 1)写命令寄存器=NAND FLA

nand flash相关

关于nandflash的说明,请参考其他. 现在先贴出来韦东山先生的代码,作我学习之用. @******************************************************************************@ File:head.s@ 功能:设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行@**************************************************************************

u-boot-2014.10移植第24天----nand flash启动(二)

硬件平台:tq2440 开发环境:Ubuntu-3.11 u-boot版本:2014.10 本文允许转载,请注明出处:http://blog.csdn.net/fulinus nand flash启动 比较新的u-boot版本包括u-boot-2014版本的都是用重定向的机制,而且用到了代码位置无关的技术,在u-boot连接时使用了-pie选项: -pie : Produce a position independent executable on targets which support i