新唐nuc980的交叉编译安装全过程(ubuntu18 & ubunt16)
新唐nuc980的交叉编译资源
1). 安装过程:
$ tar zxvf nuc980bsp.tar.gz
$ cd nuc980bsp
$ sudo ./install.sh
Now installing arm_linux_4.8 tool chain to /usr/local
Setting tool chain environment
Installing arm_linux_4.8 tool chain successfully
Install rootfs and pre-build image
Please enter absolute path for installing(eg:/home/<user name>) :
BSP will be installed in /<path you input>
/opt/nuc980bsp
Create /opt/nuc980bsp
/opt/nuc980bsp/nuc980bsp
./install.sh: line 153: Check: command not found
Extract rootfs and pre-built images
NUC980 BSP installation complete
2). 安装后查看资源:
$ ls /opt/nuc980bsp/nuc980bsp/
image/ rootfs/
$ ls /usr/local/arm_linux_4.8/ #脚本自动安装的交叉编译路径
arm-nuvoton-linux-uclibceabi bin i686-pc-linux-gnu include lib libexec sbin share usr
3). 安装补丁 和 注意事项:
1). 更过国内安装源的,请更换为ubuntu安装源(可网上自行搜索 ubuntu安装源 );
常见错误是安装包无法安装,等类似错误。
2). 目前计算机一般都是64位机,安装ubuntu16 & 18 也是64位,交叉编译环境需要增加如下补丁.
aptitude -y install libc6-dev-i386
aptitude -y install lib32z1
aptitude -y install lib32ncurses5
ubunt16
aptitude -y install ia32_libs /** 注意此版本问题 */
ubunt18
sudo apt-get install lib32stdc++6
否则出现常见错误,类型:
arm-linux-gcc, No such file or directory 类似错误。
libstdc++.so.6: cannot open shared object file: No such file or directory:
原因在于,ubuntu 18.04 版本 ia32_libs 被废弃了导致没有32位的lib库。
4). 配置环境变量:
$ sudo gedit /etc/profile
在文件中增加入选内容:
#nuc980iot cross_compile
export ARCH=arm
export CROSS_COMPILE=/usr/local/arm_linux_4.8/bin/arm-nuvoton-linux-uclibceabi- #缺省安装路径
export PATH=/usr/local/arm_linux_4.8/bin:$PATH #注意注意注意>> :$PATH
5). 验证交叉编译环境:
Using built-in specs.
COLLECT_GCC=arm-nuvoton-linux-uclibceabi-gcc
COLLECT_LTO_WRAPPER=/usr/local/arm_linux_4.8/libexec/gcc/arm-nuvoton-linux-uclibceabi/4.8.4/lto-wrapper
Target: arm-nuvoton-linux-uclibceabi
Configured with: ../configure --prefix=/usr/local/arm_linux_4.8 --target=arm-nuvoton-linux-uclibceabi --enable-static --disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --enable-target-optspace --disable-libsanitizer --enable-tls --disable-libmudflap --enable-threads --without-isl --without-cloog --with-float=soft --disable-decimal-float --with-abi=aapcs-linux --with-cpu=arm926ej-s --with-float=soft --with-mode=arm --enable-languages=c,c++ --enable-poison-system-directories --enable-shared --disable-libgomp --with-sysroot=/usr/local/arm_linux_4.8 --with-build-time-tools=/usr/local/arm_linux_4.8/arm-nuvoton-linux-uclibceabi/bin --enable-shared
Thread model: posix
gcc version 4.8.4 (GCC)
|