aarch64交叉編譯dfu programmer

2022-05-04 00:45:10 字數 1660 閱讀 9700

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

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

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

aarch64下執行aarch32程式

能否在arm晶元的aarch64模式下執行aarch32的程式呢?f2e4fcbe37df253c60b2ac2de888558e9916dbdb,not stripped 32位arm檔案,有依賴的動態庫,還有乙個直譯器 lib ld 我們稍後再分析 needed libm.so.6 基礎包 ne...

aarch64彙編入門學習 1

藍芽耳機沒電,公司事務較為清閒,再不能看教程的情況下,計畫看下arm64的彙編 可以先寫乙個簡單的helloworld程式試驗一下。如果直接使用c語言,呼叫printf函式,勢必會鏈結c庫,那麼反彙編 將會比較複雜,不利於入門,於是計畫,是否可以直接使用組合語言,來寫個最簡單的程式,輸出hellow...

初探arm與aarch64虛擬化相容心得

armv8主要有三套指令集,依據執行狀態 execution state 的不同可以劃分為 aarch64 aarch64 狀態只支援一套指令集,叫做a64.a64為定長32位的指令集,即每個指令的大小為32bit.指令集手冊 aarch32 aarch32 狀態支援兩套指令集 a32 也是32位定...