关于一个数据采集卡的driver问题

问题是这样的,我的pc104stack上有一块A/D数据采集卡diamond-32-TT。主要买他的原因是它带qnx621的driver
按照厂商的manual,下载并解压文件,得到三个文件(.h)(.a)(readme).且一定要compile。
请问该如何使用呢?
compile就等于build吗?
我的理解是:
1。新建或更改文件的shared libary一栏
2。add 这个。a文件
3。编程时包含那个头文件,用它提供的各种函数编程
4。build程序
不知道是不是这样,因为厂商说是driver,但我感觉就是实质就是添了一个shared libary


还有一个问题就是windows host下如何显示selfhost下的terminal及其他窗口呢,希望大家帮忙!!!!

如果只是一个.a文件的话,那就是说需要同你的应用程序连接。在你需要读采集卡的时候,调用它的函数。很可能最开始还要调用什么初始化函数什么的。看readme吧。

谢谢唐先生,但我还是搞不懂。我看过readme,上面只有关于厂商release的两句话,没有什么帮助。
你说要和应用程序链接,在qde中具体是如何实施呢?
我这样做可以吗?
copy the (.h) to C:\qnx\target\qnx6\usr\include
copy the (.a) to C:\qnx\target\qnx6\x86\lib (因为我的目标机是x86 celeron)
之后build
(这个manual因为提供了详细的函数说明和example code,所以写code并不是问题,就是不太懂如何有机的连接,您说得连接是不是指上面我的描述呢)
您说得初始化函数是什么呢? 是不是指在我要编译的source code的开始部分进行函数声明呢?

如不麻烦,可以帮我解答一下上面的第二个问题吗?


还有一个对于我来说十分十分关键的问题,想要请教: 我所要写的程序大体构架是:
一个client 一个server,一个datalogger, 前二者都是多线程的,client负责顺序的转换,处理,输出数据,server负责各个不通方式的采集数据,datalogger需要定期(多个interval之后)将shared memory中的数据dump到一块指定的安全内存中。三个process都是mutex方式和创建的shared memory相连。一个timer控制周期(每个周期client,server,(定期的datalogger)执行一次)
lucky的是一些子函数如不同方式的采集数据,控制算法我从相关资源网站可以找到。
因为这只是一个构想,请唐先生指点一下我该如何进行主程序的编制呢,主要就是说,采用什么方法创建各个线程,进程和如何条配好各个进程,线程?

您和很多这里的朋友给了我莫大的帮助,再次感谢您和这里热心的同志们!!!

请大家关于这个问题给些指点 谢谢
还有这个server程序是不是要写成resource manager呢
如何在一个process结束立即启动另外一个process呢

是,我的意思就是你要在你的程序里,使用它提供的函数。然后链接它的库。
初始化是有的系统需要先调用一个初始化函数后,才能使用。这个要参考他们给的Sample就行了。

还有一个对于我来说十分十分关键的问题,想要请教: 我所要写的程序大体构架是:
一个client 一个server,一个datalogger, 前二者都是多线程的,client负责顺序的转换,处理,输出数据,server负责各个不通方式的采集数据,datalogger需要定期(多个interval之后)将shared memory中的数据dump到一块指定的安全内存中。三个process都是mutex方式和创建的shared memory相连。一个timer控制周期(每个周期client,server,(定期的datalogger)执行一次)
lucky的是一些子函数如不同方式的采集数据,控制算法我从相关资源网站可以找到。
因为这只是一个构想,请唐先生指点一下我该如何进行主程序的编制呢,主要就是说,采用什么方法创建各个线程,进程和如何条配好各个进程,线程?

您和很多这里的朋友给了我莫大的帮助,再次感谢您和这里热心的同志们!!!

创建进程可以用spawn*(),也可以是传统的fork()/exec()。创建线程则可以用pthread_create()。也可以试试QNX提供的 Thread Pool函数。

至于调配,你是不是说每一个控制周期里server,client,datalogger各要执行一次?如果这三个进程之间有数据联系的话(比方client必须等server的数据的话),那么只要控制server执行,让client等server就行了。(server准备好数据后,通知client数据已到位,client直接执行就行了)。

否则的话,可以用shared的condvar,这样每个进程(线徎)醒过来看看是不是轮到自已执行了。

谢谢唐先生的指教,希望更多的和您讨论这个问题的一些构想。