2015年(109)
分类: LINUX
2015-01-23 16:13:04
原文地址:嵌入式arm usb打印机完整教程 作者:myleeming
嵌入式打印机完整教程:
有很多方案,目前采取的是ghostscript-8.15+foo2zjs的方案,一下内容基于cj的文档。感谢cj之前的工作。
1。 编译foo2zjs
先直接使用gcc编译,直接敲入make指令,一切顺利,然后将其中的arm2hpdl拉出来保存好。
然后交叉编译,这个交叉编译比较简单,修改makefile,使CC=arm-linux-gcc,然后make,一切顺利。
再使用编译出来的getweb程序,命令./getweb 1020得到sihp1020.img(对应hp1020打印机的固件程序)
这时候再用我们刚才用x86 gcc编译的arm2hpdl工具将sihp1020.img转化为sihp1020.dl(这一步非常重要)
将生产的sihp1020.dl和foo2zjs拷贝至开发板端的文件系统中。完成。
2。 编译ghostscript-8.15
编译ghostscript-8.15可参考阿虚的文章http://hi.baidu.com/aokikyon/blog/item/5408e443e176081a73f05d80.html,写的很不错,唯一需要注意的是,最好在configure配置的时候加入--prefix的选项,比如我的是/disk2/printer/ghost-install
编译完成之后,输入make install,所有的文件将会生成灾这个目录底下。
这时候拷贝到开发板端文件系统有一定的讲究,需要同样在开发板端创建一个/disk2/printer/ghost-install,这样运行gs的时候才不会说找不到一些配置的ps文件。
另,交叉编译ghostscript时,你的交叉编译工具最好把jpeg,zlib,png等库都装好。
3。 使用
首先usb的内核选项要加上usb printer这个选项。
插上打印机usb口---》mdev -s重新生产节点----》cp sihp1020.hl /dev/lp0(这一步是加载打印机固件,这时候可以用foo2zjs生成的一个叫usb_printerid的小工具去查看lp0, ./usb_printerid /dev/lp0,如果加载成功能看到固件版本,这时还能听到打印机被驱动的声音)------》利用foo2zjs加载(这部分可参考阿虚的文章,我不重复了)