关于ARM增加FLASH容量及数量问题

fengpiao065   2008-7-25 10:13 楼主
我们现在将原来用1个512M的FLASH更改为用2个1G的FLASH,请问我在软件里要做什么修改呀。。
我用的是WINCE5的

回复评论 (17)

这个要看硬件连线了 或许对软件透明什么都不用改
点赞  2008-7-25 11:02
这问题有点麻烦, 要自己一步一步学习, 不是任何人都可以搞定的。 高手别人搞定了也不会给你一步一步说, 并且关系内容比较多。。。
点赞  2008-7-25 11:04

4楼 gga 

硬件连线是一样的,,只是片选使用了另外一组而已,,,,,有没有比较祥细的文章写过呀
点赞  2008-7-25 12:21
软件怎么改 要先看你硬件怎么连的
点赞  2008-7-25 13:21
lz肯定是用的nandflash吧,nandflash接口兼容,但是不同容量的flash内部存在大页小页的问题,具体的寻址命令也会发生变化,1片flash改为2片硬件连接也会有所变化,总之要改的东西不少,主要就是修改驱动,具体需要参考原理图和芯片datasheet
点赞  2008-7-25 13:33
什么平台?什么flash?总不会要我们来猜吧?
点赞  2008-7-25 13:48
我们用的是三星K9K的NAND FLASH。硬件改动不大。软件这边我找不到相关的资料呢
点赞  2008-7-25 13:59
K9K系列硬件兼容。看来就是在硬件连接上多了一组片选而已,NAND数据线、读写控制线、RDY状态线,都可以线与复用。

在软件上,需要增加相应的地址空间判断,超过1G的,需要操作第二个片选空间,仅此而已。这个算最底层的,对上一层就已经透明了。
点赞  2008-7-25 15:53
问一下,,增加第二片的片选空间是不是就是去操作NAND FLASH地址而已。。另外在判断的时候我如何才知道到底是那一片FLASH呢
点赞  2008-7-25 17:15
第一片和第二片的操作方法一样。

目标地址肯定是线性连续地址,而这个地址是在NAND地址对应的虚拟地址空间内的。超过了第一片能提供的容量,那么必然在第二片里面。

比如,一共2片1GB的,那么就是2GB。上层不管你下面怎么组成,就按2GB来操作。
如果传下来的地址是0-1GB的,那么就是第一片,如果1GB-2GB的,就是第二片。
点赞  2008-7-25 17:34
哦,,是这样的
那我在WINCE里面直接设置为2GB应该没有问题的。
BOOT里面同样的操作
点赞  2008-7-25 18:46
BOOT里面没有FileSystem,不能这样直接操作。你可以自己定义一个宏,或者类似的全局变量,来以此判断。
点赞  2008-7-25 21:17
对于原长提供的flash driver,只需要按照spec要求来连接号ce引脚,其他的功能pin都可以复用,软件上也不需要做什么改动.
点赞  2008-7-27 16:43
是这样的吗??
如果容量变量了也不用动的????
点赞  2008-7-28 10:44
引用: 引用 14 楼 jhjin023 的回复:
是这样的吗??
如果容量变量了也不用动的????

不是“这样”,因为你是1片->2片,不是1片上的2个#CE片选。
点赞  2008-7-28 12:16
引用: 引用 15 楼 shuiyan 的回复:
引用 14 楼 jhjin023 的回复:
是这样的吗??
如果容量变量了也不用动的????


不是“这样”,因为你是1片->2片,不是1片上的2个#CE片选。

对,是我考虑不周全,我再仔细想一下这个问题。
点赞  2008-7-30 09:23
我现在正在把原来64M的改为512M,现在不知道怎么改软件,要改动很大啊
点赞  2008-9-17 12:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复