imx6q - hard-float or soft-float

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

imx6q - hard-float or soft-float

11,557 次查看
EinarMar
Contributor IV

Hi guys

I'm starting kernel compilation and other things for i.MX6Q and I am wondering if I should be compiling for hard float or soft float, i.e.  should I be compiling with the arm-linux-gnueabihf- or arm-linux-gnueabi- compiler ?

Kind regards

Einar M. Bjorgvinsson

Embedded Software Engineer

Marel ehf

Iceland

标签 (3)
10 回复数

5,227 次查看
EdWhite
NXP Employee
NXP Employee

If Freescale was going to offer "hardFP" version of the GPU library, it must consider the windowing system.  Is it acceptable if it only supports FBdev and DirectFB?  Is anyone using X11 or Wayland?

0 项奖励
回复

5,227 次查看
alisonchaiken_m
Contributor III

We are using both X11 and Wayland.

0 项奖励
回复

5,227 次查看
Yuri
NXP Employee
NXP Employee

Please use the arm-linux-gnueabi- compiler.

0 项奖励
回复

5,227 次查看
mcfrisk
Contributor I

Linux kernel does not use floating points, or if some drivers do then that's a grave bug, so hard vs. soft float only matters for user space. Debian wheezy/unstable have both so rootfs images for testing can easily be generated with debootstrap. The only remaining problem is the userspace binaries for Vivante GPU and possibly other blobs as well.

0 项奖励
回复

5,227 次查看
EinarMar
Contributor IV

Hi Yuri, thank you for your response.

Could maybe explain for me why I should not use the hard float compiler, i.e. arm-linux-gnueabihf- compiler.

I assumed you used such compiler for a hardware with hard float support.

regards

Einar

0 项奖励
回复

5,227 次查看
Yuri
NXP Employee
NXP Employee

Applications, which are built under “hardfp” option, cannot work under Linux, that was

compiled under “softfp” – because different ABI conventions; function parameters transfer

are different : the soft float conventions assume passing floats through general purpose

(integer) registers, but “hardfp” uses the floating point register.

 

   Ubuntu 12.04 for ARM has hard floating support, but we do not have  Ubuntu 12.04 rootfs yet.

But, basically it is possible to rebuild "all the apps and everything around Linux to use hard float" :

https://community.freescale.com/docs/DOC-1628

5,227 次查看
OtavioSalvador
Senior Contributor II

Yuri

In Yocto it'd be very easy to rebuild everything to use hard-float however I am wondering if the GPU and codecs will work in this case. I think Freescale supports only softfp.

Can you correct me if I am wrong?

0 项奖励
回复

5,227 次查看
EricNelson
Senior Contributor II

You're right Otavio.

The closed-source libraries won't run with a hard-float userspace, so both the GPU and gstreamer plugins are essentially unavailable.

We've had multiple queries about that for those using Linaro builds.

5,227 次查看
OtavioSalvador
Senior Contributor II

EricNelson, thanks by let me know.

When I was preparing the first machines for Yocto I checked and didn't find a hardfp set of binaries so I went with softfp. It'd be good if Freescale could make it available so we could use full SoC power :smileyhappy:

0 项奖励
回复

5,227 次查看
EinarMar
Contributor IV

Hi Yuri

Thanks a lot for this explanation.

We are working on extending our board image support to i.MX6q to be used in future machines at Marel. For the last 5 years we have been focusing on Powerpc and i386 but now we want to join the ARM wagon :smileyhappy:

We have maintained the board image ourselves, i.e. Uboot, kernel, rootfs and 3rd party components so I think the best cause of action now is to compile this for ARM with hard float support.

Regards

Einar

0 项奖励
回复