WHAT IS EABI?
GNU EABI is a new application binary interface (ABI) for Linux. It is part of a new family of ABIs from ARM® Ltd. known in the ARM-Linux community as EABI (or sometimes Embedded ABI). Eurotech was the first to make available a port of Debian using this new ABI for ARM systems.
WHY SWITCH TO EABI?
The new EABI:
- Allows use of optimized hardfloat functions with the system's softfloat libraries
- Uses a more efficient syscall convention
- Will be more compatible with future tools
The ability to mix floating point code is the most important new feature. Like most root file systems for ARM computers, Debian has traditionally used hardfloat FPA instructions for floating point arithmetic. Very few ARM CPUs actually support FPA (a specific kind of floating point acceleration) but ARM-Linux kernels can emulate FPA instructions. They do this through illegal instruction faults which are rather inefficient. Emulating floating point instructions using softfloat (-msoftfloat) can be 4 to 10 times faster than kernel emulation. Prior to the introduction of EABI, the only way to use softfloat was to recompile the entire root file system with softfloat enabled. With EABI, softfloat instructions will be used by default and the root file system can have a mixture of softfloat and hardfloat executables. Now, if you have a system with floating point hardware -- it doesn't have to be FPA, it can be something else -- you can recompile critical software with the appropriate hardfloat instructions and run it on a system along with software that uses softfloat.
We have or will have systems that use VFP (Vector Floating Points), Maverick Crunch (Cirrus Logic), and iWMMXt (Intel) instructions. (The iWMMXt instructions are actually integer SIMD instructions but their opcodes overlap those for FPA.)
HOW DO I USE EABI?
To use EABI, you'll need to visit our support forums for installation details. The root file system includes an ARM-Linux-GNU EABI toolchain which you can use to recompile your own source code.
HOW CAN I USE EABI WITH VFP OPTIMIZATIONS?
Several of our systems support Vector Floating Point (VFP) instructions, which can be used to optimize software that makes intensive use of floating point math. We have benchmarked speed improvements of up to 400% for the libc math library, and 200% for the Mesa 3-D graphics library. We provide a page with instructions for using VFP with these libraries on EABI systems, as well as building your own software with VFP optimizations.
http://www.eurotech-inc.com/embedded-eabi-linux.asp
介绍GNU EABI在ARM Linux中的应用,强调其允许混合使用硬浮点与软浮点功能,采用更高效的系统调用约定,并提高与未来工具的兼容性。详细解释了如何利用EABI进行开发,特别是在VFP优化方面的应用。
274

被折叠的 条评论
为什么被折叠?



