栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从Linux交叉编译到ARM-ELF(ARM926EJ-S / MT7108)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从Linux交叉编译到ARM-ELF(ARM926EJ-S / MT7108)

apt-cache search arm | grep ^gcc-
给出以下列表,

  1. gcc-4.7-aarch64-linux-gnu-GNU C编译器
  2. gcc-4.7-arm-linux-gnueabi-GNU C编译器
  3. gcc-4.7-arm-linux-gnueabi-base-GCC,GNU编译器集合(基本软件包)
  4. gcc-4.7-arm-linux-gnueabihf-GNU C编译器
  5. gcc-4.7-arm-linux-gnueabihf-base-GCC,GNU编译器集合(基本软件包)
  6. gcc-4.7-multilib-arm-linux-gnueabi-GNU C编译器(multilib文件)
  7. gcc-4.7-multilib-arm-linux-gnueabihf-GNU C编译器(multilib文件)
  8. gcc-aarch64-linux-gnu-用于arm64体系结构的GNU C编译器
  9. gcc-arm-linux-gnueabi-用于armel架构的GNU C编译器
  10. gcc-arm-linux-gnueabihf-用于armhf体系结构的GNU C编译器

您应该安装 gcc-arm-linux-gnueabi ,这是 gcc-4.7-arm-linux-gnueabi的别名
gcc-4.7-multilib-arm-linux-gnueabi 也可以,但是更复杂。使用标志

-march=armv5te-mtune=arm926ej-s -msoft-float -mfloat-abi=soft
。您可以通过指定
--paramNAME=VALUE
选项来进行更多调整,
gcc
其中参数已调整为系统 内存子系统 时序。

您可能无法使用这些

gcc
版本,因为您的 Linux 可能是使用 OABI进行
编译的,并且/或者与编译器所针对的版本相比,已经很古老了。在某些情况下, libc 会调用较新的 Linux API ,而该 API
可能不存在。如果未将编译器/ libc配置为向后兼容,则它可能不适用于您的系统。您可以使用crosstool-ng创建一个自定义编译器,该编译器的构建适合您的系统,但这要复杂得多。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号