上一节讲了 设置 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相关推荐

  1. 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命令,次此时就可以通过该命令来读 ...

  2. JZ2440开发板nand flash出现坏块的解决办法

    前言:我在JZ2440烧写linux内核镜像(uImage)之后,内核可以正常启动,但是我烧写玩Yaffs2格式的根文件系统之后,内核启动不了,根据我以往的学习和工作经验,可能是nand flash出 ...

  3. 百为STM32开发板教程之十二——NAND FLASH

    参考资料: 百为stm32开发板光盘V3\百为stm32开发板光盘\芯片数据手册\K9F1208.pdf 百为stm32开发板光盘\st官方参考资料\Application notes\AN2784 ...

  4. 转载:百为STM32开发板教程之十二——NAND FLASH

    http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二--NAND FLASH 参考资料: 百为stm32开发板光盘V3\百为stm32开 ...

  5. fs2410开发板搭建网站服务器,学习 ARM 系列 -- FS2410 开发板上 Nand Flash 到内存的代码搬移...

    一.目的 前面做过一个实验,搬移 Nand Flash 里的前 4k 代码到内存指定位置,这其实是把 SRAM 从 0x40000000 开始的 4K 代码复制到 SDRAM 的指定位置,并没有涉及到 ...

  6. S3C2440 Nand Flash驱动(分析MTD层并制作NAND驱动)(二十三)

    http://www.cnblogs.com/lifexy/p/7701181.html 1.本节使用的nand flash型号为K9F2G08U0C,它的命令如下: 1.1 我们以上图的Read I ...

  7. nand_flash_裸板驱动及其时序图详解(转)

    nand flash 裸板驱动,介绍的比较精辟 NAND Flash的驱动程序设计:http://www.usr.cc/html/99/n-599.html 1.    硬件特性:[Flash的硬件实 ...

  8. 如何编写linux下nand flash驱动

    http://www.cnblogs.com/sankye/articles/1638852.html 向作者Sankye致敬 [编写驱动之前要了解的知识] 1.       硬件特性: [Flash ...

  9. S3C2440-裸机篇-10 | 使用S3C2440操作Nand Flash

    1. Nor Flash与Nand Flash Nor Nand 接口 引脚多,类似于RAM 引脚较少 容量 小(1-32MB) 大(128-512MB) 读操作 简单,和RAM相同 简单,和RAM相 ...

最新文章

  1. 正则表达式(javascript)
  2. Keras用动态数据生成器(DataGenerator)和fitgenerator动态训练模型
  3. mysql-基本命令
  4. 集合-ArrayList
  5. python自动发邮件富文本_django 实现后台从富文本提取纯文本
  6. python批量修改labelme(COCO)标注的json文件的label标签名称
  7. 云小课 | ModelArts Pro 自然语言处理套件:高效构建行业高精度文本处理模型
  8. oozie中时间EL表达式
  9. WIN和LIN环境下对拍程序
  10. PDFlib+PDI图像和超文本元素提供了许多有用的功能
  11. 图解设计模式:行为型模式之责任链模式
  12. sip 接听后没有声音
  13. 各种数值积分方法总结(从梯形积分、辛普森积分到龙贝格积分、自适应积分、高斯积分等)
  14. C#实现简单音乐播放器
  15. lnmp 一键安装包 运行laravel 该网页无法正常运行
  16. ARC083简要题解
  17. 一种基于傅里叶变换的相位配准算法phase correlation approach,利用互功率谱得到时空的平移。
  18. APP——内存测试——参考01
  19. Adobe2021正式版,来了!
  20. 方程:方程(equation)是指含有未知数的等式

热门文章

  1. JSP知识点1——什么是JSP?
  2. 计算机文件右击怎么显示打开方式,电脑右键菜单中没有打开方式怎么办|电脑恢复打开方式选项到右键菜单中的方法...
  3. 外设键盘的win键和alt键功能互换
  4. 如何立即尝试macOS High Sierra Beta
  5. 微信ipad协议GO版本 最新不封号
  6. SGE:作业调度系统安装和使用简要说明
  7. 快递物流查询,教你自动查询并识别所有快递是否签收、退回
  8. Linux挂载群晖NFS共享文件夹
  9. 录屏储存失败因为5823_屏幕录制存储失败因为5823
  10. Python整数的溢出问题