這裡需要說明一下的是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
配置成功後依次執行:
makemake
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-programmerbuild/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位定...