液晶之家

 找回密码
 免费注册

QQ登录

只需一步,快速开始

搜索
查看: 2460|回复: 9

[资料] 2440支持大容量SD卡的解决办法

[复制链接]
发表于 2011-1-25 09:56:45 | 显示全部楼层 |阅读模式
//-----------------------------------------------------------------------------------------------------------
// 作者:wogoyixikexie@gliet

// 版权:桂林电子科技大学一系科协wogoyixikexie@gliet

// 平台:wince5.0 2440 5.0 BSP

// 发布日期:2009年5月6日 10:45:54

// 最后修改:

// 注意事项:未经作者同意,不得在转载的时候擅自修改、删除文章的任何部分

//-----------------------------------------------------------------------------------------------------------

      上周搞定了摄像头,昨天开始搞SD卡,刚开始挺郁闷,大容量不支持就算了,居然小容量的SD卡能够发现盘符,但是却不能删除和新建文件,后来经过修改,把写保护检测去掉了就可以正常读写了。Google了一下,然后在在群里问了一下,在CSDN搜索了一下,很幸运,很快搞定了大容量的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个工程即可。



==================================完毕!=================================


4.      重新sysgen platform。

补充:对于2410 支持大容量SD问题也是类似 如果是4.2BSP就要修改中断申请等问题了。4.2BSP支持大容量的SD卡办法请参考这里

http://topic.csdn.net/u/20080911/16/111A849C-FD1F-4955-840D-6DDFBA8EE1FA.html

http://topic.csdn.net/u/20081104/13/5024B712-07F4-4B33-A015-F2D5BAAFA027.html

http://topic.csdn.net/u/20081021/10/52df6b8b-c69b-4e7b-a278-0816e133f881.html?seed=508798215

http://topic.csdn.net/u/20080916/16/00D9A2BE-E4F8-4BEA-B892-F25E20AC4C83.html



更多详情参考:

http://www.hzlitai.com.cn/article/ARM9-article/system/1718.html
 楼主| 发表于 2011-4-14 13:53:20 | 显示全部楼层
风扬电容触摸屏

技术研发人员首选产品!
发表于 2011-8-5 15:10:22 | 显示全部楼层
很强大,真受用,谢谢分享
 楼主| 发表于 2011-8-8 11:57:45 | 显示全部楼层
很好的技术文章
 楼主| 发表于 2012-7-31 15:11:02 | 显示全部楼层
立宇泰推出了具备视频监控和指纹认证等功能的车载驾培系统终端!
发表于 2012-9-22 09:02:18 | 显示全部楼层
很强大,很受用,谢谢分享
发表于 2013-1-4 16:13:16 | 显示全部楼层
大家一起学习~
发表于 2013-1-29 09:51:17 | 显示全部楼层
适合驾培、驾考、物流管理系统的车载一体机终端设备形成系列化

立宇泰推出的车载一代(型号)、车载二代(型号)目前已经大批量使用在各大城市的驾培终端升级中,在实际使用场合考验下,工作稳定、可靠,受到用户的好评。
车载一代:ARM9处理器+WINCE5.0操作系统,480x272像素4.3寸液晶屏,电阻式触摸屏,支持GPS定位,2G/3G拨号,RFID(TypeA/B)卡的读写,指纹采集(上层实现算法),支持1路串口摄像头,内置2~4GTF存储卡,支持音频播放。
车载二代:ARM Cotex-A8处理器+Android2.3操作系统,800x480像素7寸液晶屏,电容式触摸屏,支持GPS定位,2G/3G拨号,RFID(TypeA/B)卡读写,接触式IC卡读写,指纹采集模块(已经实现算法),支持2路模拟摄像头(支持拍照、录像),内置8GTF存储卡,提供外置TF卡接口(最大),支持录音、放音,具备陀螺仪和加速度传感器。

通过与软件方案商、集成商的合作,实现了全新的驾培管理软、硬件体系,促进各大城市的驾培管理变得更加成熟、规范、公平、公正。

http://www.hzlitai.com.cn/product/Tablet-PC/1840.html
 楼主| 发表于 2013-4-19 12:02:07 | 显示全部楼层
适合驾培、驾考、物流管理系统的车载一体机终端设备形成系列化

立宇泰推出的车载一代(型号)、车载二代(型号)目前已经大批量使用在各大城市的驾培终端升级中,在实际使用场合考验下,工作稳定、可靠,受到用户的好评。
车载一代:ARM9处理器+WINCE5.0操作系统,480x272像素4.3寸液晶屏,电阻式触摸屏,支持GPS定位,2G/3G拨号,RFID(TypeA/B)卡的读写,指纹采集(上层实现算法),支持1路串口摄像头,内置2~4GTF存储卡,支持音频播放。
车载二代:ARM Cotex-A8处理器+Android2.3操作系统,800x480像素7寸液晶屏,电容式触摸屏,支持GPS定位,2G/3G拨号,RFID(TypeA/B)卡读写,接触式IC卡读写,指纹采集模块(已经实现算法),支持2路模拟摄像头(支持拍照、录像),内置8GTF存储卡,提供外置TF卡接口(最大),支持录音、放音,具备陀螺仪和加速度传感器。

通过与软件方案商、集成商的合作,实现了全新的驾培管理软、硬件体系,促进各大城市的驾培管理变得更加成熟、规范、公平、公正。

http://www.hzlitai.com.cn/product/Tablet-PC/1840.html
 楼主| 发表于 2013-5-16 15:43:45 | 显示全部楼层
分享分享~~~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

积分充值|广告联系|Archiver|小黑屋|液晶之家 ( 粤ICP备05077429号  

GMT+8, 2024-3-29 13:30

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表