首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有交叉编译的交叉编译器的正确选项是什么?

有交叉编译的交叉编译器的正确选项是什么?
EN

Stack Overflow用户
提问于 2012-04-20 21:11:08
回答 1查看 6.7K关注 0票数 6

我正在尝试构建一个交叉编译器,以目标处理器运行在我的NAS盒使用曲柄-NG

NAS框是一个ZyXEL NSA210,有一个示例dmesg输出/proc/cpuinfo是:

代码语言:javascript
复制
Processor       : ARM926EJ-S rev 5 (v5l)
BogoMIPS        : 183.09
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 5
...
Hardware        : Oxsemi NAS
Revision        : 0000
Serial          : 00000d51caab2d00

目标选项页上的选项、标志和()中的当前设置:

  • 目标架构(arm)
  • 使用MMU (是)
  • Endianness (小endian)
  • 比特(32位)
  • 默认指令集模式(arm)
  • 使用EABI (是)
  • 架构级
  • 发出CPU的程序集--具有-cpu= ()
  • 调优CPU ()
  • 使用特定的FPU ()
  • 浮点(软件)
  • 目标CFLAGS ()
  • 目标LDFLAGS ()

我在“架构级别”和“为CPU发出程序集”(如arm926ej-sarmv5larmv5tej )中尝试过各种组合,但我不知道哪一种选项适用于何处。

我已经将Target设置为纯金属,因为Linux的版本没有在机箱上使用。

而且,一旦构建了工具链,我需要再次将相同的选项传递给编译器。

到目前为止,尝试已经产生了Illegal instruction消息。

编辑

如果有人能给我看一篇关于建立手臂GCC工具链的文章,并明确提到如何找出正确的参数,那就回答了我的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-25 15:15:08

试试这些

代码语言:javascript
复制
--with-arch=armv5te
--with-tune=arm926ej-s

代码语言:javascript
复制
--with-cpu=arm926ej-s

(两者都没有意义)。

否则你的选择看上去不错。

如果它仍然不能工作,那么您需要查看库和标头。如果您想使用动态链接库,那么您需要有与目标上的库、版本库和名称库匹配的库。如果您想使用静态链接,或者将您自己的共享库复制到目标上(可能是在一个需要额外配置的非标准位置),那么您应该没事。

无论哪种方式,都需要您的内核头来匹配。您可能只需从kernel.org下载一些当代内核头即可。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10253603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档