Introduction
備忘録。
タイトルのまま。
aarch64 だの armv7 だの、種類が多いので整理。
Resolution
色々情報源はあるが…
下記がわかりやすかった。
一部追記している (aarch64がない)。
Abbreviation
aarch64 や armhf とかは Linux のディストリビューションから見た種別
uname | dpkg | classification | gcc | description |
---|---|---|---|---|
aarch64 | arm64 | aarch64-linux-gnu-gcc | 64bit | |
armv8l | arm64 | 64bit kernel on 32-bit mode | ||
armv7l | armhf | hf は Hard Float の略 | arm-linux-gnueabihf-gcc | |
armv6l | armel | ARM EABI つまりARM eabi little-endian |
arm-linux-gnueabi-gcc | legacy |
arm | ARM Legacy ABI または OABI (Old ABI) |
arm-linux-gcc | too legacy |
- 末尾の
l
はlittle-endian
- ARM は big-endian もサポートしている。
- Hard Float は チップ上で浮動小数点演算。つまり FPU (Floating Point Unit) を使用
- Soft Float は浮動小数点をソフトウェアでエミューレート
- 当然 Hard Float のが高速
- Soft Float は浮動小数点をソフトウェアでエミューレート
ABI
Application Binary Interface
type | full name | description |
---|---|---|
OABI | Old Application Binary Interface | |
EABI | Embedded Application Binary Interface | legacy |
Architecture
armv-v7a とか。
profile | target |
---|---|
v7-A | アプリケーション プロセッサ。Application |
v7-R | 組み込みプロセッサ。Real-time |
v7-M | コントローラ プロセッサ。Microcontroller |
Family
Cortex とか。
family name | manifacture |
---|---|
ARM | Arm |
Cortex | Arm |
Snapdragon | Qualcomm |
Apple Ax | Apple |
Apple M1 | Apple |
Tegra K1 | NVIDIA |
ARMADA | Marvell |
Tegra K1 | MediaTek |
これでもう迷わない。