2012-07-31 2 views
0

나는 초보자입니다.Windows CE 7 SPI 드라이버가 시작시로드되지 않음

나는 내가 그래서 SPI 드라이버를 사용해야합니다 SPI 플래시를 구동 할 TI AM33xx 개발 보드

에 Adeneo BSP를 사용하는 Windows CE 7

에 장치 드라이버를 개발하려는.

내 드라이버를 작성했으며 디버깅 할 때 모든 함수가 올바르게 호출됩니다. 하지만 전화 할 때

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

deviceHandle은 항상 잘못된 값을 반환합니다. 그래서 저수준 SPI 드라이버를 디버깅 할 때 SPI_Init() 스트림 함수가 호출되지 않는다는 것을 알았습니다. 이

;=============================================================================== 
; 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의 \ 드라이버 \ 내장 SPI1 \] 내있는 Platform.reg 파일에 타인이

이 줄은 우리에게 "SPI1 드라이버가 시작할 때로드 될 것입니다"라고 말합니다. 하지만 spi 드라이버 SPI_Init 함수는 시작시로드되지 않습니다. Microsoft 백서에서 추가 설정을 보지 못했습니다.

그리고 추가,

나는

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

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

기능을 시도했지만 결과는 동일합니다.

드라이버로드에 대한 추가 설정이 있습니까?

감사합니다.

Murat.

답변

0

평판 릴리스 디렉토리에 드라이버가 컴파일되어 있는지 확인하십시오. 그런 다음 platform.bib 파일에 드라이버를 추가하십시오. 다음과 같은 내용 :

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