虚拟机与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

 

int main(void)

{

      printf("hello world\n");

      return 0;

}

2、交叉编译:

arm-none-linux-gnueabi-gcc -o arm_hello hello.c

3、拷贝到/opt/rootfs

cp arm_hello /opt/rootfs

4、在开发板中执行:

[root@farsight /]# ./arm_hello

转载于:https://www.cnblogs.com/MEIRUHUA/p/10289654.html

你可能感兴趣的:(虚拟机与ARM之间的交叉编译总结)