一、開發環境
硬件環境:DM365
打印機型號:HP P1007
虛擬機系統:Red Hat Enterprise Linux 5
交叉編譯環境:Ti交叉編譯環境安裝包
二、詳細步驟
1.下載Ghostscript 9.01
2.解壓,tar xzvf ghostscript-9.01.tar.gz
3.執行cd ghostscript-9.01
4.執行./configure
5.執行make,生成x86下的gs,在源代碼的bin目錄下
6.解壓,mkdir ghostscript-9.01.arm tar xzvf ghostscript-8.15.tar.gz -C ghostscript-9.01.arm
7.進入ghostscript-9.01.arm,執行./configure --host=arm_v5t_le --prefix=/opt/printer(注:如果是在三星的板子上,修改--host=arm_linux)
8.執行make ,出錯,復制ghostscript-9.01/obj目錄下的mkromfs可執行文件拷貝到ghostscript-9.01.arm/obj目錄下
9.重新執行make編譯生成bin/gs,有17M的大小,再執行make install,將bin/gs拷貝到開發板中/bin目錄下
10.在開發板中執行gs -h(x86下編譯出來的gs),可獲取gs的幫助信息,從中了解到相應支持的打印機的類型
11.將虛擬機中的/opt/printer,拷貝到開發板中相應的目錄下。將源代碼中的./Resources/Font拷貝到開發板中的/opt/printer1/share/ghostscript/9.01/Resource/Font下
12.虛擬機中執行arm_v5t_le-ldd bin/gs,查看可執行文件依賴的庫文件,並將依賴的庫文件拷貝到開發板中
13.下載foo2zjs
14.執行:tar zxf foo2zjs.tar.gz,cd foo2zjs ,make,並將生成的arm2hpdl保存下來
15.修改Makefile,使得CC=arm_v5t_le-gcc,執行make,(注:這裡編譯生成的結果是錯誤的,具體解決辦法看下面)
16.配置虛擬機可上網,執行./getweb P1007,下載得到惠普打印機P1007的固件sihpP1005.img
17.將步驟14中保存的arm2hpdl替換步驟15編譯生成的arm2hpdl二進制文件,執行./arm2hpdl sihpP1005.img > sihpP1007.dl
18.將foo2xqx及sihpP1007拷貝到開發板文件系統中的/bin目錄下
文中要用到的Ghostscript 9.01與foo2zjs文件下載在Linux公社論壇的1號FTP服務器裡,下載地址:
FTP地址:ftp://www.linuxidc.com
用戶名:www.linuxidc.com
密碼:www.muu.cc
在 2011年LinuxIDC.com\4月\嵌入式Linux系統中打印機驅動的移植
下載方法見 http://www.linuxidc.net/thread-1187-1-1.html