裸板 nand flash K9F2G08U0C --- 读取ID
上一节讲了 设置 nand时序
nand时序设置
存储类芯片操作步骤:
1、初始化 主控芯片对的nand flash 控制器
2、识别 读取id (判断芯片是否正常)
3、读 写 擦除
nand flash 芯片手册读取ID截图:
【分析】:
1、肯定先发出片选信号 选中芯片 >>>>>>>>> CE拉低
2、我们发出写命令 :
1) we 拉低 CLE 拉高 保持
2)I/O 发出 0x90
3) we拉高 CLE 拉低
上面等于发送了一个命令到 nand flash 上;
3、发地址
1) ALE 拉高
2) I/O 发送地址
一个周期地址0x00h 然后经过TWHR + TREA时间段后,就可以读取数据了;
代码编写:
s3c2440 芯片手册:
1控制寄存器
用来控制 片选使能, nand flash芯片使能 控制锁操作等.
2 命令寄存器
用来发送命令的寄存器;
3地址寄存器:
发送地址的寄存器, 可以到这个地址是只有8bit可用,剩下的是保留,所以芯片手册才会有按周期发送地址.
4数据寄存器:
用来读写或者写入数据
因此:
#define NFCONT (*(volatile unsigned int *)(0x4E000004))
#define NFCCMD (*(volatile unsigned int *)(0x4E000008))
#define NFADDR (*(volatile unsigned int *)(0x4E00000C))
#define NFDATA (*(volatile unsigned int *)(0x4E000010))void nand_read_id(void)
{int i = 0;unsigned char cmd = 0X90;unsigned char addr = 0x00;char nand_id [5]= {0};
//设置片选 NFCONT &=~(1<<1);
//发送0x90命令NFCCMD = cmd;
//发送0x00地址NFADDR = addr;for (i=0; i<5; i++){nand_id[i] = NFDATA;}//取消片选NFCONT |= (1<<1);//打印处nand flash信息printf("maker id = 0x%x\n\r",buf[0]);printf("device id = 0x%x\n\r",buf[1]); printf("3rd byte = 0x%x\n\r",buf[2]); printf("4th byte = 0x%x\n\r",buf[3]); printf("page size = %d kb\n\r",1 << (buf[3] & 0x03)); printf("block size = %d kb\n\r",64 << ((buf[3] >> 4) & 0x03)); printf("5th byte = 0x%x\n\r",buf[4]);}
裸板 nand flash K9F2G08U0C --- 读取ID相关推荐
- linux mtk unique id,1.2.16.1. Nand Flash的Unique ID
1.2.16.1.4.1. 读取遵循ONFI的厂商的Nand的Unique ID 如果经过上述判断,此符合ONFI的Nand Flash支持Read Unique ID命令,次此时就可以通过该命令来读 ...
- JZ2440开发板nand flash出现坏块的解决办法
前言:我在JZ2440烧写linux内核镜像(uImage)之后,内核可以正常启动,但是我烧写玩Yaffs2格式的根文件系统之后,内核启动不了,根据我以往的学习和工作经验,可能是nand flash出 ...
- 百为STM32开发板教程之十二——NAND FLASH
参考资料: 百为stm32开发板光盘V3\百为stm32开发板光盘\芯片数据手册\K9F1208.pdf 百为stm32开发板光盘\st官方参考资料\Application notes\AN2784 ...
- 转载:百为STM32开发板教程之十二——NAND FLASH
http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二--NAND FLASH 参考资料: 百为stm32开发板光盘V3\百为stm32开 ...
- fs2410开发板搭建网站服务器,学习 ARM 系列 -- FS2410 开发板上 Nand Flash 到内存的代码搬移...
一.目的 前面做过一个实验,搬移 Nand Flash 里的前 4k 代码到内存指定位置,这其实是把 SRAM 从 0x40000000 开始的 4K 代码复制到 SDRAM 的指定位置,并没有涉及到 ...
- S3C2440 Nand Flash驱动(分析MTD层并制作NAND驱动)(二十三)
http://www.cnblogs.com/lifexy/p/7701181.html 1.本节使用的nand flash型号为K9F2G08U0C,它的命令如下: 1.1 我们以上图的Read I ...
- nand_flash_裸板驱动及其时序图详解(转)
nand flash 裸板驱动,介绍的比较精辟 NAND Flash的驱动程序设计:http://www.usr.cc/html/99/n-599.html 1. 硬件特性:[Flash的硬件实 ...
- 如何编写linux下nand flash驱动
http://www.cnblogs.com/sankye/articles/1638852.html 向作者Sankye致敬 [编写驱动之前要了解的知识] 1. 硬件特性: [Flash ...
- S3C2440-裸机篇-10 | 使用S3C2440操作Nand Flash
1. Nor Flash与Nand Flash Nor Nand 接口 引脚多,类似于RAM 引脚较少 容量 小(1-32MB) 大(128-512MB) 读操作 简单,和RAM相同 简单,和RAM相 ...
最新文章
- 正则表达式(javascript)
- Keras用动态数据生成器(DataGenerator)和fitgenerator动态训练模型
- mysql-基本命令
- 集合-ArrayList
- python自动发邮件富文本_django 实现后台从富文本提取纯文本
- python批量修改labelme(COCO)标注的json文件的label标签名称
- 云小课 | ModelArts Pro 自然语言处理套件:高效构建行业高精度文本处理模型
- oozie中时间EL表达式
- WIN和LIN环境下对拍程序
- PDFlib+PDI图像和超文本元素提供了许多有用的功能
- 图解设计模式:行为型模式之责任链模式
- sip 接听后没有声音
- 各种数值积分方法总结(从梯形积分、辛普森积分到龙贝格积分、自适应积分、高斯积分等)
- C#实现简单音乐播放器
- lnmp 一键安装包 运行laravel 该网页无法正常运行
- ARC083简要题解
- 一种基于傅里叶变换的相位配准算法phase correlation approach,利用互功率谱得到时空的平移。
- APP——内存测试——参考01
- Adobe2021正式版,来了!
- 方程:方程(equation)是指含有未知数的等式