本帖最后由 Adrain_shine_3005336 于 2017-3-19 23:35 编辑
要进行基于Linux系统进行嵌入式开发,首先需要安装交叉编译器。如何在宿主机编译程序,然后传到ARM开发板上运行,即交叉编译。 在PC上,用gcc编译生成的程序,在ARM是不能运行的,因为ARM上运行的二进制机器码是基于ARM指令集的,而GCC在PC编译出来的是基于X86的指令集,自然ARM上不能运行。要使得PC上编译出的程序在ARM上可以运行,则需要在PC上安装交叉编译器。使用交叉编译链arm-Linux-gcc对程序进行编译。交叉编译链运行在宿主机上,这里使用的是ubuntu14.04的笔记本电脑。 交叉编译之前,首先需要安装交叉工具链,电鱼派的交叉工具链可以在提供的百度云盘中获得。使用如下步骤:
1 下载交叉工具链:arm-linux-gcc-4.6.1-dianyu.tar.gz
2 解压工具链:目录可以任意指定但是需要在后面的环境变量中设置
3 添加环境变量:在/root/.bashrc中添加工具链所在目录
将交叉编译器的bin目录加入到环境变量中,只需要将该绝对路径加入到.bashrc中最后一行:
export PATH=$PATH:/dianyupai/arm-linux-gcc-4.6.1-dianyu/bin
在终端键入source /root/.bashrc 或者重新启动Unbuntu 使得刚才的设置的环境变量生效
4 查看是否设置成功:终端键入 arm-none-linux-gnueabi-gcc -v 如果出现:bash:no **********such file or dictionary之类的话,如下图所示:
主要是因为安装GCC4.7之前的版本的话,64位的系统一定要安装32位的库
终端输入命令:sudo apt-get install ia32-libs
完成之后可以查看版本:
5 测试HelloWord 查看:
用gedit编写一个Hello.c 文件
工具准备好之后,开始在宿主机进行程序编译,写一个hello.c文件,用arm-linux-gcc进行编译,生成hello文件。下一步就是将该hello文件传到ARM板上运行。
6 通过NFS(网络文件系统)在PC和ARM之间进行挂载PC上的共享目录为/home/tong/Work,将编译后的hello文件拷贝到共享目录,在ARM终端上使用mount命令挂载PC的共享目录到ARM开发板上的/mnt 下。过程如下图所示:
整个交叉编译环境就搭建好了,这个是编写各种电鱼派应用程序以及内核驱动程序的基础,后面就可以畅游在电鱼派的海洋啦。。。。。。。。 |