交叉编译环境搭建
1. 准备好交叉编译工具链 arm-linux-gcc-4.3.2.tgz ,并放到ubuntu linux 系统中
我是通过在windows 上建立共享文件,与虚拟机中的linux 系统进行共享,
首先在windows 下创建共享文件夹(不懂请百度),然后在虚拟机上设置
虚拟机-》设置-》选项-》共享文件夹,然后把启用勾上,并选择路径为刚才在windows
上建立的共享文件夹,之后启动ubuntu 系统,cd /mnt/hgfc/ 就可以看到有共享目录和里面的内容
2. 解压,安装交叉编译工具链
Mkdir /usr/local/arm 创建一个目录,然后把工具链 arm-linux-gcc-4.3.2.tgz 移到该目录中,
Tar -zxvf arm-linux-gcc-4.3.2.tgz 用命令在当前目录解压,会有新目录4.3.2 ,记下它的路径
3. 设置环境变量
Sudo vi /etc/profile 进入该文件,并在最后添加一句 export PATH= $PATH:/usr/local/arm/4.3.2 (这个是刚才解压后的路径,根据实情写对路径),然后保存退出,就可以了。
4. 重启动 /etc/profile 文件
Source /etc/profile 用该命令重启动 脚本
5. arm-linux-gcc -v 验证是否安装成功(如果你的ubuntu是64 位的,有可能提示错误:****not found, 需要自己安装32位的库:arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2),也可以写个简单的hello world 程序,用arm-linux-gcc 进行编译来验证是否安装成功。
6. 把用arm-linux-gcc 编译好的可执行文件,移植到开发板上运行。(这里有很多种方法,ftp传输,串口传输,sd卡拷贝等,我使用的是把ubuntu系统中的/home 挂载到开发的/tmp 目录下,然后直接把可执行文件拷贝过去就行)
1》.在ubuntu 上安装nfs 网络文件系统:
Sudo apt-get install nfs-kernel-server nfs-common
Sudo vi /etc/exports 在该文件末尾添加一句 / *(rw,sync,no_root_squash)
Sudo service nfs-kernel-server restart 重启服务生效
2. 分别设置ubuntu系统 和开发板网卡的ip 地址,让他们在同一个网段,例如
在unbuntu 系统中,设置网卡eth0
Ifconfig eth0 10.1.1.3 netmask 255.255.255.0
在arm 开发板上,设置网卡eth0 (这两个网卡通过网线直连)
Ifconfig eth0 10.1.1.2 netmask 255.255.255.0
然后互相ping 一下看是否已经想通了。
3. 把ubuntu 系统中/home 挂载到arm 开发板上
Mount -o nolock 10.1.1.3(ubuntu的ip地址):/home /tmp
然后进入开发板的/tmp 目录中就 相当于进入了ubuntu 系统的/home 中(对比一下,是否相同,)
4.在开发板上进行cp 操作, 把在linux ubuntu 系统下用arm-linux-gcc 编译好的可执行文件复制到
开发板上,就可以运行了。
参考网址: http://www.linuxidc.com/linux/2013-06/85902.htm