哎...最近被主管叫去學porting WINCE 6.0...好像真打算把我當全才一樣...
希望我能在大陸那當窗口兼陸幹的軟體leader(其實是因為大陸人聽嘸我們這邊術語兼思維不同很難溝通...)
恩....這大餅看起來似乎滿可口
但通常有80%的機率都是在唬爛
而且感覺公司有點暴風雨前的寧靜...政治的因素搞的越來越大
只好提早做些準備了...嘿嘿
剛好現在在porting freescale的平台:imx31
只是下面文章是用WINCE 5.0,其實WINCE 7.0快出了...據說IE的performance更好,所以不是很多人想跳到6.0,只是大陸市場用6.0的比台灣還多....
=================================================
瞭解SD card
SD是Secure Digital Card卡的簡稱,直譯成漢語就是「安全數字卡」,是由日本松下公司、東芝公司和美國SANDISK公司共同開發研製的全新的存儲卡產品。SD存儲卡是一個完全開放的標準(系統),多用於MP3、數碼攝像機、數碼相機、電子圖書、AV器材等等,尤其是被廣泛應用在超薄數碼相機上。SD卡在外形上同Multimedia Card卡保持一致,大小尺寸比MMC卡略厚,容量也大很多。並且兼容MMC卡接口規範。不由讓人們懷疑SD卡是MMC升級版。另外,SD卡為9引腳,目的是通過把傳輸方式由串行變成並行,以提高傳輸速度。它的讀寫速度比MMC卡要快一些,同時,安全性也更高。SD卡最大的特點就是通過加密功能,可以保證數據資料的安全保密。它還具備版權保護技術,改採用的版權保護技術是DVD中使用的CPRM技術(可刻錄介質內容保護)。
規格
主要特點:
1.精巧而且超薄
SD記憶卡的尺寸只有24毫米x 32毫米 x 2.1毫米。作為「橋樑媒體」的重要特徵,它精緻小巧,方便您在不同設備上使用。兼容SD記憶卡的設備可以採用解碼器軟件來播放音樂、影像短片以及更多其他類型的內容,無需像CD播放機或DVD播放機那樣採用驅動裝置。從而使設備的外形更加精巧,同時也賦予了產品設計者發揮自由創意的全新空間。由於消除了播放音樂時的跳音現象,提高了播放的穩定性。
2.大容量栽體
目前,SD記憶卡已經具備各種容量可供選擇,同時,2GB、4GB和8GB的SDHC也出現了。
3.高速數據傳輸
為了提供快速響應和容易處理數字內容,SD記憶卡可以用每秒10MB的速率寫入和讀取數據。當其能夠用於遠程通信終端,直接下載內容時,記憶卡的高速傳送能力將可使存取時間和通信成本降至最低,同時可減輕網絡壓力。
4.擁有版權保護功能
先進的數碼技術使高保真音樂和其他高質量內容的錄製成為現實。日新月異的數碼技術,借助因特網,實現了全球範圍的信息快速共享。這一進步也帶來了對原版內容的大量複製,因此,作為21世紀的一種切實可行的記憶載體就必須具備高水平的版權保護技術,這樣才能保護大量高質的數碼數據。SD記憶卡可以自由複製各種數碼數據,並採用獨特的內置CPRM技術保存和轉移版權所有的內容,這也是建立一個全新的音樂及其他商業媒體的發布體系的關鍵所在。
硬件結構
(參看附錄中SD卡和其他卡的一個對比表)
SDIO卡
SDIO(輸入/輸出)卡是一種擴展帶SD卡插孔設備之功能的接口。正在開發各種SDIO卡,如相機、Bluetooth
如果編寫以上設備的驅動,當然前提是有一個合格的SD Host Controller。如同編寫USB STORAGE/HID設備的驅動一樣,需要USB HCD支持。MX31的ADS支持基於SDIO的LP1070 SDIO WLAN Card(在Wince 5.0的SD卡驅動模型裡,這種驅動稱為client driver)。
SD_SDIO_SPEC.PDF
SDIO features
l Targeted for portable and stationary applications
l Minimal or no modification to SD Physical bus is required
l Minimal change to memory driver software
l Extended physical form factor available for specialized applications
l Plug and play (PnP) support
l Multi-function support including multiple I/O and combined I/O and memory
l Up to 7 I/O functions plus one memory supported on one card.
l Allows card to interrupt host
l Initialization Voltage: 2.0 to 3.6V
l Operational Voltage range: 3.1 to 3.5V
WinCE 5.0下SD Stack
一共可以分為3個部分:a bus driver, host controller driver 和 client drivers,現分別介紹:
1 Bus Driver
顧名思義,總線,連接client driver和host controller driver之間的一個管理層。這部分代碼微軟已經寫好了,也就是說定義好了client和host之間的通訊接口。(是不是可以這麼說:編寫SD WIFI的程序員可以不用知道是什麼SDHC,從而達到驅動的跨硬件性)
參考代碼:
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDBUSDRIVER\
2 Host Controller
控制硬件並且通過上述的BUS driver來和client進行通訊。
參考代碼:
D:\WINCE500\PLATFORM\Mx31\Src\Drivers\Sdhc
D:\WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\FREESCALE\Mxarm11\Drivers\Sdhc
3 Client Driver
通過BUS driver和SD設備進行通訊。
Windows CE 5.0中的SDIO支持如下:
l 動態插入和拔出
l DMA方式 (平台相關)
l SDIO 中斷
l 動態的時鐘控制
l 錯誤恢復
l 喚醒
l v1.0 多功能和組合設備
l CE Power Manager來處理電源管理
l MMC
下圖可以清晰的表達基於WINCE5.0的一個SD STACK模型:
Bus Driver
主要功能如下:
l 枚舉板上的卡,並決定他們的類型(MMC, SD Memory or SDIO)
l 配置合適的電流給卡。
l 根據註冊表的值加載clients
l 把總線要求入隊列
l 把來自host controller的異步通知入隊列
l 總線要求完成,SDIO 中斷,設備插入\拔出
l 出錯時重試
參考代碼:
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDBUSDRIVER
貌似此部分代碼非微軟原創:
// Copyright (c) 2002 BSQUARE Corporation. All rights reserved.
Host Controller Driver
主要功能:
l HCD通知總線驅動卡的插入和拔出
l 給卡上電,SD定義了可接受的初時電壓範圍。
l 在總線驅動何客戶端設置完時鐘速度後,打開客戶端卡的時鐘(80個週期)
l 初始,把總線寬度設置成1。如果有需要的話(4-bit mode),把總線寬度設成4bit
l 傳輸SD 命令和數據到/來自卡上。
l 負責給槽上電,關電。
l IST 在這裡存在
l (可選的)喚醒支持(插入,拔出,SDIO中斷)
初始化
1. 調用HCD's XXX_Init
2. 調用 SDHCDAllocateContext() 來分配一段HC的上下文
a) Context 是總線驅動和HCD共享的
3. HCD 使用SDHCDSetXxx宏來填充這個上下文結構
a) 這個步驟是把HC向總線驅動描述一下
b) 包括函數指針,支持的電流,最大時鐘,槽數目,SDIO的支持等等。
4. 調用 SDHCDRegisterHostController() 來把自己向總線驅動註冊一下
5. 當總線驅動準備處理SD事件時,它會調用 HCD的init 函數(pContext->pInitHandler) (見SDHCDRegisterHostController__X函數)
6. 在初始化裡,HCD還應該完成硬件和資源的初始化(IST等)
下面代碼抄自MX31 BSP中SDHC驅動的SDH_Init函數中:
DWORD SDH_Init(DWORD dwContext)
{
// allocate the context
status = SDHCDAllocateContext(SDH_SLOTS, &pHostContext);
。。。。。。
//Set a unique name for each host controller
if (pController->ControllerIndex == 1)
{
SDHCDSetHCName(pHostContext, TEXT("MXARM11_1"));
}
else
{
SDHCDSetHCName(pHostContext, TEXT("MXARM11_2"));
}
// set init handler
SDHCDSetControllerInitHandler(pHostContext,SDInitialize);
// set deinit handler
SDHCDSetControllerDeinitHandler(pHostContext, SDDeinitialize);
// set the bus request handler
SDHCDSetBusRequestHandler(pHostContext,SDHBusRequestHandler);
// set the cancel I/O handler
SDHCDSetCancelIOHandler(pHostContext, SDHCancelIoHandler);
// set the slot option handler
SDHCDSetSlotOptionHandler(pHostContext, SDHSlotOptionHandler);
// now register the host controller
Slot Option Handler
l 總線驅動調用HCD的 SlotOptionHandler :
n SDHCDSetSlotPower –設置電壓
n SDHCDSetSlotInterface – 設置時鐘和總線寬度
n SDHCDEnableSDIOInterrupts
n SDHCDAckSDIOInterrupt
n SDHCDDisableSDIOInterrupts
l SDHCDGetWriteProtectStatus – HCD 必須查看SD存儲卡是否開啟寫保護
l SDHCDQueryBlockCapability – 返回HCD的最大和最小塊長度
總線要求
l 總線驅動把總線要求放入隊列然後把它們傳入HCD的 BusRequestHandler 函數
l HCD根據要求來做相應的動作—command/read/write, multi-block, 等.
l HCD 使用某種方式(DMA, PIO, busy-waiting等)來發送命令和數據
l HCD 調用SDHCDIndicateBusRequestComplete() 來通知總線驅動完成
l 總線驅動把完成事件入隊列並提交下一個要求給HCD
l 總線驅動的調度線程將會通知產生要求的起始源事件完成了。
標準的WINCE SDHC驅動支持
l Standard Host Controller v1.0
n
n Toshiba - Pegasus
n TI PCI 7x21
n Ricoh R
l Non-standard hosts
n Intel PXA-27x SOC (Mainstone II)
n Samsung SMDK-2410
n Freescale MX series
關於Standard Host Controller
SDA Host Working Group (MSFT executive member)
Defined Standard Host Register Specification to standardize the hardware interface from bus to controller
Currently ratified to v1.0 by SDA executive committee
MSFT strongly advocating this standard to all IHVs, ODMs, OEMs and Silicons
中斷
l HCD包括IST
l IST 決定哪個槽中斷
l IST evaluates interrupt
比如現在拔出SD卡
IST 會調用Bus Driver's SDHCIndicateSlotStateChange() with DeviceEjected parameter
l Bus Driver calls client's SlotEventCallBack routine with SDCardEjected. (Provides async notification about changes in the slot state.)
l Client performs its deinitialization
如何讓鏡像支持SD STACK
SYSGEN_SDBUS – SD bus driver (sdbus.dll)
SYSGEN_SDHC_STANDARD – Standard host controller (sdhc.dll)
SYSGEN_SD_MEMORY – SD Memory client (sdmemory.dll)
SYSGEN_BTH or SYSGEN_BTH_SDIO_ONLY – SDIO Bluetooth client (bthsdio.dll)
BSP variables will be added for CSP-specific host controllers
Client Driver
目前,WINCE5.0所支持的client driver如下:
l SD Memory Class
l SDIO Bluetooth Class - Type A
l SDIO WiFi (vendor specific)
如果需要自己寫client驅動的話可以參考D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDCLIENTDRIVERS目錄下的微軟自帶的SD client驅動來寫。
【example1: SD MEMORY DRIVER UNDER WINCE 5.0】
Wince自帶的SD存儲卡client驅動,代碼路徑為:
D:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDCLIENTDRIVERS\SDMEMORY
一個SD存儲卡在WINCE裡的驅動架構如下圖所示:
[圖無法插入]
1註冊表和啟動
在註冊表裡告訴Storage Manager
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="Storage Card"
;"PartitionDriver"="" ; removable storage cannot have partitions
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
"Name"="MMC Card"
"Folder"="Storage Card"
;"PartitionDriver"="" ; removable storage cannot have partitions
; SD Memory Storage class driver
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"BlockTransferSize"=dword:40 ; send no more than 64 blocks of data per bus transfer
;"SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block access
;"IdleTimeout"=dword:7D0 ; 2000 milliseconds
;"IdlePowerState"=dword:2 ; 0 == D0, 1 == D1, etc.
;"DisablePowerManagement"="" ; if value present, then disable (remove value to enable)
"Profile"="SDMemory"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{A32942B7
; MMC Storage Class Driver
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\MMC_Class]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"BlockTransferSize"=dword:40 ; send no more than 64 blocks of data per bus transfer
;"SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block access
;"IdleTimeout"=dword:7D0 ; milliseconds
;"IdlePowerState"=dword:2 ; 0 == D0, 1 == D1, etc.
;"DisablePowerManagement"="" ; if value present, then disable (remove value to enable)
"Profile"="MMC"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{A32942B7
2 SD命令和總線要求
將所有磁盤的操作轉換成SD的命令和總線要求
NAME SDMEMORY.DLL EXPORTS DSK_Close=SMC_Close DSK_Deinit=SMC_Deinit DSK_Init=SMC_Init DSK_IOControl=SMC_IOControl DSK_Open=SMC_Open DSK_PowerDown=SMC_PowerDown DSK_PowerUp=SMC_PowerUp DSK_Read=SMC_Read DSK_Seek=SMC_Seek DSK_Write=SMC_Write
下面為具體的DISK I/O操作函數和CARD I/O操作函數,詳細實現見sdmemdiskio.cpp和sdmemcardio.cpp:
// // SDDiskIO // // SDMemCardConfig - Initialise the memcard structure and card itself DWORD SDMemCardConfig( PSD_MEMCARD_INFO pMemCard ); // SDMemRead - Read data from card into pSG scatter gather buffers DWORD SDMemRead( PSD_MEMCARD_INFO pMemCard, PSG_REQ pSG ); // SDMemWrite - Write data to card from pSG scatter gather buffers DWORD SDMemWrite( PSD_MEMCARD_INFO pMemCard, PSG_REQ pSG ); // SDMemErase - Erase a contiguous set of blocks DWORD SDMemErase( PSD_MEMCARD_INFO pMemCard, PDELETE_SECTOR_INFO pDSI ); // SDMemEraseAll - Erase all blocks DWORD SDMemEraseAll( PSD_MEMCARD_INFO pMemCard ); // // SDCardIO // // SDMemDoBusRequest - Perform a bus request, returns Windows Status DWORD SDMemDoBusRequest( PSD_MEMCARD_INFO pMemcard, UCHAR Command, DWORD Argument, SD_TRANSFER_CLASS TransferClass, SD_RESPONSE_TYPE ResponseType, ULONG NumBlocks, ULONG BlockSize, PUCHAR pBuffer, DWORD Flags); // SDMemSetBlockLen - Sets read/write block length for SD memory card DWORD SDMemSetBlockLen( PSD_MEMCARD_INFO pMemcard, DWORD BlockLen ); // SDMemReadMultiple - Read multiple 512 byte blocks of data from card DWORD SDMemReadMultiple( PSD_MEMCARD_INFO pHandle, ULONG StartBlock, ULONG NumBlocks, PUCHAR pBuffer ); // SDMemWriteMultiple - Write multiple 512 byte blocks of data to card DWORD SDMemWriteMultiple( PSD_MEMCARD_INFO pHandle, LONG StartBlock, LONG NumBlocks, PUCHAR pBuffer ); // SDMemWriteUsingSingleBlocks - Write using single block writes DWORD SDMemWriteUsingSingleBlocks( PSD_MEMCARD_INFO pHandle, LONG StartBlock, LONG NumBlocks, PUCHAR pBuffer ); // SDMemDoErase - Erase a contiguous set of blocks DWORD SDMemDoErase( PSD_MEMCARD_INFO pHandle, LONG StartBlock, LONG NumBlocks ); DWORD SDAPIStatusToErrorCode( SD_API_STATUS Status ); DWORD SDGetCardStatus(PSD_MEMCARD_INFO pMemCard , SD_CARD_STATUS *pCardStatus); VOID HandleIoctlPowerSet(PSD_MEMCARD_INFO pMemCard, PCEDEVICE_POWER_STATE pDevicePowerState); VOID InitializePowerManagement(PSD_MEMCARD_INFO pMemCard); VOID DeinitializePowerManagement(PSD_MEMCARD_INFO pMemCard); SD_API_STATUS IssueCardSelectDeSelect(PSD_MEMCARD_INFO pMemCard, BOOL Select); VOID RequestEnd(PSD_MEMCARD_INFO pMemCard); SD_API_STATUS RequestPrologue(PSD_MEMCARD_INFO pMemCard, DWORD DeviceIoControl);
SD on MX31 ADS
Secure Digital Host Controller
The Secure Digital Host Controller (SDHC) 模塊支持MMC,SD和Secure Digital I/O and Combo Cards (SDIO)三種。MX31一共有2個SDHC硬件模塊。一個host controller 只支持連接上的一個卡。
SDHC.DLL由以下源代碼組成
『────
微軟代碼
c:\macallan\private\winceos\coreos\ceosutil\utiltree.cxx
c:\macallan\public\common\sdk\inc\svsutil.hxx
c:\macallan\private\winceos\coreos\ceosutil\utilmemf.cxx
c:\macallan\public\common\sdk\inc\svsutil.hxx
c:\macallan\private\winceos\coreos\ceosutil\utilmem.cxx
c:\macallan\private\winceos\coreos\ceosutil\svsutil.cxx
c:\macallan\public\common\oak\drivers\sdcard\sdcardlib\sdcardapistubs.cpp
c:\macallan\public\common\oak\drivers\sdcard\sdcardlib\sddebug.cpp
c:\macallan\public\common\oak\drivers\sdcard\sdcardlib\sdmemapi.cpp
c:\macallan\public\common\oak\inc\block_allocator.hxx
c:\macallan\public\common\oak\drivers\sdcard\sdhclib\sdhclib.cpp
─────』
d:\wince500\platform\mx31\src\drivers\sdhc\bspsdhc.c
d:\wince500\public\common\oak\csp\arm\freescale\mxarm11\drivers\sdhc\main.cpp
d:\wince500\public\common\oak\csp\arm\freescale\mxarm11\drivers\sdhc\sdcontrol.cpp
SDHC的註冊表設置
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
"BlockTransferSize"=dword:100 ; Overwrite from default 64 blocks.
; "SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block
access
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\MMC_Class]
"BlockTransferSize"=dword:100 ; Overwrite from default 64 blocks.
; "SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block
access
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
"Name"="MMC Card"
"Folder"="MMC"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="SD Memory"
#endif
IF BSP_SDHC1
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_ARM11_1]
"Order"=dword:21
"Dll"="sdhc.dll"
"Prefix"="SDH"
"ControllerISTPriority"=dword:64
"Index"=dword:1
ENDIF ;BSP_SDHC1
IF BSP_SDHC2
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_ARM11_2]
"Order"=dword:21
"Dll"="sdhc.dll"
"Prefix"="SDH"
"ControllerISTPriority"=dword:64
"Index"=dword:2
SDHC和DMA
• Start of the buffer should be a word aligned address.
• Number of bytes to transfer should be word aligned.
Due to cache coherency issues arising due to processor and SDMA access of the memory, the above criteria is further stringent for the read or receive operation (it is not applicable for write or transmit):
• Start of the buffer should be a cache line size (32 bytes) aligned address.
• Number of bytes to transfer should be cache line size (32 bytes) aligned.
電源管理
cut off power to the card slot when no cards are inserted. When a card is inserted to any of the slots, that
slot alone is powered and the clocks to that controller alone are gated on. While using memory cards, the
clock to the host controller and the clock to memory cards are gated off when ever the controller is idle.
For SDIO cards, both the clocks stay on all the time.
SDHC driver supports the full power on and full power off states. In full power off state, the clocks to the
controllers and the power to the inserted cards are turned off. When powered on, all cards inserted before
and after the power down will be detected and mounted.
PowerUp
This function is implemented to support resuming a memory card operation that was previously terminated
by calling PowerDown() API. Power to the card is restored, clocks to the pertaining controller is restarted.
SDHC driver is notified of a device status change. This results in signaling the SD bus driver of a card
removal followed by a card insertion. The card is re-initialized and is mounted so that the all operations
scheduled during a power down resumes. SDIO cards will be initialized on resume.
The details of this architecture and its operation can be found in the Platform Builder Help under the
heading 「Power On and Off Notifications for Secure Digital Card Drivers」, or in the online Microsoft
documentation at the following URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceddk5/html/wce50conpoweronoffnot
ificationsforsecuredigitalcarddrivers.asp
Note that this function is intended to be called only by the Power Manager.
PowerDown
This function has been implemented to support suspending all currently active SD operations just before
the entire system enters the low power state. Note that this function is intended to be called only by the
Power Manager. This function gates off all clocks to the controllers and powers down all the card slots.
LP1070 Secure Digital I/O Wi-Fi Driver
SDIO Wi-Fi 驅動是通過Freescale LP1070 SDIO Wi-Fi 卡來連接到一個IEEE 802.11b/g 無限局域網(WLAN) 。驅動支持以54 Mbps的速率和WLAN通訊。
注意:
The LP1070 SDIO Wi-Fi driver is an NDIS 5.0 compliant miniport driver.
LP1070 SDIO Wi-Fi card needs a 3.1~3.3V power supply from on-board Secure Digital Slot.
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\MANF-0325-CARDID-0217-FUNC-1]
"Instance0"="FSL1070NdisSD:FSL1070NdisSD1"
"Prefix"="NDL"
"Dll"="FSL1070NdisSD.dll"
[HKEY_LOCAL_MACHINE\Comm\FSL1070NdisSD]
"ImagePath"="FSL1070NdisSD.dll"
"Group"="NDIS"
"DisplayName"="WaveBlaster 802.11 SDIO Adapter"
[HKEY_LOCAL_MACHINE\Comm\FSL1070NdisSD\Linkage]
"Route"=hex(7):\
46,53,
[HKEY_LOCAL_MACHINE\Comm\FSL1070NdisSD1]
"ImagePath"="FSL1070NdisSD.dll"
"Group"="NDIS"
"DisplayName"="WaveBlaster 802.11 SDIO Adapter"
[HKEY_LOCAL_MACHINE\Comm\FSL1070NdisSD1\Parms]
"SDIOMaxClockFreq"=dword:017d7840
"SDIOMaxByteNumber"=dword:000003e8
"SDIOMaxBlockNumber"=dword:000003e8
"SDIOBlockSize"=dword:00000040
"SDIOSupportBlockMode"=dword:00000001
"SDIOSupport4BitMode"=dword:00000001
"BluetoothCoexCapability"=dword:00000000
"CcxCapability"=dword:00000000
"RadioMeasurementCapability"=dword:00000000
"MultiDomainCapability"=dword:00000000
"RoamRssiHysteresis80211bg"=dword:
"RoamRssiThreshold80211bg"=dword:ffffff9d
"ListenInterval"=dword:00000000
"BufferConfig"=dword:00000000
"DbgMaxFileSize"=dword:00019000
"WMMEnabled"=dword:00000000
"ResetEnable"=dword:00000001
"UWASensitivityLockout"=dword:00000000
"ShortPreamble"=dword:00000001
"RTSCTSThreshold"=dword:0000092b\
"FragmentThreshold"=dword:
"DefaultKey3"="0x0000000000"
"DefaultKey2"="0x0000000000"
"DefaultKey1"="0x0000000000"
"DefaultKey0"="0x0000000000"
"LongKeys"=dword:00000000
"Auth"=dword:00000000
"WEP"=dword:00000000
"PowerSaving"=dword:00000000
"RateSelect"=dword:00000000
"MACID"="0x000000000000"
"IbssChannel"=dword:00000000
"Ibss
"RestrictedChannel"=dword:00000000
"BSSID"="0x000000000000"
"Manual"=dword:00000000
"ESSID"=""
"Domain"=dword:00000010
"ProtocolType"=dword:00000003
"NetworkType"=dword:00000000
"STAuwa"="uwa_airoha.bin"
"STAupper"="mac_airoha_STA.bin"
"NetworkAddress"=""
"BusType"=dword:00000000
"BusNumber"=dword:00000000
[HKEY_LOCAL_MACHINE\Comm\FSL1070NdisSD1\Parms\Tcpip]
"Subnetmask"=hex(7):\
32,35,35,2e,32,35,35,2e,32,35,35,2e,30,00,00,00,00
"IpAddress"=hex(7):\
30,2e,30,2e,30,2e,30,00,00,00,00
"UseZeroBroadcast"=dword:00000000
附錄
SD卡與其他卡的對比
SDHC
Compatibility |
* SDHC Host Products can use both SD and SDHC Memory Cards. |
Capacity (4GB SDHC Memory Card)
|
常用網站:
No comments:
Post a Comment