SANE的移植过程(针对s3c2410)
来源:互联网 发布:webgame源码 编辑:程序博客网 时间:2024/06/05 10:28
一.SANE简介
SANE(Scanner Access Now Easy)是Linux下管理扫描仪的程序。
详情请参考官方网站www.sane-project.org。
二.SANE的结构
SANE支持scsi与usb接口的扫描仪。对于usb接口的扫描仪,它依赖于libusb这个usb库。所以要想移植SANE必须先移植libusb。
三.环境变量
开发板 s3c2410
交叉编译工具: /usr/arm/3.3.2/bin/
源码目录: /usr/local/src/libusb/
/sane
开发板采用NFS进行开发,目录为:/home/nfs/rootfs/
版本:
sane 1.0.18
libusb 0.1.12
主机内核版本 2.6.15
目标办内核版本 2.6.12
编译器版本 3.3.2
四.移植过程
libusb的移植:
$./configure --host=arm-linux --build=i686-pc-linux-gnu --target=arm-linux --prefix=/usr
$make
$make install
安装完成之后把/usr/lib/libusb*与/usr/include/usb*分别拷贝到目标板对于得目录下(/usr/lib,/usr/include)与编译器对应的目录下(/usr/arm/3.3.2/arm-linux/include,/usr/arm/3.3.2/arm-linux/lib)。
因为在下面编译SANE的时候,交叉编译器需要调用libusb的库与头文件。(这点非常关键,我因为没有拷贝这些东西到编译器的指定目录,浪费了很多时间...)
SANE的移植:
$./configure --host=arm-linux --build=i686-pc-linux-gnu --target=arm-linux --prefix=/usr/sane
如果出现提示找不到libusb库,说明你没有把libusb的库与头文件拷贝到正确位置。
$make
正常情况下会出现sane-desc不能运行的错误,基于arm的程序当然运行不了了,你可以预先在x86上编译出一个来,然后出现这个错误的时候直接将arm的sane-desc覆盖掉就可以了。
$make install
直接将这个文件夹拷贝到目标板指定的目录下,设置好path,就可以了。
五.配置
一直没闹明白,基于libusb的库根本就用不着udev与hal,但是说明文档中还是要求配置dev目录下的节点信息...
我曾经在pc机上做过实验,将pc机上的udevd与hald全部关闭,然后删除dev目录下的bus子目录与节点信息,/etc/sane.d下未做任何修改,sane照常能运行。
但配置文档中多次提到/dev下的节点信息,是不是仅限于scsi接口的扫描仪?
到这已经移植完成了。如果你想使用saned的话,你要先移植xinetd,方法同上。配置很简单,不过直接用启动脚本启动会有错误,直接用命令行就可以了,
xinetd -f /etc/xinetd.conf -stayalive -pidfile /var/run/pidfile
SANE(Scanner Access Now Easy)是Linux下管理扫描仪的程序。
详情请参考官方网站www.sane-project.org。
二.SANE的结构
SANE支持scsi与usb接口的扫描仪。对于usb接口的扫描仪,它依赖于libusb这个usb库。所以要想移植SANE必须先移植libusb。
三.环境变量
开发板 s3c2410
交叉编译工具: /usr/arm/3.3.2/bin/
源码目录: /usr/local/src/libusb/
/sane
开发板采用NFS进行开发,目录为:/home/nfs/rootfs/
版本:
sane 1.0.18
libusb 0.1.12
主机内核版本 2.6.15
目标办内核版本 2.6.12
编译器版本 3.3.2
四.移植过程
libusb的移植:
$./configure --host=arm-linux --build=i686-pc-linux-gnu --target=arm-linux --prefix=/usr
$make
$make install
安装完成之后把/usr/lib/libusb*与/usr/include/usb*分别拷贝到目标板对于得目录下(/usr/lib,/usr/include)与编译器对应的目录下(/usr/arm/3.3.2/arm-linux/include,/usr/arm/3.3.2/arm-linux/lib)。
因为在下面编译SANE的时候,交叉编译器需要调用libusb的库与头文件。(这点非常关键,我因为没有拷贝这些东西到编译器的指定目录,浪费了很多时间...)
SANE的移植:
$./configure --host=arm-linux --build=i686-pc-linux-gnu --target=arm-linux --prefix=/usr/sane
如果出现提示找不到libusb库,说明你没有把libusb的库与头文件拷贝到正确位置。
$make
正常情况下会出现sane-desc不能运行的错误,基于arm的程序当然运行不了了,你可以预先在x86上编译出一个来,然后出现这个错误的时候直接将arm的sane-desc覆盖掉就可以了。
$make install
直接将这个文件夹拷贝到目标板指定的目录下,设置好path,就可以了。
五.配置
一直没闹明白,基于libusb的库根本就用不着udev与hal,但是说明文档中还是要求配置dev目录下的节点信息...
我曾经在pc机上做过实验,将pc机上的udevd与hald全部关闭,然后删除dev目录下的bus子目录与节点信息,/etc/sane.d下未做任何修改,sane照常能运行。
但配置文档中多次提到/dev下的节点信息,是不是仅限于scsi接口的扫描仪?
到这已经移植完成了。如果你想使用saned的话,你要先移植xinetd,方法同上。配置很简单,不过直接用启动脚本启动会有错误,直接用命令行就可以了,
xinetd -f /etc/xinetd.conf -stayalive -pidfile /var/run/pidfile
- SANE的移植过程(针对s3c2410)
- linux2.6.22.6中针对s3c2410的LCD驱动移植
- s3c2410上mplayer的移植过程
- 基于ARM S3C2410的TSLIB1.4的移植过程详解
- qtopia-2.2.0在S3C2410上的移植过程
- uboot 在 ARM s3c2410 上移植过程
- uboot 在 ARM s3c2410 上移植过程
- uboot 在 ARM s3c2410 上移植过程
- uboot 在 ARM s3c2410 上移植过程
- uboot 在 ARM s3c2410 上移植过程
- S3C2410上Jffs2的移植
- S3C2410上Jffs2的移植
- S3C2410上Jffs2的移植
- S3C2410上Jffs2的移植
- 基于S3C2410的Linux移植
- 基于S3C2410的VIVI移植
- MiniGUI在S3C2410上的移植
- 基于S3C2410的Linux全线移植文档
- 深入了解JSF
- 第5章 关系数据理论 练习
- textarea--输出选择行之前的所有文本(倒序)
- CTypedPtrMap模板类的用法
- 第4章 关系系统及其查询优化 练习
- SANE的移植过程(针对s3c2410)
- 第2章 关系数据库 练习
- FINAL修饰符的使用
- 第1章 绪论 练习
- 关于手机开发的一些比较基础的知识
- tomcat的环境变量
- vista 想说爱你,可是不那么容易
- 东写西读:《影响力》——人为什么犯贱
- js 去掉空格键 和 js过滤特殊字符