WinCE系统使用双Flash
我们的平台使用的是PXA310的CPU,根据功能定义,需要使用两个Flash,使用了三星的两个8位256M的Flash,两个Flash的数据口复用,并接到了一起,只是CS端分别接到CPU的CS0与CS1.
为了加载两个Flash,我弄了两个基本一样的Flash驱动,只是内部对片选脚定义有区别,一个使用CS0的driver0,一个使用CS1的driver1,分别加载,但是就是无法成功,只能使用CS0的驱动。
当两次加载的驱动都加载driver0的时候,可以正常进入系统,只是我的设备里面会有一个盘符,打开查看内容与根目录下一样;
当一次加载的驱动为driver0,一个为driver1时,则加载失败,在加载driver1时错误,报读取扇区错误等;
当两次都加载driver1时,也是加载失败,显示读取的Flash的ID都为0,无效;
开始以为是中断相同导致,我把Driver0改成和Driver1不一样的中断了,还是一样。
请问有哪位大大用过这种两片8位的Flash在一个系统的么?需要怎么修改和配置驱动的?
使用的操作系统是WinCE6.0的R1。 WinCE
[解决办法]
没弄过两个驱动的,时序是否满足呢?
你还不如弄个大点的flash,然后自己分两个区。
[解决办法]
这两个flash使用的是同一组的slot吗?加地址区分了吗?
[解决办法]
8位256M, 肯定是NAND Flash了.
需要对读, 写, 擦除做互斥.
参看CE_DONT_CARE的描述.
简而言之, 一个CS上的完整的时序, 有可能被中间的另一个CS上的访问打断.
[解决办法]
【是在软件里面区分还是硬件区分呢?硬件的话,CS引脚不是已经起到了使能有效的作用了么?我对Flash不太熟悉…… 】
硬件有区分,你这个采用的是SPI模式,我用的是SD模式,就SD模式而言,硬件会支持几组slot,每个slot的地址不一样,通过这个地址来区分,就SPI模式CS片选是硬件,软件还是要做相应的区分