请教nandflash扩展问题
手头有块210的板子,刚到手,对于A8的处理器还不是特别熟悉,但最近学校项目上想扩展nandflash为8GB,不知道在物理上是否支持?软件的配置和移植貌似TQ的工程师没有说明清楚,网上收了不少资料单不是很明白,需要对uboot和内核动那些地方,要求是不需要在这块添加的nandflash中启动,只是单纯的扩展nand而已,麻烦TQ的工程师哥哥解答,特地感谢 多大都行,只要不要求总线访问,因为总线访问需要处理器给出映射空间,寄存器访问方式通常都没问题 chris_xi 发表于 2013-8-17 23:04 static/image/common/back.gif多大都行,只要不要求总线访问,因为总线访问需要处理器给出映射空间,寄存器访问方式通常都没问题
谢谢你的回复如果采用你的寄存器访问方式 该如何修改能不能麻烦你提示一下??在uboot和内核中的那些地方需要作出配置??{:1_1:} 如果要扩展NANDFLASH,替代芯片必须兼容现在的nandflash封装,然后参考芯片手册和nandflash原理图部分,有几个NC的0欧电阻需要补上。不建议换直接更换NANDFLASH扩展容量,因为使用大容量的flash稳定性没有验证过。
建议用SD卡扩展容量。 就是内核与uboot的文件分区表与内核的分区表改下 TQ-ZQL 发表于 2013-8-19 16:02 static/image/common/back.gif
就是内核与uboot的文件分区表与内核的分区表改下
你好 谢谢你的回复 但是我不是很明白这个分区表指的是(比如内核的/arch/arm下的nandinfo配置表是吧)???完了之后 不用管页面的大小调整吗?? 不明白的是 假设我买了一块镁光的8GB的nandflash,那么对应在uboot中总线上的配置不需要修改吗??直接改分区表 系统能找到我对应的flash空间吗 而且我并不需要当做rom来存储uboot或者内核镜像只是当做普通的磁盘使用.谢谢 struct mtd_info 中的部分成员
u_char type; //MTD 设备类型
u_int32_t flags; //MTD设备属性标志
u_int32_t size; //标示了这个mtd设备的大小
u_int32_t erasesize; //MTD设备的擦除单元大小,对于NandFlash来说就是Block的大小
u_int32_t oobblock; //oob区在页内的位置,对于512字节一页的nand来说是512
u_int32_t oobsize; //oob区的大小,对于512字节一页的nand来说是16
u_int32_t ecctype; //ecc校验类型
u_int32_t eccsize; //ecc的大小
char *name; //设备的名字
int index; //设备在MTD列表中的位置
struct nand_oobinfo oobinfo; //oob区的信息,包括是否使用ecc,ecc的大小
有标识的。如果不对,你可以改一下。 chris_xi 发表于 2013-8-17 23:04 static/image/common/back.gif
多大都行,只要不要求总线访问,因为总线访问需要处理器给出映射空间,寄存器访问方式通常都没问题
不明白你说的寄存器访问具体形式是怎样的,我所知道的flash访问必须先在uboot配置好NAND FLASH控制器,并产生相应的访问时序来确定数据访问.第一: ARM contex A8的处理器pdf说了这个flash的映射实际物理大小上限就是1GB 不知道如何按照你说的进行代码上的修改与测试 第二: 如果按照楼下的所述, 正确的电路连接前提下并换成8GB的nandflash芯片,那么只是修改uboot和kernel中的分区大小能行吗nandflash在uboot中配置还是挺多的包括ECC等的设置, 页最大空间 OOB最大空间等各种 uboot/drivers/nand/nand_base.c中的读写函数等是否都需要修改
麻烦说的具体一些哈谢谢 情定蓝桥 发表于 2013-8-20 09:17 static/image/common/back.gif
不明白你说的寄存器访问具体形式是怎样的,我所知道的flash访问必须先在uboot配置好NAND FLASH控制器,并 ...
如果要用大容量的Nand需要MLC的,而210的芯片对MLC的支持并不好,不推荐使用。
页:
[1]