aarch64交叉編譯dfu-programmer


這里需要說明一下的是dfu-programmer的編譯需要依賴於libusb-1.0庫,需要先交叉編譯usblib-1.0庫。

交叉編譯usblib-1.0

usblib-1.0源碼下載:
https://github.com/libusb/libusb/releases

cd /root/
tar -xvf libusb-1.0.23.tar.bz2
cd libusb-1.0.23/
mkdir build
./configure --host=aarch64-linux-gnu --prefix=/root/libusb-1.0.23/build/ CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++

這時會報如下錯誤:

configure: error: udev support requested but libudev header not installed

在configure里面加上--disable-udev選項,重新配置。

./configure --host=aarch64-linux-gnu --prefix=/root/libusb-1.0.23/build/ CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ --disable-udev

配置成功后依次執行:

make 
make install

在/root/libusb-1.0.23/build/lib/目錄下會生成libusb的動態庫。

[root@jz4775dev]# ls build/lib/
libusb-1.0.a  libusb-1.0.la  libusb-1.0.so  libusb-1.0.so.0  libusb-1.0.so.0.2.0  pkgconfig

 

交叉編譯dfu-programmer

dfu-programmer源碼下載: https://github.com/dfu-programmer/dfu-programmer

cd /root/
unzip dfu-programmer-master.zip
cd dfu-programmer-master
mkdir build
./configure --prefix=/root/dfu-programmer-master/build/ --host=aarch64-linux-gnu CC=aarch64-linux-gnu-gcc LDFLAGS=-L"/root/libusb-1.0.23/build/lib/"  CPPFLAGS=-I"/root/libusb-1.0.23/build/include"
make
make install

這時在/root/dfu-programmer-master/build/bin/目錄下會生成dfu-programmer二進制文件。

[root@jz4775dev]# file build/bin/dfu-programmer 
build/bin/dfu-programmer: ELF 64-bit LSB  executable, ARM aarch64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.7.0, BuildID[sha1]=a0

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM