阅读:2147回复:11
sd卡驱动高手帮忙
请教个sd卡驱动的问题。
我的扳子在唤醒后检测sd开比较慢,大概延时有1s左右,所以如果应用程序(需要不停的读取sd卡上的数据)运行时休眠唤醒后,会出现卡被弹出的提示,但之后程序还是能继续正常运行。 如何做能先唤醒sd卡后再进入其他线程呢?? 是否能修改sd相关的注册表改变优先级别来做??? 望能给点思路 我的注册表如下: [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_SMDK2440] "Order"=dword:21 "Dll"="sdhc_sc2440.dll" "Prefix"="SDH" "DMAChannel"=dword:0 ; DMA channel to use. Set to 0xffffffff to disable DMA "DMAIrq"=dword:11 "DMA_IST_Priority"=dword:96 "SDIOIrq"=dword:15 "SDIO_IST_Priority"=dword:97 "PollingTimeout"=dword:100 ; 100 ms "CardDetect_Thread_Priority"=dword:98 "CardDetectGPIO"="G" ; card detect on GPG8 "CardDetectMask"=dword:100 "CardDetectFlag"=dword:0 "CardDetectControlMask"=dword:fffcffff "CardDetectControlFlag"=dword:0 "CardDetectPullupMask"=dword:fffffeff "CardDetectPullupFlag"=dword:100 "CardReadWriteGPIO"="H" ; card R/W on GPH8 "CardReadWriteMask"=dword:100 "CardReadWriteFlag"=dword:100 "CardReadWriteControlMask"=dword:fffcffff "CardReadWriteControlFlag"=dword:0 "CardReadWritePullupMask"=dword:fffffeff "CardReadWritePullupFlag"=dword:100 "HandleBusyFinishOnCommand38"=dword:1 "DmaTransferTimeoutFactor"=dword:8 "DmaTransferTimeoutConstant"=dword:3000 ENDIF BSP_SDHC_SC2440 |
|
沙发#
发布于:2008-05-12 17:47
其实这是文件系统的问题,唤醒后,要将sd卡里面的分区重新mount上去,这个时间大约是1秒钟,所以如果你有程序需要读写的话,必须在唤醒后延迟1秒钟再去,否则会出现上述情况。
|
|
板凳#
发布于:2008-05-13 09:16
首先,多谢指教,这个问题我也考虑到了
问题的关键是那个读写程序不是我做的,我只能从系统的角度去处理这个冲突,能否有先将文件系统mount上后,再进入其他程序处理线程的方法? 再请帮帮忙,给点意见啊 |
|
地板#
发布于:2008-05-13 11:40
你那个其它软件是导航地图引擎吧. ,好象大家都是在进入SUSPEND前将它关停,WAKEUP后再从新启动他.
|
|
地下室#
发布于:2008-05-13 14:26
恩,是kld的导航软件。。。。
重新启动不是要花很久时间啊,而且老是强行关掉它不会不会在多次挂起唤醒后系统崩溃(比如内存释放不完全造成等等) |
|
5楼#
发布于:2008-05-14 08:45
能不能把唤醒后系统恢复的优先级调整,先完成挂载sd文件系统,再运行应用程序线程的修改方法。。。
斑竹给个回复,我好死了心。。改了好多地方,都不行 |
|
6楼#
发布于:2008-05-14 11:20
兄弟,我正为了2440 的SD驱动伤脑筋,
可以分享出来吗? 感恩 |
|
7楼#
发布于:2008-05-14 13:27
harktrip 你是什么问题?? 和我一样吗?
|
|
8楼#
发布于:2008-05-14 15:42
|
|
9楼#
发布于:2008-05-15 11:09
问题不一样啊,我的是代码是pb5.0 —sdk包里的, 我没有改过,而且实际使用都是好的。。唯独唤醒后读卡着部分我想修改下,无从下手啊?
|
|
10楼#
发布于:2008-05-15 17:37
我遇到的问题是, 操作SD卡(比如播放SD卡上的MP3)时如果睡眠, 唤醒之后会有问题, 难道重新MOUNT之后, 应用程序就找不到路径了?
|
|
11楼#
发布于:2008-05-16 10:15
用什么播放器很关键,如果用自带的media player 唤醒都有问题,那就是休眠没做好。。
我的系统播放mp3和mp4休眠唤醒都正常的,,, |
|