创建BSP下你自己的驱动

   之前尝试过添加自己的驱动,没有出现问题,所以没太注意。今天添加驱动的时候犯了几个错误,以至于花费了我半天的时间,还以为vs2005坏了呢。记录下来,以防以后犯同样的错误。

   下面先介绍一下添加自己的驱动的方法。

  创建驱动string:

1、在../WINCE600/PLATFORM/LPC32XX/SRC/DRIVERS下新建一个目录string
2、添加DEF, source, makefile等文件(makefile文件和其他驱动相同)
3、编写驱动程序代码(根据具体功能要求)
4、修改注册表
5、修改dir文件
6、修改BIB文件
7、修改CATALOG文件(根据需要)
8、修改OS工程配置(根据需要)
9、重新编译OS

 

DEF文件
LIBRARY String
EXPORTS
STR_Init
STR_Deinit
STR_Open
STR_Close
STR_Read
STR_Write
STR_Seek
STR_PowerDown
STR_PowerUp
STR_IOControl

 

Source文件
TARGETNAME=string
RELEASETYPE=PLATFORM
TARGETTYPE=DYNLINK
DLLENTRY=DllEntryPoint
TARGETLIBS=$(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib
SOURCES= string.c
DEFFILE=string.def
PREPROCESSDEFFILE=1
INCLUDES=$(_COMMONDDKROOT)/inc;$(_COMMONOAKROOT)/inc;$(_COMMONSDKROOT)/inc;
../../inc; ../../inc/chip;

 

修改注册表文件
/WINCE600/PLATFORM/LPC32xx/FILES/platform.reg
在260行添加
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/string]
"Prefix"="STR"
"Dll"="string.dll"
"Order"=dword:0
"Index"=dword:1

 

修改dirs文件
/WINCE600/PLATFORM/LPC32xx/DRIVERS/下dirs文件
在文件末增加一行
string/

 

Catalog Item Files(pbcxml文件)(可选)
28行添加:
<BspItemId>Item:NXP:STRING1</BspItemId>
226行添加如下内容:
<Item Id="Item:NXP:STRING1">
<Title>STRING :test driver (port 1)</Title>
<Description>STRING :test driver (port 1)</Description>
<Comment>STRING :test driver </Comment>
<Type>BspSpecific</Type>
<SysgenVariable>BSP_LPC32XX_STRING1</SysgenVariable>
<Variable>CE_MODULES_STRING</Variable>
<SupportedCpuId>Cpu:ARMV4I</SupportedCpuId>
<Module>string.dll</Module>
<Location>Device Drivers/STRING</Location>
<SourceCode>
<Title>$(_WINCEROOT)/PLATFORM/LPC32XX/SRC/DRIVERS/string</Title>
<Path>$(_WINCEROOT)/PLATFORM/LPC32XX/SRC/DRIVERS/string</Path>
</SourceCode>
</Item>
必须重新新建工程才能起效

 

修改BIB文件
/WINCE500/PLATFORM/LPC32xx/FILES/platform.bib
在109行添加
string.dll $(_FLATRELEASEDIR)/string.dll NK SHK
或者(可选,如果pbcxml文件添加相应的内容)
IF BSP_LPC32XX_STRING1
string.dll $(_FLATRELEASEDIR)/string.dll NK SHK
ENDIF BSP_LPC32XX_STRING1

 

重新编译OS
如果希望实现在CATALOG中增减相关驱动的支持,需要修改
D:/ProgramFiles/WINCE600/PLATFORM/LPC32XX/CATALOG下的
LPC32XX.pbcxml。
重新编译BSP并下载。
运行后,看串口信息有没有如下信息(没有就表示失败):
– STRINGS: DLL_PROCESS_ATTACH
– STRINGS: STR_Init

 

 

今天添加驱动的时候,遇到两个问题:

1、第一次按照上面步骤添加完成后,用VS2005打开工程,Catalog Item View下驱动名称没有路径的下拉菜单,如下图

原因是修改Catalog Item Files(LPC32XX.pbcxml文件)时,路径设置错误.如下图所示

2、在上面错误的基础上,修改了LPC32XX.pbcxml的<BspItemId>Item:NXP:NORFLASH</BspItemId>项,如<BspItemId>NORFLASH:NXP:NORFLASH</BspItemId>,结果导致再次重启vs2005时无法打开Catalog Item View。

修改了问题1之后,就没再看到问题2出现了,可能是问题1引起的吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值