算能SoC盒子交叉编译操作步骤
一 环境准备
- 下载交叉编译环境gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu,解压到文件夹/data/toolchains/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu
- 下载bmnnsdk2-bm1684_v2.6.0,解压到文件夹 /media/lanplus/CL/AIBOX/bmnnsdk2-bm1684_v2.6.0
- 新建 se-build-server.yml文件输入
version: "3.3"
services:
se-build-server:
image: huangzhenming/se-build-server:V1.0
container_name: sophon_build
privileged: true
network_mode: host
restart: always
volumes:
- /data/your_working_dir:/workspace
- /data/toolchains/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu:/toolchains
- /media/lanplus/CL/AIBOX/bmnnsdk2-bm1684_v2.6.0:/bmnnsdk2
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
command: ["/bin/ping", "localhost"]
user: linaro
working_dir: /workspace
environment:
- "PATH=$PATH:/toolchains/bin"
4.新建 run.sh文件,输入
#!/bin/bash
docker-compose -f se-build-server.yml --compatibility up -d
5.新建 stop.sh文件,输入
#!/bin/bash
docker-compose -f se-build-server.yml rm -sf
6.为shell脚本添加可执行权限,并且运行dokcer image。在 shell 里执行以下命令
chmod +x *.sh
./run.sh
二 进入docker
1.解压qtbase-5.14.tgz,解压后生成文件夹install
2.进入到.pro文件夹,编译生成MakeFile
./install/bin/qmake SophonOS.pro -spec linux-aarch64-gnu-g++ CONFIG+=qtquickcompiler
3.生成执行文件
make
二 运行
1.将执行文件拷贝至盒子
2.新建run.sh,输入
#!/bin/sh
export QTDIR=/usr/lib/aarch64-linux-gnu #qtsdk在系统上的路径
export QT_QPA_FONTDIR=$QTDIR/fonts #字体文件目录
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/qt5/plugins/
export LD_LIBRARY_PATH=/system/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fl2000-0 #framebuffer基于fl2000驱动,QT运行要打开的设备节点
export QWS_MOUSE_PROTO=/dev/input/event3 #鼠标设备
./SophonOS #QT程序
3.将执行文件拷贝到盒子中运行
chmod +x *.sh
./run.sh