怎么支持大容量SD卡

zrz4066 2009-08-05 02:44:56
使用wince 6 打上r2及到2009。4月的所有补丁
硬件:S3C2443

以下是调试过程中的输出:

SendCommand (0xd2998b60, 0x0005, 0x00000000, 0x0005, 0x0) starts
CreaGetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0005, 0x00000000, 0x0005, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0005, 0x00000000, 0x0005, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0005, 0x00000000, 0x0005, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0000, 0x00000000, 0x0000, 0x0) starts
SendCommand (0xd2998b60, 0x0008, 0x0000015a, 0x0008, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x15a
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0001, 0x00300000, 0x0004, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0001, 0x00300000, 0x0004, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0001, 0x00300000, 0x0004, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0001, 0x00300000, 0x0004, 0x0) starts
GetCommandResponse returned SD_API_STATUS_RESPONSE_TIMEOUT (COMMAND_TIMED_OUT)!
SendCommand (0xd2998b60, 0x0037, 0x00000000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x400120
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0029, 0x40300000, 0x0004, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0xff8000
GetCommandResponse returned SD_API_STATUS_SUCCESS
INFO: Plug: Mapped Irq 0x3 to SendCommand (0xd2998b60, 0x0000, 0x00000000, 0x0000, 0x0) starts
SendCommand (0xd2998b60, 0x0008, 0x0000015a, 0x0008, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x15a
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0037, 0x00000000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x120
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0029, 0x40100000, 0x0004, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0xff8000
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0037, 0x00000000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x120
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0029, 0x40100000, 0x0004, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0xc0ff8000
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0002, 0x00000000, 0x0003, 0x0) starts
*(vm_pSDIReg->SDIRSP3) = 0x9900914f
*(vm_pSDIReg->SDIRSP2) = 0x38b38fa5
*(vm_pSDIReg->SDIRSP1) = 0x44303447
*(vm_pSDIReg->SDIRSP0) = 0x2544d53
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0003, 0x00000000, 0x0007, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x6b940520
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0009, 0x6b940000, 0x0003, 0x0) starts
*(vm_pSDIReg->SDIRSP3) = 0xa400051
*(vm_pSDIReg->SDIRSP2) = 0x1d877f80
*(vm_pSDIReg->SDIRSP1) = 0x5b590000
*(vm_pSDIReg->SDIRSP0) = 0x400e0032
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x000d, 0x6b940000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x700
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0007, 0x6b940000, 0x0002, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x700
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0037, 0x6b940000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x920
GetCommandResponse returned SD_API_STATUS_SUCCESS
SD_READ Dma 0x00000008, 0x0001
SendCommand (0xd2998b60, 0x0033, 0x00000000, 0x0001, 0x1) starts
*(vm_pSDIReg->SDIRSP0) = 0x920
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0037, 0x6b940000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x920
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x002a, 0x00000000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x920
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0037, 0x6b940000, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x920
GetCommandResponse returned SD_API_STATUS_SUCCESS
SendCommand (0xd2998b60, 0x0006, 0x00000002, 0x0001, 0x0) starts
*(vm_pSDIReg->SDIRSP0) = 0x920
GetCommandResponse returned SD_API_STATUS_SUCCESS
SD_READ Dma 0x00000200, 0x0001
SendCommand (0xd2998b60, 0x0011, 0x00000000, 0x0001, 0x1) starts
*(vm_pSDIReg->SDIRSP0) = 0x900
GetCommandResponse returned SD_API_STATUS_SUCCESS
SD_READ Dma 0x00000200, 0x0001
SendCommand (0xd2998b60, 0x0011, 0x00400000, 0x0001, 0x1) starts
*(vm_pSDIReg->SDIRSP0) = 0x900
GetCommandResponse returned SD_API_STATUS_SUCCESS
SD_READ Dma 0x00000200, 0x0001
SendCommand (0xd2998b60, 0x0011, 0x00000000, 0x0001, 0x1) starts
*(vm_pSDIReg->SDIRSP0) = 0x900
GetCommandResponse returned SD_API_STATUS_SUCCESS
SD_READ Dma 0x00000200, 0x0001
SendCommand (0xd2998b60, 0x0011, 0x00400000, 0x0001, 0x1) starts
*(vm_pSDIReg->SDIRSP0) = 0x900
GetCommandResponse returned SD_API_STATUS_SUCCESS


从回应信息*(vm_pSDIReg->SDIRSP0) = 0xc0ff8000看,可以知道该卡是sdhc卡。但结果启动wince 6后,看到存储卡。 那位DX指导一下


关于wince5 支持大容量SD卡的
http://support.microsoft.com/default.aspx/kb/933809
...全文
544 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
九个太阳2023 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zrz4066 的回复:]
已经识别出来了 。
[/Quote]
楼主怎么识别出来的啊????
zyw032fly 2009-11-24
  • 打赏
  • 举报
回复
怎么识别的啊?,改哪个函数啊?WINCE500下?
zrz4066 2009-08-07
  • 打赏
  • 举报
回复
已经识别出来了 。
zrz4066 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gooogleman 的回复:]
打补丁还是不行的,还要修改一些配置,环境变量以及驱动的一些命令。
[/Quote]
在SendCommand函数中 添加ResponseR7,如下
。。。。
case ResponseR5:
case ResponseR6:
case ResponseR7:// 增加的行
vm_pSDIReg->SDICCON = WAIT_FOR_RESPONSE | START_COMMAND | COMMAND_START_BIT | (Cmd & MAX_CMD_VALUE);

在GetCommandResponse函数中,添加

case ResponseR1:
case ResponseR1b:
case ResponseR7://增加的行
*(respBuff ) = (BYTE)(START_BIT | TRANSMISSION_BIT | pRequest->CommandCode);
*(respBuff + 1) = (BYTE)(vm_pSDIReg->SDIRSP0 );
*(respBuff + 2) = (BYTE)(vm_pSDIReg->SDIRSP0 >> 8 );
*(respBuff + 3) = (BYTE)(vm_pSDIReg->SDIRSP0 >> 16);
*(respBuff + 4) = (BYTE)(vm_pSDIReg->SDIRSP0 >> 24);
*(respBuff + 5) = (BYTE)(END_RESERVED | END_BIT);

还需要修改那些?我已经在catalog中选中了 SD bus Driver(IMGSDBUS2)
aaassd_cn 2009-08-05
  • 打赏
  • 举报
回复
Mark一下 一起学习
gooogleman 2009-08-05
  • 打赏
  • 举报
回复
打补丁还是不行的,还要修改一些配置,环境变量以及驱动的一些命令。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧