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++);
最新文章
- 渗透日记-POST注入
- c#线程之异步委托begininvoke、invoke、AsyncWaitHandle.WaitOne 、异步回调
- [delphi]SetWindowsHookExA函数入口处修改
- Servlet开发技术,创建,以及Servlet的配置,web.xml的配置
- 51nod 1051 最大子矩阵和(dp)
- jsp 单机和双击事件
- C# 制作透明窗体
- C#使用sharppcap实现网络抓包-----2
- OneAPM Cloud Test——系统性能监控神器
- java线程(3)-多线程死锁
- 与malloc有关的问题
- iOS开发:后台运行以及保持程序在后台长时间运行
- js scrollTop 事件
- ActiveMQ的使用
- Spark MLlib 之 Vector向量深入浅出
- c语言实践:RS信号报告
- 课后练习Javascript
- iOS UIScrollView 滚动到当前展示的视图居中展示
- Android中字体颜色的设置
- 转载:java电商面试介绍(不完整版)