version 1.60, 2018/11/22 01:18:49
|
version 1.71, 2019/06/02 13:32:38
|
Line 7 port_var3="earmv6hf"
|
Line 7 port_var3="earmv6hf"
|
port_var4="earmv7hf" |
port_var4="earmv7hf" |
port_var5="earmv7hfeb" |
port_var5="earmv7hfeb" |
port_var_install_notes="evbarm-earm" |
port_var_install_notes="evbarm-earm" |
cur_rel="8.0" |
cur_rel="8.1" |
future_rel="9.0" |
future_rel="9.0" |
changes_cur="8.0" |
changes_cur="8.1" |
changes_future="9.0" |
changes_future="9.0" |
thumbnail="http://www.netbsd.org/images/ports/evbarm/adi_brh.gif" |
thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif" |
about=""" |
about=""" |
NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping |
NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping |
boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also |
boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also |
Line 27 The evbarm port can be built with a vari
|
Line 27 The evbarm port can be built with a vari
|
There are |
There are |
four main variables: the word size, the instruction set, the |
four main variables: the word size, the instruction set, the |
endianness, and whether there is hardware floating point. By default |
endianness, and whether there is hardware floating point. By default |
the CPU type is "earm", and this implies aarch32 (32-bit), \todo cpu |
the CPU type is "earm", and this implies aarch32 (32-bit), earmv5 cpu |
architecture, little endian (el when explicitly stated), and soft |
architecture, little endian (el when explicitly stated), and soft |
(Emulated) floating point. Another example, suitable for Raspberry PI |
(Emulated) floating point. Another example, suitable for Raspberry PI |
2, is earmv7hf, which is aarch32, the v7 instruction set, little |
2, is earmv7hf, which is aarch32, the v7 instruction set, little |
Line 75 targets, all having "earm" are EABI.
|
Line 75 targets, all having "earm" are EABI.
|
### Relationship of MACHINE_ARCH to official ARM terminology |
### Relationship of MACHINE_ARCH to official ARM terminology |
|
|
Note that these are all little endian, and have big endian variants |
Note that these are all little endian, and have big endian variants |
with a "eb" sufix. |
with a "eb" suffix. Unless otherwise noted, all use the A32 or |
|
aarch32 instruction set. |
|
|
[[!table data=\"\"\\" |
[[!table data=<<EOT |
MACHINE_ARCH |bits | ARM architecture version |ABI |
MACHINE_ARCH |bits | ARM architecture version |ABI |
arm |32 |? |oabi |
arm |32 |\todo ? |oabi |
earm |32 |armv4 (effectively an alias) |eabi |
earm |32 |alias for earmv5 (\todo why?) |eabi |
earmv4 |32 |armv4 (no thumb, so ok on strongarm) | eabi |
earmv4 |32 |armv4 (no thumb, so ok on strongarm) |eabi |
earmv5 |32 |armv5t |eabi |
earmv5 |32 |armv5t |eabi |
earmv6 |32 |armv6 |eabi |
earmv6 |32 |armv6 |eabi |
earmv7 |32 |armv7 |eabi |
earmv7 |32 |armv7 |eabi |
aarch64 |64 |armv8 |\todo ? eabi |
aarch64 |64 |armv8 in aarch64 mode |\todo ? eabi |
\"\"\"]] |
EOT]] |
|
|
\todo Explain why, if we have armv4, and this is confusing, we still have earm as a MACHINE_ARCH. |
\todo Explain why, if we have armv5, we still have earm as a MACHINE_ARCH. |
|
|
\todo Explain why aarch64 is a MACHINE_ARCH, when it seems like it |
\todo Explain why aarch64 is a MACHINE_ARCH, when it seems like it |
should be something like armv8hf_64. |
should be something like armv8hf_64. |
Line 112 anita can be used to test builds. (In a
|
Line 113 anita can be used to test builds. (In a
|
|
|
### Board specific information |
### Board specific information |
- [[Allwinner sunxi family SoCs|Allwinner]] |
- [[Allwinner sunxi family SoCs|Allwinner]] |
- [[BeagleBone and BeagleBone Black|BeagleBone]] |
- [[BeagleBone, BeagleBone Black, and PocketBeagle|BeagleBone]] |
- [[NVIDIA Tegra|Tegra]] |
- [[NVIDIA Tegra|Tegra]] |
- [[ODROID C1 and C1+|ODROID-C1]] |
- [[ODROID C1 and C1+|ODROID-C1]] |
- [[Raspberry Pi 1, 2 and 3|Raspberry Pi]] |
- [[Raspberry Pi 1, 2 and 3|Raspberry Pi]] |