安装前的絮叨
首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。
交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。
那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
安装步骤
1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。
2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图
通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住,如下图
3、接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim /etc/profile 编辑profile文件,添加环境变量。
在profile中最后一行添加: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin 这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行
编写完保存就好了
4、使用命令:source /etc/profile 使环境变量生效
5、在终端上输入命令 arm-linux 再按Tab键,可以看到下图,说明环境变量设置成功了
6、使用命令:arm-linux-gcc -v 会出现下面的错误提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
说是出现这种问题的原因是由于Ubuntu12.04用的是64位的,解决方法就是使用命令:sudo apt-get install ia32-libs 装一些32位的库
7、待安装完32位的库之后,再使用命令:arm-linux-gcc -v,这一次就成功了,如下图
8、验证,编译一个hello.c文件
使用命令:arm-linux-gcc hello.c -o hello 看是否编译成功
可见成功生成了二进制文件。
关键字:Ubuntu 交叉编译环境 arm-linux-gcc
引用地址:
Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
推荐阅读最新更新时间:2024-11-07 09:49
STM32高级开发(4)-ubuntu的简介和命令
在也许大家历经了诸多困难终于安装并设置好了系统平台。但是在新的系统下两眼一抹黑,不知道怎么用,我们接下来便来介绍一些ubuntu的基础特性、操作和终端的基础指令,来为接下来的编程开发做好铺垫。 Ubuntu GUI的基础设计理念 首先记住这个:Linux的核心思想即一切皆是文件,设备是文件,系统是文件。比如在我们插入一个USB设备,/etc的目录下多一个USB设备的文件夹。而对USB所有的操作都是通过读写这个文件进行。 可以说ubuntu的操作和显示基本上是融合了OSX 和windows两者的特性。 ubuntu下,基础的双击打开、右键是菜单,这些操作与windows和OSX基本是无异的。 窗口的放大缩小与关闭在左
[单片机]
arm-linux-gcc和简单的makefile
gcc常用选项 gcc 的使用方法: gcc 文件名 -v:查看gcc编译器的版本,显示gcc执行时的详细过程 -o :指定输出文件名为file,不用与编译文件同名 -E: preprocess only; do not compile, assemble or link(只预处理,不会编译、汇编、链接) -S:Compile only; do not assemble or link(只编译需要有已经预处理完成的输出文件,不会汇编和链接) -c:Compile and assemble, but do not link(预处理 编译和汇编,不会链接) gcc编译文件 gcc hello.c :直接默认生成一个a.out文件 g
[单片机]
Ubuntu筹资失败不放弃 CEO称2014年推出手机
腾讯数码讯(编译:郑双艳)对于那些已经期待Ubuntu Edge手机上市的消费者来说,募资3200万美元目标的失败或许让大家感到非常失望,不过现在似乎又有一个好消息来到了大家的面前。Canonical公司首席执行官Jane Silber在接受CNET的采访时表示该公司依然计划在2014年将一款搭载Ubuntu系统的手机推向市场。因为Canonical公司依然决心继续推动移动技术的拓展,尤其是它要推广的手机与桌面合一的操作系统观念,以此来与Android手机操作系统相抗衡。 Jane Silber向CNET表示:“我认为我们将在2014年第一季度推出的首款Ubuntu系列手机并不会拥有完整的手机与桌面合一的操作系统体验,毕竟
[手机便携]
Tiny4412在Ubuntu下给MiniTools添加快捷方式
root@ubuntu:~/tiny4412/MiniTools-20140317# ls -l total 38008 -rw-r--r-- 1 root root 10716 Mar 29 2013 icon.png -rwxr-xr-x 1 root root 9895 Sep 12 2013 language-cn.qm -rwxr-xr-x 1 root root 37878393 Mar 17 2014 MiniTools -rwxr-xr-x 1 root root 1010312 Mar 17 2014 MiniTools_x64 -rwxr-xr-x 1 root root 292 May 15 201
[单片机]
Ubuntu公布网球机器人Tennibot视频 可以胜任球童的捡球工作
近日,Canonical公司旗下的操作系统Ubuntu官博分享了一段有关预装机器人--Tennibot的视频。在该段视频中,机器人Tennibot表现出色,能够熟练地完成球场捡球的任务。 从视频来看,Tennibot并非一款颠覆性的产品。但Canonical公关兼物联网和设备全球主管Sarah Dickinson表示,Tennibot是全球首款网球收集机器人,它也可以被看作是自动化的球童。这样运动员不用把时间浪费在捡球上面,从而可以更加集中精力打球。Tennibot将让赛场球童成为过去式,每年节省的此方面的经费可达数千美元。如此一来小小捡球机器人将帮助政府组织节省一大笔多余的开支。 如果Tennibot在将来被广泛应用到运动赛
[机器人]
Ubuntu智能手机有望2014年在中国上市
Canonical CEO薛宝珍(Jane Silber) 搭载Ubuntu系统的工程样机 罗亮 发自美国拉斯维加斯 新浪科技讯 北京时间1月10日下午消息,开源操作系统Ubuntu运营公司Canonical CEO薛宝珍(Jane Silber)在2013年美国消费电子展上表示,公司期望未来两年内使用Ubuntu手机操作系统的用户可以超过2000万。 1月3日,Canonical对外发布了Ubuntu手机操作系统,迅速引起了业内关注。在2013年美国消费电子展上,Canonical CEO薛宝珍接受了新浪科技专访。 薛宝珍表示,Canonical正在挑选硬件合作伙伴,预计最快2013年年底将会有搭载
[手机便携]
【嵌入式】arm-linux-gcc/ld/objcopy/objdump参数概述
arm-linux-gcc -o 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 -Wall 指定产生全部的警告信息 -O2 编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高 -c 表示只要求编译器进行编译,而不要进行链接,生成以源文件的文件名命名但把其后缀由 .c 或 .cc 变成 .o 的目标文件 -S 只激活预处理和编译,就是指把文件编译成为汇编代码 arm-linux-ld 直接指定代码段,数据段,BSS段的起始地址 -Ttest startaddr -Tdata startaddr -Tbss startaddr
[单片机]
Ubuntu下Eclipse搭建ARM开发环境
第一步:安装JRE 和 Eclipse 详细步骤请参考:http://blog.csdn.net/ex_net/article/details/7251664 第二步:安装 arm -linux-gcc 和 arm-linux-g++ (1)复制 arm-linux- gcc -4.3.2.tgz 到 /home/tools 目录下,然后解压缩到 根目录下 / # tar -xvzf arm-linux-gcc-4.3.2.tgz -C / (2)修改环境变量 # gedit /etc/environment 向该配置文件加
[单片机]