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 |
これでもう迷わない。
