前提条件:确保内核已编译并内置 IEEE1394 支持。 这至关重要!
您可以通过重新编译内核来添加对 IEEE1394 设备的支持。 别慌! 以下是编译内核的步骤
转到内核源代码所在的目录。 通常它在/usr/src。 我们建议您从 www.kernel.org 下载内核源代码 (2.6.10) 的全新副本。
因此,cd /usr/src/kernel-2.6.10 (kernel-2.6.10是源代码目录的名称。 它可能因系统而异。)
make menuconfig
菜单将出现。 选择
菜单将出现。 选择
在显示的菜单中将以下各项标记为 <M>
OHCI-1394 支持
OHCI-1394 视频支持
OHCI-1394 DVI/O 支持
RAW IEEE1394 I/O 支持
按 ESC 退出菜单
保存配置
安装 libraw1394-1.2.0
su root
tar -xvzf libraw1394-1.2.0.tar.gz
cd libraw1394-1.2.0
./configure
make
make install
安装 libdc1394-1.1.0
su root (如果您尚未这样做)
tar -xvzf libdc1394-1.1.0.tar.gz
cd libdc1394-1.1.0
./configure
cd libdc1394
make
make install
安装模块
modprobe ohci1394
modprobe video 1394
modprobe ieee1394
modprobe raw1394
lsmod 以查看所有模块 (ieee1394、raw1394、ohci1394 和 video1394) 现在都已安装。
![]() | 关于依赖项的说明 |
---|---|
这些模块有一些依赖项
|
创建正确的 1394 设备
cd /dev
mknod raw1394 c 171 0
chmod 666 /dev/raw1394
mkdir video1394
cd video1394
mknod 0 c 171 16
mknod 1 c 171 17
chmod 666 /dev/video1394/*
![]() | 关于自动化模块启动的说明 |
---|---|
每次系统重启时,节点都会被销毁,模块也会被自动删除。 因此,我们编写了一个脚本来自动化启动时的安装任务,以撤消重启期间造成的所有损坏! |
设置用户路径
su user
检查LD_LIBRARY_PATH。/usr/local/lib。libdc1394_cotrol.so.13对象文件。
![]() | 关于设置路径的说明 |
---|---|
您还可以通过在以下位置添加来设置路径/usr/local/lib在/etc/ld.so.conf. |
这就完成了安装阶段。
为了确保安装正确,请将相机连接到 IEEE1394 卡(假设 IEEE1394 卡已安装在系统上),然后运行 testlibraw
$ testlibraw
这将测试主机卡、相机和其它相关参数是否存在。 以下是 testlibraw 的典型输出
Successfully got handle current generation number: 17 1 card(s) found nodes on bus: 2, card name: ohci1394 using first card found: 2 nodes on bus, local ID is 0, IRM is 1 doing transactions with custom tag handler trying to send read request to node 0... completed with value 0x23127bac trying to send read request to node 1... completed with value 0x60217dac using standard tag handler and synchronous calls trying to read from node 0... completed with value 0x04477dac trying to read from node 1... completed with value 0xd37380ac testing FCP monitoring on local node got fcp command from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef got fcp response from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef polling for leftover messages |
该libdc1394-1.1.0库附带了一些示例程序,这些程序对于理解如何编写程序非常有帮助。 examples 文件夹中有一个 Makefile。examplestar 文件的文件夹。 要编译和执行程序
cd libdc1394-1.1.0/examples
make
您可以从 http://www.ptgrey.com/support/kb/data/grabdma.tgz 获取专门为 Point Grey 相机编写的程序。
幸运的是,我们有一个为 IEEE1394 相机开发的开源图形应用程序,称为 Coriander,它为 libdc1394 提供了友好的图形用户界面,以帮助用户更有效地使用相机。 稍后我们将讨论 Coriander 如何帮助我们进行调试。 接下来,我们将简要说明如何安装 Coriander。
Coriander 的安装
确保您的 Linux 机器上已安装 libdc1394 和 Gnome 库 (Coriander 使用gnome.h)。 有关要求的更多详细信息,请查看 Coriander 提供的用户手册:http://damien.douxchamps.net/ieee1394/coriander/manual.php。
从 sourceforge.net 下载以下 tar 文件coriander-1.0.1.tar.gz,然后按如下所示进行操作
su root
tar -xvzf coriander-1.0.1.tar.gz
cd coriander-1.0.1
./configure
cd src
make
make install
运行 Coriander 如下所示
cd coriander-1.0.1/coriander-1.0.1/src ./coriander |
幸运的是,libdc1394 和相关模块的安装很简单,不会造成任何重大问题。 您可能遇到的一些小问题是由于错误造成的,例如未以 root 身份安装或未更改新创建的 IEEE1394 设备的权限。