EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
交叉编译器 ARM-linux-gnueabi 和 arm-linux-gnueabihf 的区别自己之前一直没搞清楚这两个交叉编译器到底有什么问题,特意google一番,总结如下,希望能帮到道上和我有同样困惑的兄弟….. 一. 什么是ABI和EABI9 b2 j1 ^! t6 K( ?
1) ABI: 二进制应用程序接口(Application Binary InteRFace (ABI) for the ARM Architecture)
2 ?! [0 y D3 r( ?. @; f _1 _. d在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口.
( R# }3 r& A1 Q/ W+ }5 RABI涵盖了各种细节,如:
- R, k/ q2 Z- w$ ^数据类型的大小、布局和对齐;
+ j# _6 X! e J r调用约定(控制着函数的参数如何传送以及如何接受返回值),例如,是所有的参数都通过栈传递,还是部分参数通过寄存器传递;哪个寄存器用于哪个函数参数;通过栈传递的第一个函数参数是最先push到栈上还是最后; 8 J8 `+ w3 L- b+ B2 @! D, O
7 F( | ?/ Y. x* j h9 W2 ~' M( v0 k' T% J- B. ?) `
2 b5 e1 c3 J/ i" p
/ @/ |+ B9 c5 C/ ?* h. q& }7 E3 {: Z/ a; J( ~/ I2 `' C% e
; y3 {, @/ ~, l) R* E% |/ ~* J4 k( f' @8 D9 t, h6 V# j. `8 R
W% z8 m' Z/ Y' k# o) Y# a
. ?0 c$ w: K5 Q. x. M
. v4 A8 r2 K ^ |