1 這些名詞是什么的縮寫
1.1 armel
是arm eabi little endian的縮寫。eabi是軟浮點二進制接口,這里的e是embeded,是對於嵌入式設備而言。
1.2 armhf
是arm hard float的縮寫。
1.3 arm64
64位的arm默認就是hf的,因此不需要hf的后綴。
2 armel和armhf的區別
它們的區別體現在浮點運算上,它們在進行浮點運算時都會使用fpu,但是armel傳參數用普通寄存器,而armhf傳參數用的是fpu的寄存器,因此armhf的浮點運算性能更高。
gcc編譯的時候,使用-mfloat-abi選項來指定浮點運算使用的是哪種,soft不使用fpu,armel使用fpu,使用普通寄存器,armhf使用fpu,使用fpu的寄存器。
編譯時,kernel、rootfs和app的指定必須一致才行。