在vxworks6.x下添加一个新的驱动,一般需要添加6个文件,分别是
target/src/hwif/xxx 下
xxx.c 和 xxx.mk --- 源文件和makefile文件
target/src/hwif/h/xxx 下
xxx.h -- 头文件
target/config/comps/vxworks下
xxx.cdf -- cdf文件用于被workbench识别
target/config/comps/src/hwif下
xxx.dc xxx.dr - dc dr用于命令行编译
新加一个串口驱动需要添加的文件列表
vxbUccSio.c
vxbUccSio.h
vxbUccSio.mk
vxbUccSio.dc
vxbUccSio.dr
40vxbUccSio.cdf
注意:如果是命令行编译的话(make),你还需要执行下面的内容,否则新驱动还是没有被更新到库文件中If you have added/modified files in /target/config/comps/src/hwif folder, you need to re-create vxbUsrCmdLine.c. Move to /target/config/comps/src/hwif and execute make vxbUsrCmdLine.c
cd target/config/all/vxbUsrCmdLine.crm -f vxbUsrCmdLine.c
cd /target/config/comps/src/hwif
make vxbUsrCmdLine.c
vxWorks6.x以后,原则上是不需要也不应该把驱动添加到bsp中去,可以这样讲,引入vxWorks6.x就是为了解决这个问题,bsp中通用驱动太多。驱动都是放在target/src/hwif这个目录里的,然后把驱动写成vxBus类型,在config。h或者workbench中加入相应的组件来加入驱动,当然驱动需要的参数,如基地址,中断等等信息是放在hwconf.c文件中,vxworks6.x以后的驱动应该这样去加. 如果不是vxBus的驱动话,最简单的办法就是 把你的驱动放在bsp目录下,然后再sysLib.c中加入这个文件即可,如 include "xxxx.c"首先,你的CPU主处理器是什么?其次,如果你的CPU是X86,就要看你选择的什么品牌和结构的CAN接口卡(一般都是SJA1000芯片),是ISA还是PCI,ISA的CAN接口卡驱动,在安装了Tornado2.2.1/VxWorks 5.5.1 for pentium的CD4 Platform ID 2.0之后就能够找到CAN卡驱动?
再次,如果你的CPU是其它架构的嵌入式处理器,建议你还是自己写驱动吧,不是很难,可以借鉴上面说的那个CAN卡驱动(这个驱动没有解决BUS-OFF的问题)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)