启动时未加载Windows CE 7 SPI驱动程序
问题描述:
我是新手。启动时未加载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"));
功能,但结果是一样的。
是否有任何额外的驱动程序加载设置?
谢谢
穆拉。
答
确保您的驱动程序已编译到您的平面版本目录。然后,将您的驱动程序添加到您的platform.bib文件中。像这样:
am33x_mcspi.dll $(_FLATRELEASEDIR)\am33x_mcspi.dll NK SH