Ubuntu-16.04.6 64位开发环境指导
开发前需要在PC安装好Linux操作系统,推荐使⽤Ubuntu 16.04 64bit发行版
开发环境搭建
需要安装一些常用软件 sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-e ssential chrpath socat libsdl1.2-dev u-boot-tools sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html doc book-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-d ev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
将软件源替换成清华源, 清华源网址如下: https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 选择16.04 ,然后把内容更新到 /etc/apt/source.list 文件中。
- 备份源
cp /etc/apt/sources.list /etc/apt/sources.list-bak
- 复制16.04清华源内容到此/etc/apt/sources.list 文件,更新源
apt-get update
安装交叉编译工具链
到网盘下载fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-4.9.88-2.0.0.sh文件拷贝并解压到你的工作目录下,修改权限、执行脚本
$ chmod a+x fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-4.9.88-2.0.0.sh $ ./fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-4.9.88-2.0.0.sh
串口输出如下信息,安装目录默认为/opt/fsl-imx-xwayland,按回车继续安装
NXP i.MX Release Distro SDK installer version 4.9.88-2.0.0 ========================================================== Enter target directory for SDK (default: /opt/fsl-imx-xwayland/4.9.88-2.0.0):
安装完成后,执行source指令使交叉编译器配置生效,查看交叉编译器版本
$ source /opt/fsl-imx-xwayland/4.9.88-2.0.0/environment-setup-aarch64-poky-linux $ $CC -v
串口输出如下,交叉编译器安装成功
Using built-in specs. COLLECT_GCC=aarch64-poky-linux-gcc COLLECT_LTO_WRAPPER=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/7.3.0/lto-wrapper Target: aarch64-poky-linux Configured with: ../../../../../../work-shared/gcc-7.3.0-r0/gcc-7.3.0/configure --build=x86_64-linux --host=x86_64-pokysdk-linux --target=aarch64-poky-linux --prefix=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr --exec_prefix=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr --bindir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux --sbindir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux --libexecdir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux --datadir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/share --sysconfdir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/etc --sharedstatedir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/com --localstatedir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/var --libdir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/lib/aarch64-poky-linux --includedir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/include --oldincludedir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/include --infodir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/share/info --mandir=/opt/fsl-imx-xwayland/4.9.88-2.0.0/sysroots/x86_64-pokysdk-linux/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/home/duxy/linux_4.9.88_2.0.0/build-ori-wayland/tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-aarch64/7.3.0-r0/recipe-sysroot --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=aarch64-poky-linux- --without-local-prefix --enable-lto --enable-libssp --enable-libitm --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --without-isl --with-gxx-include-dir=/not/exist/usr/include/c++/7.3.0 --with-build-time-tools=/home/duxy/linux_4.9.88_2.0.0/build-ori-wayland/tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-aarch64/7.3.0-r0/recipe-sysroot-native/usr/aarch64-poky-linux/bin --with-sysroot=/not/exist --with-build-sysroot=/home/duxy/linux_4.9.88_2.0.0/build-ori-wayland/tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-aarch64/7.3.0-r0/recipe-sysroot --without-long-double-128 --enable-poison-system-directories --with-mpfr=/home/duxy/linux_4.9.88_2.0.0/build-ori-wayland/tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-aarch64/7.3.0-r0/recipe-sysroot --with-mpc=/home/duxy/linux_4.9.88_2.0.0/build-ori-wayland/tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-aarch64/7.3.0-r0/recipe-sysroot --enable-nls --enable-initfini-array --enable-__cxa_atexit Thread model: posix gcc version 7.3.0 (GCC)