Nand 驱动
flymachine
这个作者很懒,什么都没留下…
展开
-
有关去除dataflash以及换为64M nand的相关修改及bugfix
最近核心板进行了改版,以前两个bootloader放在dataflash里面,现在板子上只留了nand,所以bootstrap,u-boot,kernel,fs全存放在了nand上。同时,除了原有的256m,也新改出了一批64m nand的板子,针对这两种情况,需要对bsp进行修改。同为256m的相对好改,只涉及到samba的烧写流程,偏移量,镜像生成等,没啥好说的。问题主要出在64m nan转载 2011-11-13 20:58:29 · 1289 阅读 · 0 评论 -
nandflash的读写操作
正如硬盘的盘片被分为磁道,每个磁道又分为若干扇区,一块nand flash也分为若干block,每个block分为如干page。一般而言,block、page之间的关系随着芯片的不同而不同,典型的分配是这样的:1block = 32page1page = 512bytes(datafield) + 16bytes(oob) 需要注意的是,对于flash的读写都是以一个pag转载 2011-11-14 12:18:27 · 1409 阅读 · 0 评论 -
uboot移植之命令烧写uboot,zImage.img,root .
/**************uboot下用命令下载uboot,内核和文件系统********************/ /* 先将内核zImage用mkimage转换成uImage(叫zIMage.img) mkimage 工具是uboot提供,在uboot源码的tools/ 在内核源码的arch/arm/boot/下执行如下命令 */ mkimage -n 'tekkaman' -A转载 2011-11-06 23:53:59 · 4394 阅读 · 0 评论 -
nand flash 原理简介
Fisrt part :NAND flash和NOR flash的不同NOR flash采用位读写,因为它具有sram的接口,有足够的引脚来寻址,可以很容易的存取其内部的每一个字节。NAND flash使用复杂的I/O口来串行地存取数据。8个引脚用来传送控制、地址和数据信息。NAND的读和写单位为512Byte的页,擦写单位为32页的块。● NOR的读速度比NAND稍快一些。 ●转载 2011-11-06 21:44:27 · 946 阅读 · 0 评论 -
关于Nand ECC 错误
Nand flash ECC数据错误怎么办? 我编译过kernel当时选了ECC校验启动以后报错去掉了,就不报错了所以我会先考虑是不是这个问题一般来说,硬件ECC校验出错可能性比较小吧? 我啥也不懂-----摘自网络经典文章:“LINUX系统移植“我们的内核都是通过UBOOT写到Nand Flash的, UBO转载 2011-11-06 23:00:19 · 11974 阅读 · 0 评论 -
uboot 与系统内核中 MTD分区的关系
uboot 与系统内核中 MTD分区的关系:分区只是内核的概念,就是说A~B地址放内核,C~D地址放文件系统,等等。1:在内核MTD中可以定义分区A~B,C~D。。。。。。并且以绝对的地址赋上值。bootloader中只要能将内核下载到A~B区的A地址开始处就可以,C~D区的C起始地址下载文件系统。。。这些起始地址在MTD的分区信息中能找到。bootloader对分区的概念不重要,转载 2011-11-06 23:48:52 · 2058 阅读 · 2 评论 -
关于NAND flash的MTD分区与uboot中分区的理解 .
今天做内核移植,准备添加NAND flash的驱动,做到MTD分区时,想起在一本书上看到的一句话,说的是分区时每个区之间没有间隙,前一个区的结束地址是后一个区的起始地址。可是当我看我的开发板的教程时,分区如下:static struct mtd_partition smdk_default_nand_part[] = { [0] = { .name转载 2011-11-06 23:46:46 · 1526 阅读 · 0 评论 -
Nand flash驱动的编写与移植
1 Nand flash工作原理 S3C2410板的Nand Flash支持由两部分组成:Nand Flash控制器(集成在S3C2410 CPU)和Nand Flash存储芯片(K9F1208U0B)两大部分组成。当要访问Nand Flash中的数据时,必须通过Nand Flash控制器发送命令才能完成。所以, Nand Flash相当于S3C2410的一个外设,而不位于它的内转载 2011-11-06 22:11:43 · 2279 阅读 · 0 评论 -
linux_NandFlash_driver_超详细分析
今天学习了NandFlash的驱动,硬件操作非常简单,就是这个linux下的驱动比较复杂,主要还是MTD层的问题,用了一下午时间整理出来一份详细的分析,只是分析函数结构和调用关系,具体代码实现就不看了,里面有N个结构体,搞得我头大。 我用linux2.6.25内核,2440板子,先从启动信息入手。内核启动信息,NAND部分:S3C24XX NAND Driver, (c) 2004转载 2011-11-06 23:16:42 · 1693 阅读 · 0 评论 -
基于MTD的NAND驱动开发
○、说明 http://blog.chinaunix.net/u1/41134/showart_721586.html大约用了两个礼拜不到的时间为公司的IPcamera系统写了基于MTD的NAND驱动(linux-2.6.22.10内核),目前已可以在该驱动的支持下跑cramfs和jffs2文件系统,另外,该驱动也可以同时支持small page(每页512 Byte)和big pag转载 2011-11-15 22:05:40 · 884 阅读 · 0 评论 -
NAND FLASH读写原理
一、结构分析 S3C2410处理器集成了8位Nand Flash控制器。目前市场上常见的8位NandFlash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述NandF转载 2011-11-14 12:19:32 · 9024 阅读 · 1 评论 -
什么是iNAND,iNAND有什么优点?
iNAND是SanDisk公司研发的存储芯片,可以简单的看成SD卡或MMC卡芯片化。用户完全可以默认他是SD卡或者MMC卡。 相对MLC,iNAND有以下优点:1、 提高性能1)减少SOC的工作量,节约SOC资源。如果使用MLC做存储,SOC要参与FLASH的坏块管理、ECC校正等管理,会牺牲部分SOC性能,而使用iNAND的话,FLASH的管理工作都有iNAND完成,SOC只在需要时对iNAND转载 2012-01-12 15:39:45 · 3335 阅读 · 0 评论