制作tiny4412交叉编译器
交叉编译器介绍链接:https://blog.****.net/pengfei240/article/details/52912833
crosstool-ng-1.22.0.tar.bz2工具链接:https://download.****.net/download/fengfeng0328/10455352
制作完成的工具链开源给大家使用:https://download.****.net/download/fengfeng0328/10455412
交叉编译器是与平台处理器密切相关,交叉编译工具链的好坏会直接影响程序的性能,以tiny4412开发板为例制作自己的交叉编译工具链流程:(需要联网)
1.配置、安装crosstool-ng(过程会出现依赖,自行安装所需依赖项)
$ sudo apt-get install gperf
$ sudo apt-get install bison
$ sudo apt-get install flex
$ sudo apt-get install texinfo
$ sudo apt-get install help2man
$ sudo apt-get install gawk
$ sudo apt-get install libtool
$ sudo apt-get install automake
$ sudo apt-get install libncurses5-dev
$ tar -jxvf crosstool-ng-1.22.0.tar.bz2
$ cd crosstool-ng/
$ ./configure --prefix=/home/zifeng/sources/crosstool/ctool
$ make /*运行Makefile*/
$ make install /*安装*/
2.配置交叉编译器
$ cd /home/zifeng/sources/crosstool/ctool/bin
$ ./ct-ng list-samples /*查看可选默认配置*/
$ ./ct-ng arm-unknown-linux-gnueabi /*使用这种配置*/
$ ./ct-ng menuconfig /*GUI图形配置*/
3.制作交叉编译器(需要sudo apt-get install g++,binutils-2.22.tar.xz可能出错)
$ cd /home/zifeng/sources/crosstool/ctool/bin
$ sudo chmod 777 /opt /*获得权限*/
$ ./ct-ng build /*开始制作交叉编译器*/
4.建立软链接
$ cd /opt/crosstool/4.8.5/bin/
$ for file in addr2line aras c++ cc c++filt cpp ct-ng.config elfedit g++ gcc gcc-4.8.5 gcc-ar gcc-nmgcc-ranlib gcov gdb gprof ld ld.bfd ldd ld.gold nm objcopy objdump populateranlib readelf size strings strip
$ do
$ sudo ln -s arm-zifeng-linux-gnueabi-$file arm-linux-$file
$ done
5.添加环境变量PATH
$ sudo gedit /etc/profile
$ export PATH=/opt/crosstool/4.8.5/bin:$PATH /*在文件最后一行添加*/
$ source /etc/profile /*使立即生效*/
6.交叉编译测试、交叉调试测试