linux - 适用于 Linux 的 Xscale 编译器? (还有 Xscale 编译标志问题)

标签 linux gcc arm cross-compiling xscale

我目前正在使用基于 GCC 3.3.3 的交叉编译器为 Xscale PXA270 开发板进行编译。但是,我想知道是否还有其他 Xscale 编译器可以在 Linux(或 Windows)上运行?我正在使用的交叉编译器设置在目标设备上具有可怕的性能,某些执行大量数学运算的程序在 Xscale 处理器上的性能比在类似时钟的 Pentium 2 上差 10 到 20 倍。编译器的任何其他选项都没有我应该使用基于 GCC 的编译器设置哪些或特定的编译器标志,这可能有助于提高性能?

谢谢, 本

最佳答案

与 Pentium 2 不同,XScale 架构没有本地浮点指令。这意味着必须使用整数指令来模拟 float 学 - 10 到 20 倍的减速听起来是正确的。

要提高性能,您可以尝试以下几种方法:

  • 尽可能减少 float 的使用 - 在某些地方,您可以用普通整数或定点计算代替;
  • 通过在可能的情况下预先计算值表来权衡内存以换取速度;
  • 在不需要后者精度的计算中使用 float 而不是 double (包括使用 C99 float 版本math.h 函数);
  • 尽量减少整数和浮点类型之间的转换。

关于linux - 适用于 Linux 的 Xscale 编译器? (还有 Xscale 编译标志问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106982/

相关文章:

c++ - 为什么 GCC 6.3 在没有明确 C++11 支持的情况下编译这个 Braced-Init-List 代码?

c - 在iOS中应用寄存器int

ios - Xcode 6.3 beta - 您的可执行文件包含不受支持的架构 '[armv7k]'

用于通过 rDesktop 测试 GUI 应用程序的 Linux 软件

linux - 如何以 yyyy-MM-ddTHH :mm:ssZ using date command in linux 格式打印时间

c++ - ... union 问题中不允许使用构造函数

android - 如何在 Docker 容器中运行 emulator64-arm?

linux - 如何在没有密码的情况下以另一个用户身份运行脚本?

linux - 通过 gcc 的 -finstrument-functions 选项打印行号

使用 exec() 编译和运行 c 程序