K9F2G08U0C NAND FLASH 的地址分析
- 计算物理地址
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)
- 如图

- 计算我们需要发出的地址
每页有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++);
K9F2G08U0C NAND FLASH 的地址分析的更多相关文章
- u-boot分析(九)----nand flash初始化|nand flash读写分析
u-boot分析(九) 上篇博文我们按照210的启动流程,分析到了初始化串口,由于接下来的取消存储保护不是很重要,所以我们今天按照u-boot的启动流程对nand flash初始化进行分析. 今天我们 ...
- Samsung K9F1G08U0D SLC NAND FLASH简介(待整理)
Samsung K9F1G08U0D,数据存储容量为128M,采用块页式存储管理.8个I/O引脚充当数据.地址.命令的复用端口.详细:http://www.linux-mtd.infradead.o ...
- 嵌入式nand flash详解
一.s3c2440启动后会将nand flash的前4K程序复制到内部的sram中,这个过程是硬件自动完成的,但是如果我们的程序远远大于4K,这个时候就需要将程序从flash拷贝到内存中来运行了. 二 ...
- Uboot mmc命令解析&NAND flash uboot命令详解
转载:http://blog.csdn.net/simonjay2007/article/details/43198353 一:mmc的命令如下: 1:对mmc读操作 mmc read addr bl ...
- nand flash详解及驱动编写
https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_ ...
- 如何编写linux下nand flash驱动-3
[读(read)操作过程详解] 以最简单的read操作为例,解释如何理解时序图,以及将时序图 中的要求,转化为代码. 解释时序图之前,让我们先要搞清楚,我们要做的事情:那就是,要从nand flash ...
- 硬件初始化,nand flash固化操作,系统启动简单流程
2015.3.27星期五 晴 链接脚本定义代码的排放顺序 硬件系统初始化:一:arm核初始化:(里面有指令)初始化ARM核的时候需要看arm核的手册指令:1.异常向量(最起码有个复位异常,初始化模式- ...
- Linux学习 : 裸板调试 之 配置使用NAND FLASH
关于NAND FLASH的结构是以页为单位写,以块为单位来擦除: 1Gb 为大页 page=2048Kb BLOCK=128K 512Mb 为小页 page=512byte ...
- Nand flash uboot 命令详解【转】
转自:http://blog.chinaunix.net/uid-14833587-id-76513.html nand info & nand device 显示flash的信息: DM36 ...
随机推荐
- 【Java】解析xml
xml: <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> ...
- [SQLServer] 数据库SA用户被锁定或者忘记密码的恢复
一.以管理员权限运行命令提示符 CMD C:\>net stop mssqlserver您想继续此操作吗? (Y/N) [N]: y C:\>net start mssqlserver / ...
- [翻译] Icon and Image Sizes
Icon and Image Sizes iOS Human Interface Guidelines Every app needs an app icon and a launch file or ...
- Linux rpm命令详解
rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...
- SpringBoot+RestTemplate 简单包装
RestTemplate设计是为了Spring更好的请求并解析Restful风格的接口返回值而设计的,通过这个类可以在请求接口时直接解析对应的类. 在SpringBoot中对这个类进行 ...
- [webpack] Webpack 别名
存在这样一种情况,有时候项目中,存在一些 公共的组件,通常会抽取出来,放在一个统一的文件夹中. 然后大家就可以再 各个 模块里面 愉快的使用该 组件了. 但是也带来一个坑爹的问题 组件放在 com ...
- 快速搭建一个Express工程骨架
下载express-generator 通过应用生成器,可以帮我们快速搭建项目需要的骨架.这就需要npm在全局下载express-generator(-g就是在全局安装) npm install ex ...
- T440安装Win7系统
于T440自带的是Win8系统,硬盘格式为GPT分区格式,而Win7必须要MRP格式,所以必须要将硬盘格式从GPT修改为MRP,方法如下: 准备工作,下载”电脑店U盘启动盘制作工具“(百度一下,去官网 ...
- window7远程桌面到server不能复制粘贴解决的方法
用远程桌面登陆server不能在本机和远程server之间粘贴文本了,即不能从本机复制文本粘贴到server,也不能从server复制文本粘贴到本机. 下面是解决方法之中的一个,试了几次都非常管用户: ...
- ThinkPHP5 核心类 Request 远程代码漏洞分析
ThinkPHP5 核心类 Request 远程代码漏洞分析 先说下xdebug+phpstorm审计环境搭建: php.ini添加如下配置,在phpinfo页面验证是否添加成功. [XDebug] ...