|
方法有两种:
一个SD的驱动以类的形式提取,然后三个子类,其他所有类函数都一模一样,仅仅是读写时切换的IO脚不同。
或者
直接做出SD2,SD3的驱动,也仅仅是读写时切换的IO脚不同。
一般SD卡、iNAND会加载成磁盘(DISK),命名比如是:CardStorage, FlashStorage,注册表里分别关联的是sd1.dll, sd2.dll,这样应用层向CardStorage或者FlashStorage读写时,就会用到不同的驱动函数(其实仅仅是切换的IO脚不同)。
频率不需要控制,用到就切。不过SD控制器的FIFO的处理需要注意一下,虽然大部分时候不会有竞争的问题,但极限情况下还是有可能的,驱动的考虑要细致。
实现容易,做好难。我们只切两个,也做了一个多月才敢说稳定。 |
|