最近一个项目中开发了几块CPCI板卡,驱动已经驾轻就熟,可是这次甲方需要将驱动封装成库,这个以前没做过,研究了一下,现于大家分享。
最简单的办法,是新建一个download工程,把所有源文件加进去。
以tornado2.2为例,可以在工程管理树那里选Builds选项卡(另外两个是files和vxworks),再右键点你所用的Buid模式,选
properties,然后再rules选项里选输出格式。选archive输出.a文件,选object输出.o文件。 同样,在需要包含.o和.a文件的那个工程里,在Builds->properties->macros里选择PRJ_LIBS (如果是vxworks,则选EXTRA_MODULES),然后填入需要包含的.o和.a文件的全路径。然后编译就OK了。
注:实际应用中将Builds->properties->rules 中选择输出格式为archive就OK了 ,编译后库文件的名字就是创建工程的名字。
使用方法:
1.创建.h文件
#ifndef __CPCIDRIVER_H__ #define __CPCIDRIVER_H__
#ifdef __cplusplus extern "C" { #endif
typedef struct { DEV_HDR devHdr; /* 必须 */
} CPCI16IO_DEV;
/* 其他定义 */
IMPORT STATUS cpci32ioInit(void); //声明外部函数 IMPORT STATUS cpci32ioDrv(void); IMPORT STATUS cpci32ioDevCreate(char *devName);
#ifdef __cplusplus } #endif
#endif /* __INCcpci16iodev */
2.makefile文件修改
LIB_EXTRA 中添加相应.a文件。 |