操作系统:win7(64)
虚拟机:vmware11
虚拟系统:Linux 4.2.0-27-generic 14.04.1-Ubuntu x86_64 GNU/Linux
目标系统:debian armv7l GNU/Linux
交叉编译链
(1)作用
交叉编译是为了在一种平台上能够编译出运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。
(2)armel与armhf
armel是目前主要的ARM ABI,armhf则是armel的一个变种,主要区别在浮点计算上。
需要明确:
arm-linux-gnueabihf-gcc是armhf架构,使用hard浮点模式
arm-linux-gnuabi-gcc是armel架构,使用softfp浮点模式
使用arm-linux-gnueabihf-gcc –v
可查看这些参数
交叉编译链的安装
Notes:安装可以采用终端输入命令,
sudo apt-get install g++-arm-linux-gnueabi
sudo apt-get install gcc-arm-linux-gnueabi
也可以直接官网下载安装包,本人建议后一种方法。
(1) 下载安装包gcc-linaro-a