2012-07-31 83 views
0

我是新手。啓動時未加載Windows CE 7 SPI驅動程序

我想在Windows CE 7

開發設備驅動程序,我使用Adeneo BSP上TI AM33xx發展局

我想要駕駛SPI閃存,所以我應該使用SPI驅動程序。

我寫了我的驅動程序,當我調試它時,所有函數調用正確。但是當我撥打

CreateFile(_T("SPI1:"), 
      GENERIC_READ | GENERIC_WRITE, 
      FILE_SHARE_READ | FILE_SHARE_WRITE, 
      NULL, OPEN_EXISTING, 0, NULL); 

deviceHandle總是返回無效值。因此,當我調試低級SPI驅動程序時,我看到,SPI_Init()流功能從未調用。

有這個腳在我的platform.reg文件

;=============================================================================== 
; MCSPI driver 
#include "$(_PLATFORMROOT)\AM33x_BSP\SRC\DRIVERS\MCSPI\mcspi.reg" 

而且

我mcspi.reg文件

;-- SPI Driver ----------------------------------------------------------------- 
IF BSP_AM33X_MCSPI1 
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SPI1] 
    "Prefix"="SPI" 
    "Dll"="am33x_mcspi.dll" 
    "Index"=dword:1 
    "Port"=dword:1 
    "Order"=dword:8 
    "MemBase"=multi_sz:"48030000" 
    "MemLen"=multi_sz:"00000100" 
    "Timeout"=dword:300 
    "PowerFlags"=dword:00000103    ; send pre/post device state changes 
    ; PMCLASS_PMEXT_GUID 
    "IClass"=multi_sz:"{0AE2066F-89A2-4D70-8FC2-29AEFA68413C}" 
ENDIF 

[HKEY_LOCAL_MACHINE \ DRIVERS \ BUILTIN \ SPI1]這條線告訴我們,「SPI1驅動程序將在啓動時加載」,不是嗎?但是spi驅動程序SPI_Init函數在啓動時從未加載過。我在Microsoft白皮書中沒有看到任何額外的設置。

,額外的,

我已經試過

ActivateDeviceEx(TEXT("Drivers\\BuiltIn\\SPI1"), NULL, 0, NULL); 

LoadLibrary(TEXT("am33x_mcspi.dll")); 

功能,但結果是一樣的。

是否有任何額外的驅動程序加載設置?

謝謝

穆拉。

回答

0

確保您的驅動程序已編譯到您的平面版本目錄。然後,將您的驅動程序添加到您的platform.bib文件中。像這樣:

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