免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 928 | 回复: 0
打印 上一主题 下一主题

VxWorks中封装函数库的方法及库文件使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览
最近一个项目中开发了几块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文件。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP