交叉編譯 foo2zjs

2021-08-20 01:44:43 字數 1329 閱讀 1660

如果你用的印表機foo2zjs已支援,可以不使用cups,直接用foo2zjs將pbm檔案轉換成印表機支援的流,傳入印表機即可列印。

以惠普的hp1020為例,交叉編譯步驟如下:

#! /bin/sh

## foo2zjs: linux環境下的印表機驅動

#wget &&

# 2.解壓原始碼

tar zxvf foo2zjs.tar.gz &&

# 3.分別拷貝為pc版本和arm版本

cp foo2zjs foo2zjs-arm -r &&

mv foo2zjs foo2zjs-x86 &&

# 4.編譯pc版本

cd foo2zjs-x86 &&

make &&

cd ../ &&

# 5.編譯arm版本

cd foo2zjs-arm &&

make cc=arm-linux-gnueabihf-gcc &&

# 6.使用編譯出來的getweb程式, 得到對應印表機的韌體程式: sihp1020.img

./getweb 1020 &&

# 7.用x86 gcc編譯的arm2hpdl工具將sihp1020.img轉化為sihp1020.dl

cd ../foo2zjs-x86 &&

./arm2hpdl ../foo2zjs-arm/sihp1020.img > ../foo2zjs-arm/sihp1020.dl &&

cd ../ &&

# 8.將生成的sihp1020.dl和foo2zjs拷貝至目標板的檔案系統中

cp foo2zjs-arm/sihp1020.dl /rootfs/usr/share/cups/sihp1020.dl &&

cp foo2zjs-arm/foo2zjs /rootfs/usr/share/cups/foo2zjs &&

# 9.完成

echo "build ok!"

echo

echo

啟動目標板,將韌體寫入印表機, 列印pbm格式檔案:

cat sihp1020.dl /dev/usb/lp0

./foo2zjs -z1 -p9 -r600x600 test.pbm > /dev/usb/lp0

如果是hp laserjet professional p1606dn,因韌體已經固化在機器的flashrom中,直接寫入pbm檔案即可列印:

./foo2zjs -p -z2 -l0 -p9 -r600x600 test.pbm >/dev/usb/lp0

#eof

交叉編譯(2) 交叉編譯鏈

什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...

Python 2交叉編譯

ubuntu osubuntu bin ls arm linux gnueabi addr2line arm linux gnueabi cpp arm linux gnueabi gcc ar arm linux gnueabi gfortran arm linux gnueabi objdump...

iproute2交叉編譯

測試zynq ramdisk平台時發現自帶的busybox無法通過ip命令配置can介面,執行can配置命令 ip link set can0 type can bitrate 100000 會出現以下報錯 ip either dev is duplicate,or type is garbage ...