EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
交叉编译器 ARM-linux-gnueabi 和 arm-linux-gnueabihf 的区别自己之前一直没搞清楚这两个交叉编译器到底有什么问题,特意google一番,总结如下,希望能帮到道上和我有同样困惑的兄弟….. 一. 什么是ABI和EABI
0 P1 X8 X2 }0 a1) ABI: 二进制应用程序接口(Application Binary InteRFace (ABI) for the ARM Architecture)
, I3 c$ q% A+ v" t- ?" F在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口.9 L/ d3 s' E% y' l
ABI涵盖了各种细节,如:
) p5 N" t% ?4 e8 b& P. C数据类型的大小、布局和对齐;. g- p6 R1 i! ~( r1 S: f
调用约定(控制着函数的参数如何传送以及如何接受返回值),例如,是所有的参数都通过栈传递,还是部分参数通过寄存器传递;哪个寄存器用于哪个函数参数;通过栈传递的第一个函数参数是最先push到栈上还是最后;
O! }0 b, M4 R; P4 z+ x
' v4 ~. n b2 R) l; _0 D0 c- s; m* X! c E
: O6 R# C/ q( |/ B# |: z" I4 T! N: m% R' E3 e" f! W
9 [2 Y5 U( P5 d0 N3 |- g/ K% U* ^6 k$ n& n# c
9 F3 b! }! \6 f/ u: {, P6 L! G! ^9 ]% t& R. `# H8 }/ S
2 k( J2 ]" u: q
. p& a& \% H! W. s |