version 1.88, 2020/09/15 07:21:58
|
version 1.89, 2020/09/15 07:33:25
|
Line 14 changes_cur="9.0"
|
Line 14 changes_cur="9.0"
|
changes_future="10.0" |
changes_future="10.0" |
thumbnail="//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 systems based on chips |
boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also |
implementing the ARM architecture. The "evb" component is a reference |
supports some specific embedded system products based on prototype board |
to evaluation boards, the original target of the port, but this |
designs. |
is no longer relevant - NetBSD/evbarm now runs on a range of |
|
hardware based on APCI or devicetrees, including a range of development |
|
boards, powerful servers, virtual machines, and even some laptops. |
|
""" |
|
|
### CPU types |
### CPU types |
|
|
The evbarm port can be built with a variety of CPU options, corresponding to the |
Various CPU variants are supported, e.g: |
[large array of ARM CPU architectures](https://en.wikipedia.org/wiki/ARM_architecture#Cores). |
|
There are |
- evbarm-earmv6hf - ARMv6 with EABI and hardware floating point, e.g. |
four main variables: the word size, the instruction set, the |
the original Raspberry Pi. |
endianness, and whether there is hardware floating point. By default |
- evbarm-earmv7hf - ARMv7 with EABI and hardware floating point, e.g. |
the CPU type is "earm", and this implies aarch32 (32-bit), earmv5 cpu |
most recent and common 32-bit ARM boards. |
architecture, little endian (el when explicitly stated), and soft |
- evbarm-earmv7hfeb - Same as the above, but with the CPU running in |
(Emulated) floating point. Another example, suitable for Raspberry PI |
big endian mode. |
2, is earmv7hf, which is aarch32, the v7 instruction set, little |
- evbarm-aarch64 - 64-bit ARMv8 |
endian, and hardware floating point. |
- evbarm-aarch64eb - Same as the above, but with the CPU running in |
|
big endian mode. |
Typically, various boards are best compiled with a CPU type that |
|
matches the board's CPU and floating point support, but generally a |
evbarm variants are little endian unless otherwise stated. NetBSD provides |
lower CPU instruction set version is workable on a newer board. See |
big endian images primarily for testing purposes and to ensure that the code |
build.sh and look for aliases for the evbarm port. |
is endian-clean. |
|
|
Through NetBSD 8, the evbarm port has supported exclusively the |
Since NetBSD 9.0, 64-bit ARM processors are supported (referred to here |
aarch32 (32-bit CPU) sub-family of the ARM architecture. Some |
as aarch64). These run with fully 64-bit kernels and userland. Running |
processors, such as many supporting the armv8 CPU architecture, also |
32-bit ARM binaries is also supported with `compat32`. |
support a 64-bit instruction set, referred to as aarch64. This is |
|
sometimes referred to as a distinct port, [[NetBSD/aarch64|aarch64]], |
|
with code in src/sys/arch/aarch64, but it is built as the evbarm port |
|
with aarch64 cpu type, and available as the alias evbarm64. |
|
|
|
Note that MACHINE_ARCH=aarch64 currently refers to the A64 instruction |
|
set and the aarch64 architecture, built for the armv8 architecture. |
|
(Note also that armv8 is the first architecture to support aarch64, so |
|
this will not be an issue until at least armv9.) |
|
|
|
### armbsd.org builds |
### armbsd.org builds |
|
|