2440支持大容量SD卡的教程

出处:互联网    发布于:2011-09-04 15:35:03

  2440支持大容量SD卡的解决操作方法:

  1.      更新PB. 更新补丁放在\\10.1.10.250\software\WinCE50 Update\WinCEPB50-071231-Product-Update-Rollup-Armv4I.msi

  2.      在platform->setting->envIRONment 中设置IMGSDBUS2 = 1

  之所以要设置这个环境变量是因为sdbus2.dll 才支持大容量的SD的。

  在common.bib中

  #if defined IMGSDBUS2

  ; @CESYSGEN IF CE_MODULES_SDBUS2

  sdbus.dll      $(_FLATRELEASEDIR)\sdbus2.dll                NK  SH

  ; @CESYSGEN ENDIF CE_MODULES_SDBUS2

  #else

  ; @CESYSGEN IF CE_MODULES_SDBUS

  sdbus.dll      $(_FLATRELEASEDIR)\sdbus.dll                  NK  SH

  ; @CESYSGEN ENDIF CE_MODULES_SDBUS

  #endif

  3.      修改BSP下的代码

  (1)SendCommand(UINT16 Cmd, UINT32 Arg, UINT16 respType, BOOL bDataTraNSfer)函数里在case ResponseR6:下面加case ResponseR7:

  case ResponseR1:

  case ResponseR1b:

  case ResponseR7:    // add by wogo at 2009.05.06添加的地方

  //--- SHORT RESPONSE (48 bits total)---

  // Format: { START_BIT(1) | TRANSMISSION_BIT(1) | COMMAND_INDEX(6) | CARD_STATUS(32) | CRC7(7) | END_BIT(1) }

  // NOTE: START_BIT and TRANSMISSION_BIT = 0, END_BIT = 1

  //

  *(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);

  break;

  (2)函数GetCommandResponse(PSD_BUS_REQUEST pRequest)中加在case ResponseR1b:下面

  case ResponseR1:

  case ResponseR1b:

  case ResponseR7: //------------------------添加的地方

  //--- SHORT RESPONSE (48 bits total)---

  // Format: { START_BIT(1) | TRANSMISSION_BIT(1) | COMMAND_INDEX(6) | CARD_STATUS(32) | CRC7(7) | END_BIT(1) }

  // NOTE: START_BIT and TRANSMISSION_BIT = 0, END_BIT = 1

  //

  *(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);

  break;

  主要是要添加对cmd7的支持。然后重新sysgen个工程即可。补充:对于2410 支持大容量SD问题也是类似 如果是4.2BSP就要修改中断申请等问题了。



  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!