WinCE 5.0下SD卡文件续传的问题
请教一个关于SD卡文件续传的问题:
在向SD卡写入文件的过程中执行Suspend操作,之后Resume起来能够继续上次未传完的部分。
目前的驱动已经可以实现这个功能,在Suspend的时候会关掉SD的电源,之后在Resume时执行PowerUp时会SetEvent激活
SD Card Detect Thread,在该Thread中首先会执行一次Remove Card的操作,紧接着执行Insert Card的操作,通过
这样的方式来实现续传的功能。
但是目前遇到一个问题:如果以很快的速度进行Suspend/Resume操作多次(设备上有一个Button来控制,按下进入Suspend放开Resume),那么就会发现在最后Resume之后无法进行续传。
原因是SD卡在StorageManager所对应的Store结构被Unmount掉了。对于这个我将PNPUnloadDelay的值改大也没有起到很好的
作用,从Debug信息来看,在StoragerManager将SD卡对应的Store的flag置为Detach之后,没有MountStroe的操作,等最后
一次Resume起来后就直接执行DetachStores了。而在DetachStore之后还会有很多MountStore的动作。
这个问题可以通过在Suspend的时候持续给SD供电来解决,但是这样系统在Sleep时电流太大。所以这种方案无法采用。
请教各位高手有哪位遇到过类似的问题,如何才能较好的解决这个问题。SD卡的驱动不知道能否支持多级的电源管理呢?
我目前使用的SD驱动的Bus,Client层驱动是使用的MS结构。