【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教vxworks timer问题

共7条 1/1 1 跳转至

请教vxworks timer问题

菜鸟
2006-09-08 07:42:00    评分

我编了一个简单的程序想试一下定时器,编译没问题,但是下载到VxSim的时候就出现这样的问题,这几个函数
是在timerLib中定义的,但是我 include timerLib.h或timerLib.c就编译不过去。请教各位大侠这是什么原因呢?
版本是tornado 2.0,代码附后。

Unresolved symbols encountered while
Errors while downloading E:/test/SIMNTgnu/Project0.out:
_timer_connect
_timer_settime
_timer_create


#include "vxWorks.h"
#include "wdLib.h"
#include "stdlib.h"
#include "taskLib.h"
#include "logLib.h"
#include "intLib.h"
#include "netLib.h"
#include "stdio.h"
#include "stdlib.h"
#include "sysLib.h"
#include "memLib.h"
#include "semLib.h"
#include "cacheLib.h"
#include "sys/ioctl.h"
#include "etherLib.h"
#include "msgQLib.h"
#include "tickLib.h"
#include "signal.h"
#include "timers.h"
#include "sigLib.h"
#include "time.h"

void runfunction(void);
void addOct(int a);


timer_t mytimer;
struct timespec timeValue;
struct timespec timeInterval;
struct itimerspec timeToSet;


void runfunction(void)
{
int m;

timeInterval.tv_sec=2;
timeInterval.tv_nsec=0;

timeValue.tv_nsec=0;
timeValue.tv_sec=2;

timeToSet.it_value=timeValue;
timeToSet.it_interval=timeInterval;

m=3;
/* 创建定时器 */
if(timer_create(CLOCK_REALTIME,0,&mytimer)==ERROR)
return ;
/* 用户程序与定时器相连 */
if(timer_connect(mytimer,(VOIDFUNCPTR)addOct,m)==ERROR)
return;
/* 设置定时器值 */
if(timer_settime(mytimer,0,&timeToSet,0)==ERROR)
return;

}

void addOct(int a)
{

printf("***The answer is %d;\n\n",a);
timer_settime(mytimer,0,&timeToSet,0);
}

[align=right][color=#000066][此贴子已经被作者于2006-9-7 23:46:37编辑过][/color][/align]



关键词: 请教     vxworks     timer     问题     #incl    

菜鸟
2006-09-08 19:38:00    评分
2楼
rt

菜鸟
2006-09-10 03:54:00    评分
3楼
这个问题解决了,在映像里加上posix-timer就可以了,但是又出了新问题,挺奇怪的

菜鸟
2003-09-23 02:21:00    评分
4楼
我的博客有点关于定时器的总结不知道有没有帮助http://www.ednchina.com/blog/yanshen/

菜鸟
2006-10-18 02:26:00    评分
5楼

3楼的讲到"这个问题解决了,在映像里加上posix-timer就可以了" 具体怎么操作,能否详细介绍一下,我也被这个问题困扰很久了,因刚接触vxworks不久,能否step by step? 多谢!
跟 C:\Tornado2.2\target\config\all\configAll.h 有没有关系啊?


菜鸟
2006-10-19 22:24:00    评分
6楼

感谢楼主adu11的指导,问题终于解决了.我猜每个刚开始使用Tornado2.x IDE集成开发环境的人都会遇到这个问题吧.
首先,如果创建工程为 Create downloadable application modules for ...
必然会报告错误 "Unresolved symbols encountered while".
所以必须先选择 Create a bootable VxWorks image (custom conf......

然后就是adu11 老师的解决方案:
这个问题是由于在VxWorks中没有加上POSIX的库。
     要在你生成的VxWorks映像中定义

#define INCLUDE_POSIX_CLOCKS
#define INCLUDE_POSIX_SEM
#define INCLUDE_POSIX_SIGNALS
#define INCLUDE_POSIX_TIMERS(好像不用这么多),从prjParams.h中将这些宏定义前的#undef改成#define例如: D:\Test\TestSemInfo\prjParams.h 或者在工程中设置Vxworks时,在operating system components->POSIX components选上timers、clock、signals等。 [align=right][color=#000066][此贴子已经被作者于2006-10-19 14:32:15编辑过][/color][/align]

菜鸟
2007-01-26 19:41:00    评分
7楼
有用

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]