Arm杂记
Arm相关
armeabi含义
ABI: Application binary interface,ABI 应用程序二进制接口
EABI: Embedded application binary interface 嵌入式应用二进制接口
ABI规范了应用程序对寄存器的使用方法,Call procedure,以及如何进入trap。符合某一平台ABI规范的应用程序就可以在这一平台上运行。
这一规范是针对binary,而不是source的。所以同样的高级语言代码,使用不同的toolchain,可以得到符合不同ABI规范的binary。
arm abi,非正式称呼为eabi,是一种规范,符合这种规范的编译器有arm-eabi-gcc。
armeabi-v7a 和 armeabi-v8a
armeabi是针对所有的arm cpu,只要支持arm的指令集就可以,
v7a,v8a是针对arm后来出的指令集版本制定的cpu如符合arm7指令集的cpu
armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu。
armeabi-v7a(32位ARM设备),
arm64-v8a(64位ARM设备)
ABI和API
ABI不同于应用程序接口(API),API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译,
然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行。
指令集
ARM是一种指令集,X86也是一种指令集
ARM是一种指令集,知识产权属于(ARM公司),X86也是一种指令集,X86指令集的知识产权属于Intel公司,ARM是精简指令集(RISC),X86使用的是复杂指令集(CISC)。
ARM推出指令集的同时,也推出了指令集的实现形式叫Cortex-A等系统架构,