社区导航

 

搜索
查看: 3672|回复: 10

[原创] BB Black入门基础之交叉编译器的选择安装

[复制链接]

1739

TA的帖子

24

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2014-1-1 10:52 | 显示全部楼层 |阅读模式
本帖最后由 lonerzf 于 2014-1-3 07:51 编辑 本文总结自以下几篇相关文献资料,如有出入,请以原文为准。 参考文章: https://blogs.oracle.com/jtc/entry/is_it_armhf_or_armel https://wiki.debian.org/ArmHardFloatPort http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf/ Beaglebone Black是使用了AM3359芯片,属于armv7架构,这个应该都清楚。 出于种种原因,如低功耗、封装限制等原因,之前ARM架构的一些处理器因为内部资源宝贵,加入浮点运算单元是十分奢侈的,额外的软件仿真是必需的。随着科技的进步,目前的高端ARM处理器具备了硬件执行浮点操作的能力,这两种架构之间的差异就产生了两个不同的嵌入式应用程序二进制接口——软浮点与矢量浮点(VFP)。但是软浮点(soft float)和硬浮点(hard float)之间有向前兼容却没有向后兼容的能力,也就是软浮点的二进制接口(EABI)仍然可以用于当前的高端ARM处理器。 之前EABI中,armel(低端ARM硬件,支持armv4以上版本),在执行浮点运算之前,浮点参数必须首先通过整数寄存器,然后传递到浮点运算单元。新的EABI ,也就是armhf,通过直接传递参数到浮点寄存器优化了浮点运算的调用约定。 相比我们熟悉的armel,armhf代表了另一种不兼容的二进制标准。在一些社区的支持下,armhf目前已经得到了很大的发展。像Ubuntu,已经计划在之后的发行版中放弃armel,转而支持armhf编译的版本。正如目前依然很火热的Raspberry Pi,由于ubuntu只支持armv7架构的编译,Raspberry Pi将不能直接安装ubuntu系统。而我们使用的BB Black则同时支持ubuntu的armel与armhf的编译。 以上就是armel与armhf的比较。相信大家也应该有个大概的了解了。在Ubuntu系统下,可根据不同需求分别实现两种交叉编译器的安装。 1) arm-linux-gnueabi的安装
  1. sudo apt-get install gcc-arm-linux-gnueabi #注意是ubuntu12.04版本的,如之前命令无效,试试 apt-get install gcc-4.6-arm-linux-gnueabi .
复制代码
按操作下载即可,没啥好说的。 2) arm-linux-gnueabihf的安装 这个也方便,linaro开源组织有相关的交叉工具链下载。点击进入网页选择下载即可。也可以获取我已经下载好的 资源中心下载。 然后就是解压到自定义目录中,并添加bin环境变量。不清楚的参照我的另一帖子,环境变量的设置。 有的人可能会问,怎么知道自己是要 arm-linux-gnueabihf还是 arm-linux-gnueabi呢?用这个楼主就不知道了,自己把握吧,一般咱们直接用arm-linux-gnueabihf就行啦。虽然我的机子上用arm-linux-gnueabi 编译略快一些。。。 好了,就到这里吧,祝论坛更红火,大家新年快乐!

评分

1

查看全部评分

这孩子,成熟的象征,理智的典范。


回复

使用道具 举报

27

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-1-2 15:34 | 显示全部楼层
这个得顶一个


回复

使用道具 举报

27

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-1-2 15:57 | 显示全部楼层
sudo apt-get install gcc-arm-linux-gnueabi
楼主 这个找不到软件包  ubuntu

点评

那你试试下图这样 [attachimg]139645[/attachimg]  详情 回复 发表于 2014-1-2 20:06


回复

使用道具 举报

1739

TA的帖子

24

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2014-1-2 20:06 | 显示全部楼层
wk123 发表于 2014-1-2 15:57
sudo apt-get install gcc-arm-linux-gnueabi
楼主 这个找不到软件包  ubuntu


那你试试下图这样
无标题.png
这孩子,成熟的象征,理智的典范。


回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-3-9 17:47 | 显示全部楼层
这个 我安装完了,怎么用呢,小白一个,比如怎么用1)方法安装的编译器编译内核,按1)方法下载的软件 安装到哪里了?各种问题不明白呀!!

点评

1方法呢,安装后就在跟gcc一样的路径下,/usr/local/ 下看看有没有。2)呢,就是自己解压到你自己喜欢的目录就行。再把这个路径添加到环境变量就行了。  详情 回复 发表于 2014-3-9 18:09


回复

使用道具 举报

1739

TA的帖子

24

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2014-3-9 18:09 | 显示全部楼层
Dark_Guan 发表于 2014-3-9 17:47
这个 我安装完了,怎么用呢,小白一个,比如怎么用1)方法安装的编译器编译内核,按1)方法下载的软件 安装 ...

1方法呢,安装后就在跟gcc一样的路径下,/usr/local/ 下看看有没有。2)呢,就是自己解压到你自己喜欢的目录就行。再把这个路径添加到环境变量就行了。
这孩子,成熟的象征,理智的典范。


回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-3-9 22:38 | 显示全部楼层
现在我安装成功了,但是不知道这个软件是安装到哪里去了,怎么用,我前面弄过官方提供的交叉编译工具,但是编译的时候一直报错,不知道怎么解决啊,大神帮帮我呀
DZ9$AD[YX%)6FG0I7HBPQV1.jpg


回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-3-9 22:42 | 显示全部楼层
看到了 ,在usr/local里面,谢啦,我编译一个看看


回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2014-3-9 22:52 | 显示全部楼层
哇哈,成功了,感谢楼主啊
!!

点评

恭喜啦。哈哈。  详情 回复 发表于 2014-3-10 08:07


回复

使用道具 举报

1739

TA的帖子

24

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

 楼主| 发表于 2014-3-10 08:07 | 显示全部楼层
Dark_Guan 发表于 2014-3-9 22:52
哇哈,成功了,感谢楼主啊
!!

恭喜啦。哈哈。
这孩子,成熟的象征,理智的典范。


回复

使用道具 举报

2196

TA的帖子

32

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

荣誉会员勋章

发表于 2014-3-10 09:25 | 显示全部楼层
谢谢分享,学习一下, 回头搭个环境


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-10 14:20 , Processed in 0.344135 second(s), 33 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表