Chinaunix首页 | 论坛 | 博客
  • 博客访问: 651513
  • 博文数量: 128
  • 博客积分: 4385
  • 博客等级: 上校
  • 技术积分: 1546
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-22 14:05
文章分类

全部博文(128)

文章存档

2012年(2)

2011年(51)

2010年(75)

分类: 嵌入式

2011-03-24 09:49:51

最近一个项目中开发了几块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文件。

阅读(6694) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

zdash212015-04-18 13:00:26

您好,我想请教一下,这个封装成库,是把tornado没有的头文件加进去的意思吗?