在飞思卡尔iMX6q ARM处理器GCC选项 [英] gcc options for a freescale iMX6q ARM processor

查看:492
本文介绍了在飞思卡尔iMX6q ARM处理器GCC选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找出一个工具链我设立GCC选项,开发板:
这是根据各地的飞思卡尔的iMX6q四核处理器磨刀精简版。

I am trying to figure out gcc options for a toolchain I am setting up, for development board: Sabre-lite which is based around the Freescale's iMX6q quad processor.

现在我知道iMX6基本上是有协处理器的VFPv3和霓虹灯,以及矢量图形,2D和3D甚至引擎Cortex-A9处理器。

Now I know that iMX6 is basically a cortex-a9 processor that has co-processors vfpv3 and neon, and also vector graphics, 2D and even 3D engines.

不过,发行说明和使用指南文档还没有关于如何启用,可以在GCC启用任何选项昭然若揭。

However, the release notes and use guide docs haven't been too clear on how to enable any options that can be enabled in gcc.

其实,我可以'玩'与有以下几方面的选项。

In fact the options that I can 'play' with are the following.

-march= armv7-a                - ok this one is pretty obvious.
-mfpu= vfpv3/neon              - i can use only the vfpv3 co-processor, or both (respectively, depends on option)
-mfloat-abi=softfp/soft/hard   - I guess I can choose hard here, as there is hardware for fp operations
-mcpu=cortex-a9                - is it option even necessary? it is not clear if it just an alias for -march or something else.

是否有其他的选择,我应该使?
为什么有工具链作为默认选项构建Linux内核/ uboot的/包以下内容:

Are there other options I should enable? Why does the toolchain have as default options to build the linux kernel/uboot/packages the following:

-march= armv7-a -mfpu= vfpv3 -mfloat-abi=softfp

感谢您的帮助。

推荐答案

使用 -mthumb -O3 -march =的ARMv7-A -mcpu =的cortex-A9 -mtune =的cortex-A9 -mfpu =霓虹灯-mvectorize与 - 霓虹灯四-mfloat-ABI = softfp 。请注意,默认情况下,编译器不会向量化浮点使用NEON因为NEON不支持非规格化数字运行。如果你是罚款precision的一些损失可以通过增加使浮点GCC使用NEON -ffast-数学开关。

Use -mthumb -O3 -march=armv7-a -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon -mvectorize-with-neon-quad -mfloat-abi=softfp. Note that by default the compiler will not vectorize floating-point operating using NEON because NEON does not support denormal numbers. If you are fine with some loss of precision you can make gcc use NEON for floating-point by adding -ffast-math switch.

这篇关于在飞思卡尔iMX6q ARM处理器GCC选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆