BSP是从WINCE42上移植到WINCE50的
所有驱动都没变
以前在WINCE42下没有SDIO的驱动,只有SD存储功能的驱动
现在移植到WINCE50后,不知道怎么才能添加上SDIO这个功能(用来连接无线网卡)
我看PB的PUBLIC中有SDIO的驱动原代码,在PB工具中也有SDIO这个组件
1、是不是在PB中直接添加这个组件就可以实现SDIO的功能了??
2、或者编译PB50下PUBLIC的SD驱动文件夹,让它生成一个SDIO.DLL的文件。
然后象添加一般的DLL一样,在BIB和REG中添加代码,把SDIO.DLL添加到NK中就可以了??
3、或者需要把PUBLIC下的SDIO的驱动拿到BSP中编译?
4、不是会重新写个SDIO的驱动吧????
谢谢各位,有做过相关工作的发表一下意见!!
LZ,5.0下的ClientDriver就给了个Bluetooth的代码。你应该不能用吧。
你要用SDIO那就自己写个Client层的驱动,不过一般情况是产品厂商都会提供这个dll吧。
直接把这个dll和sdbus.dll和底层的host的dll一起搞到image就好啦。就和sdmemory.dll一样。
在"WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD"下有五个文件夹
DIRS= \
SDHCLib \
SDCardLib \
SDBusDriver \
SDHCDrivers \
SDClientDrivers
其中SDCLIENTDRIVERS中有两个文件夹
DIRS= \
SDMemory \
bluetooth \根据名字看应该是bluetooth的驱动
而SDHCDRIVERS文件夹中也有两个文件夹
DIRS= \
SDIOStdHC \
EllenCfg \这个根据名字看应该是SDIO的驱动吧??
楼上说的“SDIO那就自己写个Client层的驱动,不过一般情况是产品厂商都会提供这个dll吧”您指的这个驱动是无线网卡的驱动还是SDIO的??
我买的SD卡有自己的驱动,但是需要我的板子支持SDIO的驱动,所以SDIO的功能还是需要我自己搞定的
请问这个怎么搞定呢???
底层的Host驱动就应该要包括对于SDIO处理的部分了。一般来说底层的代码应该包括了对于SDIO命令的处理。
所以要是使用SDIO卡的话,必须要有对应的Client层的驱动。用这个Client层的Dll替换掉SDmemory.dll
这个Client层的DLL是需要自己编写代码生成的吗??
还是编译PUBLIC下的对应目录就可以了??
Client层的dll根据不同的卡具有不同的功能实现,一般来说厂商都会提供这个Dll的。
如果你们自己开发SDIO产品的话当然需要自己写了。
越来越糊涂!!
我现在是买了一个SD的无线网卡(插在SD插槽上)
它提供给我一个WINCE42的驱动和一个WINCE50的驱动
但是 这个厂家说我的BSP必须支持SDIO(这个板子是我们自己做的,但是无线网卡不是自己做的)
现在我的BSP可以支持SD存储功能
不知道他说的SDIO驱动是不是你说的“Client层的dll”???
还有这个厂家说只要支持了SDIO这个功能,可以实现识别大存储的SD卡(4G以上)
也就是说他们提供了SD无线网卡的驱动,我需要提供SDIO的功能
(打个比方:比如用USB无线网卡,无线网卡的厂家都会提供他们卡的驱动,不会提供USB的驱动,而USB的驱动是需要你的系统支持的)
而您说的“一般来说厂商都会提供这个Dll的。”您指的厂家是哪个厂家??无线网卡的厂家吗???
引用: 引用 6 楼 wangxin_801115 的回复:
越来越糊涂!!
我现在是买了一个SD的无线网卡(插在SD插槽上)
它提供给我一个WINCE42的驱动和一个WINCE50的驱动
他提供给你一个什么驱动,是一个Dll吗?
wince 5的sdhc 驱动已经支持SDIO的东东了,如果你有源码不妨去初始化的部分去看看类似代码:
pContext->mode.fSDIOEn= FALSE;
定义:
typedef struct {
BOOL fSDIOEn; //SDIO enabled ?
BOOL fPowerOn; // Power on?
BOOL fClockAlwaysOn;
BOOL fFastPathEnabled;
BOOL fDMATransfer;
DWORD dwClock; // current clock
DWORD dwBusWidth; // current bus width
DWORD dwVdd;// current voltage
DWORD dwActiveSlot;
DWORD dwPollingModeSize;
BOOL fCurrentRequestFastPath;
} PXA_MMCSD_MODE; // current operation mode of the controller
thank U!!
to:gsymichael
SD无线网卡的厂家给我的是一个可安装的驱动包!
TO:lesho
如果 wince 5的sdhc 驱动已经支持SDIO,我需要怎么才能把SDIO的驱动添加到我的内核中??
貌似直接添加PB下对应的SDIO的组件不行!!
没有什么特指的SDIO驱动。
你只要把你现在用的底层Host Controller部分和sdbus部分的dll连同厂家给的驱动一块放到image里就行了。
底层和bus层的代码基本上不区分是那种SDIO卡,只有最上层才和设备有关。
但是底层也有部分和SDIO处理相关的代码。你的机器上如果不能用SDIO的无线网卡的话也要看看你底层对于SDIo
的部分是不是OK
4.2下三星不是有三个DLL吗,什么都不用做,在bib文件打包就可以了
引用: 引用 13 楼 gooogleman 的回复:
4.2下三星不是有三个DLL吗,什么都不用做,在bib文件打包就可以了
指的是在File文件夹下的“SDBusDriver.dll+SDCSDCard.dll+SDMemory.dll”这三个么?