#LaoWu learns to Embedded#交叉编译环境
2013-03-17 18:20
197 查看
这个周末都在弄交叉编译,就是想把一个 helloworld 丢到6410上运行起来,就这么一个简单的目标,搞了快2天,出个各种各样问题。
首先说明一下交叉编译的意思:
win 7 ------ ubuntu 12.04(虚拟机) ----- 6410
win7和ubunt都是X86体系结构下的,6410是arm体系结构下的。
但我们不在6410下直接敲代码编译,而是在ubuntu下编程编译,所以在x86体系结构下编译arm体系结构下可运行程序,就是“交叉”编译。
然后是文件在三个系统下的传输:win7和ubuntu虚拟机用的是共享windows文件夹,因为对设置win7共享文件夹不熟,ubuntu10.10 ubuntu12.04一直连不到win7“共享了的”文件夹,最后发现问题的是没有取消win7共享文件夹的密码验证:“控制面板”->“网络和Internet”->“网络和共享中心”->“更改高级共享设置”->“密码保护的共享”->“密码保护的共享”。
其实win7和ubuntu虚拟机的文件传输也可以通过secureCRT的sftp来进行,稍微麻烦下不比共享文件夹的直接拖拽。
ubuntu虚拟机到6410是用nfs,本次操作还未处理到,下次折腾nfs。
win7到6410文件传输可以通过secureCRT可以通过ZModem,速度是慢点,但是传输编译好的arm可执行文件绰绰有余了。
部署交叉编译环境:
ubuntu 12.04交叉编译器(arm-linux-gcc-4.5.1)
Step1: 将 光 盘 Linux 目录中的 arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 复制到 ubuntu
某个目录下如 tmp/,然后进入到该目录,执行解压命令:
#cd /tmp
#tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。
执行该命令,将把 arm-linux-gcc 安装到/opt/FriendlyARM/toolschain/4.5.1 目录。
Step2:把编译器路径加入系统环境变量,运行命令
#gedit /root/.bashrc
编辑/root/.bashrc 文件,注意“bashrc”前面有一个“.” ,修改最后一行为 export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin,注意路径一定要写对,否则将不会有
效。 保存退出。
重新登录系统(不必重启机器,开始->logout 即可),使以上设置生效,在命令行输入
arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。
然后就可以在ubuntu下交叉编译程序,把编译好的可执行文件传输到6410,chmod然后执行,6410显示"Hello World"。
成功!
首先说明一下交叉编译的意思:
win 7 ------ ubuntu 12.04(虚拟机) ----- 6410
win7和ubunt都是X86体系结构下的,6410是arm体系结构下的。
但我们不在6410下直接敲代码编译,而是在ubuntu下编程编译,所以在x86体系结构下编译arm体系结构下可运行程序,就是“交叉”编译。
然后是文件在三个系统下的传输:win7和ubuntu虚拟机用的是共享windows文件夹,因为对设置win7共享文件夹不熟,ubuntu10.10 ubuntu12.04一直连不到win7“共享了的”文件夹,最后发现问题的是没有取消win7共享文件夹的密码验证:“控制面板”->“网络和Internet”->“网络和共享中心”->“更改高级共享设置”->“密码保护的共享”->“密码保护的共享”。
其实win7和ubuntu虚拟机的文件传输也可以通过secureCRT的sftp来进行,稍微麻烦下不比共享文件夹的直接拖拽。
ubuntu虚拟机到6410是用nfs,本次操作还未处理到,下次折腾nfs。
win7到6410文件传输可以通过secureCRT可以通过ZModem,速度是慢点,但是传输编译好的arm可执行文件绰绰有余了。
部署交叉编译环境:
ubuntu 12.04交叉编译器(arm-linux-gcc-4.5.1)
Step1: 将 光 盘 Linux 目录中的 arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 复制到 ubuntu
某个目录下如 tmp/,然后进入到该目录,执行解压命令:
#cd /tmp
#tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。
执行该命令,将把 arm-linux-gcc 安装到/opt/FriendlyARM/toolschain/4.5.1 目录。
Step2:把编译器路径加入系统环境变量,运行命令
#gedit /root/.bashrc
编辑/root/.bashrc 文件,注意“bashrc”前面有一个“.” ,修改最后一行为 export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin,注意路径一定要写对,否则将不会有
效。 保存退出。
重新登录系统(不必重启机器,开始->logout 即可),使以上设置生效,在命令行输入
arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。
然后就可以在ubuntu下交叉编译程序,把编译好的可执行文件传输到6410,chmod然后执行,6410显示"Hello World"。
成功!
相关文章推荐
- Qt交叉编译环境-undefined reference to `inotify_init1@GLIBC_2解决
- #LaoWu learns to Embedded# ubuntu 12.04 配置 nfs
- #LaoWu learns to Embedded#串口输入输出
- #LaoWu learns to Embedded# nfs 启动tiny6410 linux
- Windows下Cocos2dx-3.10的Android交叉编译环境搭建
- QT环境搭建: QT玩转在linux的x86平台或者ARM平台上 - (2)交叉编译移植到ARM下
- Qt-Embedded4.5 for linux交叉编译
- 建立arm-linux-gcc交叉编译环境
- [树莓派2]--arm-linux交叉编译环境的建立
- 用Eclipse和GDB构建ARM交叉编译和在线调试环境
- Windows 7环境下搭建Cocos2d-x 3.3环境并配置Android交叉编译环境
- Udacity cs344-Introduction to Parallel Programming学习笔记-如何在VS环境下编译课程习题代码
- 用Eclipse和GDB构建ARM交叉编译和在线调试环境
- 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)
- Openwrt 交叉编译环境的配置 linux
- 如何搭建交叉编译环境
- Unbuntu 14.04 64位 搭建交叉编译环境
- 在linux下使用crosstool制作自己的arm交叉编译环境
- 在Ubuntu中搭建Qt Creator对BBB的交叉编译环境
- ARM Linux教程之四:安装交叉编译环境