3428|2

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于SD卡切换驱动程序的编写流程 [复制链接]

我昨天问过在PXA270上扩展SDIO接口的问题,其中shuiyan提到了可以使用SD卡切换功能,在不同的SDIO设备之间不断做切换。由于没有做过这个切换的动作,SD卡驱动也是PXA270自带的,没有亲手写过,所以暂时没啥概念,特请shuiyan帮忙说明一下切换的流程和需要注意的问题。

假如我有三个SDIO设备,通过切分CMD为CMD1,CMD2和CMD3 分别控制,其中CMD1是iNand,CMD2是WIFI,CMD3是SD卡。我的问题是:

1、如何判断每个设备何时需要使用。在我download image的时候,是通过SD卡将NK.bin文件download到iNand中。在Bootloader中我需要初始化SD设备,同时先检测SD卡是否有插入(通过SD detect),然后从SD卡中找到NK文件,放到iNand中,这个时候我如何让iNand开始使用?是通过CMD1向iNand发送命令吗?然后如何切换回SD卡呢?如果是三个设备同时使用,比方说通过wifi下载文件到iNand中,同时从SD卡拷贝文件到iNand中,这样的话,如何得知哪一个设备将要使用呢?

2、切换的频率如何控制,或者设置?

非常感谢!

最新回复

非常感谢。我们在做的过程中有什么问题在请教。  详情 回复 发表于 2009-3-12 11:25
点赞 关注

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
方法有两种:
一个SD的驱动以类的形式提取,然后三个子类,其他所有类函数都一模一样,仅仅是读写时切换的IO脚不同。
或者
直接做出SD2,SD3的驱动,也仅仅是读写时切换的IO脚不同。

一般SD卡、iNAND会加载成磁盘(DISK),命名比如是:CardStorage, FlashStorage,注册表里分别关联的是sd1.dll, sd2.dll,这样应用层向CardStorage或者FlashStorage读写时,就会用到不同的驱动函数(其实仅仅是切换的IO脚不同)。

频率不需要控制,用到就切。不过SD控制器的FIFO的处理需要注意一下,虽然大部分时候不会有竞争的问题,但极限情况下还是有可能的,驱动的考虑要细致。

实现容易,做好难。我们只切两个,也做了一个多月才敢说稳定。
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
非常感谢。我们在做的过程中有什么问题在请教。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表