一、结构分析 S3C2410处理器集成了8位nandflash控制器。目前市场上常见的8位nandflash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述nandflash的读写方法。 nandflash的数据是以bit 的方式保存在memory cell里的,一般来说,一个cell 中只能存储一个...
nandflash系列之二:S3C2410读写Nand Flash分析 作者:刘洪涛, 华清远见嵌入式培训中心 高级讲师。 一、结构分析 S3C2410处理器集成了8位nandflash控制器。目前市场上常见的8位nandflash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述nandflash的读写方法。 ...
一、结构分析 S3C2410处理器集成了8位nandflash控制器。目前市场上常见的8位nandflash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述nandflash的读写方法。 nandflash的数据是以bit 的方式保存在memory cell里的,一般来说,一个cell 中只能存储一个bit,这些...
part add 命令用于添加一个MTD 分区。 命令的详细格式如下: part add name offset size flag 参数name 是要添加的分区的分区名称; 参数offset 是要添加的分区的偏移(相对于整个MTD 设备的起始地址的偏移,在ARMer9 系统中不论配置的是NOR Flash,还是NAND Flash,都只注册了一个mtd_info 结构,也就是说逻辑上只有一个MTD 设备,这个MTD设备的起始地址为0x00000000); 参数size 是要添加的分区的大小,单位为字节; 参数flag...
本帖最后由 xifanlover 于 2013-07-22 16:04 编辑 我使用SAM_BA v2.10这个软件烧录nandflash_at91sam9260.bin和u-boot.bin到nandflash,然后重启配置环境变量,然后烧录kernel的uImage。这个时候nandflash里地址分配是: nandflash_at91sam9260.bin地址为:0x0-0x20000 u-boot.bin地址为:0x20000-0x60000 环境变量存储地址为:0x60000-0x80000 kernel.bin地址为:0x80000-0x200000 我表示这样的地址我很好理解。可是我师傅给了...
本帖最后由 暴风lay 于 2012-04-07 00:23 编辑 代码是向nandflash写地址 我这代码是按照我的nandflash手册写的但是不行,后来我把12改成11就可以了,我现在的理解是当不使用obb的64字节时,A11位是放在row address里的,也就是说 3 cycle:A11-A18 4cycle :A19-A26 5 cycle:A27-A28,感觉这样想很怪,麻烦大哥大姐们解释下吧,谢谢了 看的书是韦东山的《嵌入式应用开发完全手册》
我用的ARM系列的PNX8400处理器,原来用的是Spi Flash作为启动设备;那我现在想改成NAND Flash启动。我改了硬件片选 CS0到NAND Flash;然后在uboot中将NAND Flash的基地址改为原来SFC的基地址,并重新写了环境变量。 结果是,当通过串口下载了uldr和uboot后可以引导nandflash中的内核启动,但是断电重启时,却无法自启动uboot; 请问:如何可以在NAND Flash中启动uboot? 多谢,不胜感激额。
三星的K9F2G08,在测试nand时,按照datasheet上说的页内地址写成2048(第一页),看NFDATA的值是不是0xff就可以知道此块是不是坏块, 可是写程序验证时检查结果,没有坏块,当用u-boot的nand bad检查时有两个坏块,这事这么回事呢?难道坏块标记不是第一页的spare area 的第一个字节?对于2G08的 spare area 区域的结构是什么样的(见有的资料上说是64B分成4份,每一份对应512B)?[code]static u_size8 is_bad_block(u_size32 addr...