NAND FLASH
来源:互联网 发布:js删除数组中某个元素 编辑:程序博客网 时间:2024/05/21 14:04
Nand Flash 是一个存储芯片
Nand Flash 和s3c2440之间只有数据线
怎么传输地址:
1.在DATA0~DATA7上既传输地址又传输数据也传输命令
当ALE为高电平时传输地址
2.从NAND FLASH芯片手册上可知,要操作NAND FLASH需要先发出命令
怎么传命令?
①当ALE为高电平时传输地址
②当CLE为高电平时传输的是命令
③当ALE和CLE都为低电平时传输的是数据
数据线既接到NAND FLASH ,也接到NOR FLASH、SDRAM、DM9000
怎么避免干扰?
要访问这些设备,必须“选中”
没有选中的芯片不会工作,相当于没接一样
假设烧写NAND FLASH, 把命令、地址、数据发给它之后,
NAND FLASH肯定不能瞬间完成烧写的,
怎么判定烧写完成?
通过状态引脚RnB来判断:它为高电平表示就绪,它为低电平表示正忙
怎么操作NAND FLASH?
1.根据NAND FLASH 芯片手册,一般的过程是:
①发出命令
②发出地址
③发出数据/读数据
NAND FLASH S3C2440
发命令 选中芯片 NFCMMD = 命令值
CLE为高电平
在DATA0~DATA7上输出命令信息
发一个写脉冲
发地址 选中芯片 NFADDR = 地址值
ALE为高电平
在DATA0~DATA7上输出地址值
发一个写脉冲
发数据 选中芯片 NFDATA = 数据值
ALE,CLE为高电平
在DATA0~DATA7上输出数据值
发一个写脉冲
读数据 选中芯片 val = NFDATA
发出一个读脉冲
读DATA0~DATA7的数据
用UBOOT 体验NAND FLASH 的操作 (md, mw, b:1byte, w:2byte, l:4byte)
1.读ID
选中 NFCONT的bit1设为0 md.l 0x4E000004 1; mw.l 0x4E000004 1
发出命令0x90 NFCMMD = 0x90 mw.b 0x4E000008 0x90
发出地址0x00 NFADDR = 0x00mw.b 0x4E00000C 0x00
读数据得到0xEC val = NFDATA md.b 0x4E000010 1
读数据得到device code val = NFDATAmd.b 0x4E000010 1
退出读ID的状态 MFCMMD = 0xff mw.b 0x4E000008 0xff
2.读内容:读0地址内的数据
使用UBOOT命令:
nand dump 0
===========================================================
测试:
1.make menuconfig 去掉内核自带的NAND FLASH驱动
Device Drivers
Memory Techonology Device (MTD) Support
Nand Flash support for s3c2410/2440 soc (设为N,去掉)
-----------------------------------------------------------
2.make uImage
cp arch/arm/boot/uImage /work/nfs_root/uImage_nonand
使用新内核启动,并使用NFS作为根文件系统
3.insmod s3c_nand.ko
4.格式化(参考下面编译工具)
#flash eraseall /dev/mtd3 //yaffs
5.挂接 (取消挂接 umount /mnt)
mount -t yaffs /dev/mtdblock3 /mnt
6.在/mnt目录下创建文件
mkdir test
cd test/
vi 1.txt
umount /mnt
重启开发板
①insmod s3c_nand.ko
②挂接 mount -t yaffs /dev/mtdblock3 /mnt
cd /mnt
ls
cat 1.txt
在linux下解压
tar xjf mtd-utils-05.07.23.tar.bz2
cd mtd-utils-05.07.23/
ls
cd util
ls
修改vi Makefile
#CROSS=arm-linux-
改为CROSS=arm-linux-
make
cp flash_erase flash_erase /work/nfs_root/first_fs/bin/
- Nand Flash
- NAND Flash
- nand flash
- NAND FLASH
- NAND FLASH
- nand flash
- Nand Flash
- NAND Flash
- NAND FLASH
- nand flash
- nand flash
- Nand flash
- NAND FLASH
- NAND FLASH
- NAND Flash
- Nand flash
- nand flash
- NAND FLASH
- 关于Android设备USBHID通信控制传输相关接口说明
- 天啦噜_HTML5 DRM正式成为Web标准_以后我们还怎么看视频?
- 天啦噜,HTML5 DRM正式成为Web标准,以后我们还怎么看视频?
- 使用Chrome来调试你的Android App
- 基于自编码器的生成对抗网络AEGAN
- NAND FLASH
- sails.js使用mysql模块搞定事务
- python学习笔记--Dictionary
- Mach异常与Unix信号
- 迷宫问题 BFS
- 浅谈ES6模块基础知识
- 软件开发过程中文档的作用
- Jenkins常用插件之MSBuild Plugin
- CCF 201709-04