应项目需求,测试多路摄像头,需要测试程序移植到Arm机上,比如写的人脸识别算法,视频多拍等,那如何进行移植,如何操作呢,本篇文章进行详细阐述。
本次移植为c/c++程序通过arm-linux-gnueabihf 在Ubuntu18上编译,连接usb线,接到Arm机板子上。
下面进行相应实验。
交叉编译器安装如下:
sudo apt install g++-arm-linux-gnueabihf
指定版本:
sudo apt install g++-8-arm-linux-gnueabihf
这里就不写什么C/C++程序了,直接编译程序,假设程序名字为main.cpp,编译命令如下:
arm-linux-gnueabihf-g++-8 -static -o main1 main.cpp
一定要加上 -static 静态链接的选项,不然编译出来的a.out执行不了
将Android设备需要连上电脑,然后通过下面的步骤重新挂载Android为可读写的
adb root # 该命令需要手机已经root
adb remount
adb shell "mount -o rw,remount /system" # rw 表示挂载为可读写read/write
使用adb将main上传到arm上:
adb push main1 /data/
然后运行
adb sehll
进入Linux后,进入data目录下,并运行刚才的程序:
cd data
chmod 777 main1
./main1
这样移植程序,就成功了。
比如我想将采集的图片导入本机,那下载就行了,输入下面命令:、
adb pull /data/yuv