虚拟机与ARM之间的交叉编译总结
Posted meiruhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机与ARM之间的交叉编译总结相关的知识,希望对你有一定的参考价值。
通过三大服务的配置,我们可以在ARM中下载内核和文件系统。我们通过在虚拟机中编程,得到的程序不能在ARM中运行,需要经过一个交叉编译。得到的可执行程序可以在ARM中运行,此时不能在虚拟机Linux中运行。
1、将工具链拷贝到/opt下,解压(此/opt在samba中配置成共享文件夹)
sudo tar -xvf toolchain-4.5.1-farsight.tar.bz2
2、进入目录:toolchain-4.5.1-farsight/bin
cd toolchain-4.5.1-farsight/bin
3、执行pwd后,复制下面的路径
/opt/toolchain-4.5.1-farsight/bin
4、在环境变量中增加工具链路径(注意:增加环境变量的时候不能删掉其它的环境变量,不然会造成其它程序不能运行。)
sudo vi /etc/environment
加入 :/opt/toolchain-4.5.1-farsight/bin(接在引号后面),保存退出
5、使生效:
source /etc/environment
查看效果: arm ,之后,双击TAB!
测试:
1、编写hello.c
#include <stdio.h>
int main(void)
{
printf("hello world ");
return 0;
}
2、交叉编译:
arm-none-linux-gnueabi-gcc -o arm_hello hello.c
3、拷贝到/opt/rootfs
cp arm_hello /opt/rootfs
4、在开发板中执行:
[[email protected] /]# ./arm_hello
以上是关于虚拟机与ARM之间的交叉编译总结的主要内容,如果未能解决你的问题,请参考以下文章
关于Linux上的arm-linux交叉编译工具链的问题:但是arm也有很多种啊! 这个工具是对所有的ARM都支持吗?