关于arm-linux-gcc4.4.3在ubuntu11.10下的安装

发布者:atech123最新更新时间:2016-04-22 来源: eefocus 手机看文章 扫描二维码
随时随地手机看文章

呕心沥血翻阅无数资料才看到这个比较有用的,昨晚花了几个钟装4.3.2版本的一直不成功,今天无意在论坛看到这个东西试了一下,还是得花了两三个钟,着实累,但是成功了。听安慰的。
以下装arm-linux-gcc4.4.3这个交叉编译器是参考authorowen这位朋友,以下是该位朋友的博文:

参考了前人的成果,结合自己实践。

1 下载arm-linux-gcc-4.4.3.tgz到任意的目录下,进入这个文件夹

$ sudo tar xvzf arm-linux-gcc-4.4.3.tgz –C /


注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。

执行该命令,将把 arm-linux-gcc 安装到/opt/Friendlyarm/4.4.3 目录。

在/usr/local/下建立 arm的文件夹

mkdir arm

chmod 777 arm

 

然后把 opt下的4.4.3 目录复制到 /usr/local/arm下

 

sudo cp -r /opt/Friendlyarm/4.4.3   /usr/local/arm

 

2.  修改环境变量,把交叉编译器的路径加入到PATH。

 

网上很多修改环境变量的方法,很杂。有 redhat 上面的,federo(是这么写的吧)。下面一共三种方法,我都在UBUNTU11.10上试过,可行。

 

方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
$sudo gedit /etc/bash.bashrc(首都哥用的就是第一种方法,一开始失败,后边不知道怎么的也就成功了)


在最后加上export PATH=$PATH:/usr/local/arm/4.4.3/bin


方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用):


$sudo gedit /etc/profile


增加路径设置,在末尾添加如下,保存/etc/profile文件:
export PATH=$PATH:/usr/local/arm/4.4.3/bin

(没有用过这种)
方法三:修改/etc/environment文件


$sudo gedit /etc/environment


原文件应为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: /usr/games“

                  将其改为

                  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

                 保存退出即可

(有照着操作一遍,后边又给还原了,但是再回归第一种方法时却成功了)

关于路径设置问题,可以 用终端逐步寻找,比如 在 终端下 cd /usr/local/ 用TAB键 一直找到 /bin

关于环境变量问题:

环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.3/bin arm-linux-gcc 文件名 -o 输出文件名 

这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。

 

3. 立即使新的环境变量生效,不用重启电脑:

对应方法一:$ source /root/.bashrc(首都哥用这一种)
对应方法二:$ source /etc/profile
方法三立即生效

 

4. 检查是否将路径加入到PATH:
   $ echo $PATH

显示内容/usr/local/sbin:/usr /local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin 说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。

5. 测试是否安装成功
$ arm-linux-gcc -v
上面的命令会显示arm-linux-gcc信息和版本,这是我显示的信息:
root@ubuntu:/home/berlin# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1) 

 

6.编译Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
$ arm-linux-gcc hello.c -o hello

 

ls 下

看到hello 执行文件

$ file hello  在hello的目录下

可以看到hello: ELF 32-bit LSB executable,ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
这样说明可以在ARM上运行,此时不能在pc上运行
引用地址:关于arm-linux-gcc4.4.3在ubuntu11.10下的安装

上一篇:TQ2440之nand flash读写
下一篇:C程序访问ARM汇编程序中的函数

推荐阅读最新更新时间:2024-03-16 14:51

STM32入门学习之GPIO(STM32F030F4P6基于CooCox IDE)(一)
1、CooCox IDE当前最新版本为V2,不过个人看网上的示例大都是基于旧版本的,个人也试过新版本,发现一些操作还不习惯,在此也还是介绍旧版本1.7.8。 http://www.coocox.org/software/coide.php 2、运行CoIDE,点击菜单栏的Project——New Project,填写项目名称HelloGPIO 3、选择Chip 4、选择ST——STM32F03x——STM32F030F4P6 5、系统将弹出 Repository,这里可直接选择程序需要的库,勾选GPIO,系统将自动勾选RCC、CMSIS BOOT、M0 Cmsis Core等,并直接生成对应 6、打开mai
[单片机]
STM32入门学习之GPIO(STM32F030F<font color='red'>4</font>P6基于CooCox IDE)(一)
3D闪存将优先于RRAM技术进入市场
基于金属氧化物的非挥发性存储器 ──电阻式RAM(RRAM),在11nm节点前不可能进入市场;在此之前,堆叠式浮闸NAND闪存相对较具潜力,而且很可能会朝向2~4Tbit的独立型整合芯片发展,IMEC研究所存储器研究专案总监Laith Altimime说。 Altimime揭示了闪存发展蓝图,并展示在17nm节点采用垂直8层堆叠,从传统浮闸闪存转换到所谓的SONOS闪存。他声称在14nm~11nm节点堆叠数量还可增加到16层。而RRAM要进入实际应用,也必须拥有类似的堆叠架构才能在市场上竞争。SONOS全名为Silicon Oxide Nitride Oxide Silicon(硅-氧-氮化硅-氧-硅)。 IMEC已经和主要的存储
[手机便携]
华为余承东透露:中国L3自动驾驶标准预计6月底出台
6月9日,在2023重庆车展阿维塔科技发布会上,华为常务董事、终端BG CEO、智能汽车解决方案BU CEO余承东表示,中国L3级 自动驾驶 标准预计在6月底出炉。 阿维塔科技亮相2023重庆国际汽车展览会,宣布ADS高阶功能包将于6月30日面向全量用户开启订阅。 ADS高阶功能包涵盖城区智驾领航辅助(City NCA)和代客泊车辅助(AVP),实现了覆盖高速、城区、泊车全场景的点到点全闭环智驾体验。针对不同用户的个性化需求,阿维塔将提供三种订阅模式,分别为订阅(包月)价格640元/月,订阅(包年)价格6400元/年,订阅(永久)价格32000元。
[汽车电子]
华为余承东透露:中国L<font color='red'>3</font>自动驾驶标准预计6月底出台
基于S3C2410的RTC模块应用设计
摘 要:本文简要介绍了S3C2410嵌入式微处理器,分析了RTC(Real-time clock)硬件构架及其工作机理,在此基础上给出了RTC模块的应用功能开发流程及各功能模块的实现。 关键词:S3C2410;RTC 引言 本文在介绍S3C2410的基础上,对RTC内部结构及工作机理进行了分析,最后给出了专用于RTC功能的应用开发。 硬件结构 S3C2410处理器简介 S3C2410是三星公司推出的16/32位RISC微处理器,它是为应用于小型掌上设备和高性价比、低功耗、高性能的嵌入式系统应用而提供的微控制解决方案。S3C2410使用了ARM920T内核。 图1 S3C2410内部RTC模块结构图
[单片机]
Ampleon为5G NR和4G LTE宏基站应用提供紧凑型多级Doherty MMIC驱动器
Ampleon为5G NR和4G LTE宏基站应用提供紧凑型多级Doherty MMIC驱动器,借此扩展无隔离器的6GHz以下产品线 荷兰奈梅亨 – 埃赋隆半导体(Ampleon)利用先进的LDMOS晶体管技术,推出了B11G3338N80D推挽式3级全集成Doherty射频晶体管——该晶体管是GEN11 Macro驱动器系列的载体产品,涵盖所有6GHz以下频段。这种高效的多频段器件覆盖3.3至3.8GHz的频率范围,可实现下一代大功率和具有市场领先效率的宏基站。 该驱动器产品系列采用PQFN 12×7mm²封装,集成了主路和辅路器件、输入功分器、输出功率合成器和每个部分的预匹配。器件的推挽式配置无需级间隔离器,集成的前置
[网络通信]
S5PV210开发 -- TTL和CMOS电平
接着 S5PV210开发 -- UART 详解 来讲,里面提到 TTL和RS232电平。 RS232 电平 逻辑1:-3V~-15V 逻辑0:+3V~+15V TTL 电平 逻辑1:+2V~+5V 逻辑0:+0V~+0.8V 一、什么是逻辑电平 要了解逻辑电平的内容,首先要知道以下几个概念的含义: 1:输入高电平(Vih):保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平。 2:输入低电平(Vil):保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。 3:输出高电平(Voh):保证逻辑门的输出为高电平时的输出电平
[单片机]
S5PV2<font color='red'>10</font>开发 -- TTL和CMOS电平
STM32f103的TFTLCD和FSMC的使用
多功能采集显示平台将通过 STM32 的 FSMC 接口来控制 TFTLCD 的显示,所以本节分为两个部分,分别介绍 TFTLCD 和 FSMC。 TFT -LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT - LCD 与无源 TN - LCD、STN - LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT -LCD 也被叫做真彩液晶显示器。FSMC ( Flexible Static Memory Contr
[单片机]
STM32f<font color='red'>10</font>3的TFTLCD和FSMC的使用
车联网成熟面临三道坎 曝国务院将投100亿
  春节临近,我决定自己开车回家。出发前需要做好准备。在家里的电脑上查询了回家的最佳路线,然后发送给我的汽车,同时把最近要看的电子书、电影和音乐在线同步给它。我在线检查了汽车电量和各个系统的安全参数,将其发送给了无线充电设备。     第二天一大早拎上行李,车子已经打开后备箱在门口等着了。因为我用手机给它下了一个到家接人的指令。我坐进车里,晒着太阳,看看有哪些同行的路人,听着朋友给我的车打电话留言,顺便预订了老家饭馆里的年夜饭,约上了饭后消遣的朋友。     是的,我们不是詹姆斯·邦德,但是都可以拥有一辆007战车,永远在线。以上的描述,并非空穴来风,每一项 技术 目前都有相应的公司在研发,至少也是有这样的战略规划。   
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved