Annotation of wikisrc/ports/evbarm.mdwn, revision 1.88
1.1 mspo 1: [[!template id=port
2: port="evbarm"
1.6 mspo 3: port_alt="arm"
1.49 leot 4: port_var1="earm"
5: port_var2="earmeb"
6: port_var3="earmv6hf"
7: port_var4="earmv7hf"
8: port_var5="earmv7hfeb"
1.83 mrg 9: port_var6="aarch64"
1.49 leot 10: port_var_install_notes="evbarm-earm"
1.85 martin 11: cur_rel="9.0"
12: future_rel="10.0"
13: changes_cur="9.0"
14: changes_future="10.0"
1.71 leot 15: thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif"
1.1 mspo 16: about="""
17: NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping
18: boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also
19: supports some specific embedded system products based on prototype board
20: designs.
21:
1.42 gdt 22: ### CPU types
23:
1.57 gdt 24: The evbarm port can be built with a variety of CPU options, corresponding to the
25: [large array of ARM CPU architectures](https://en.wikipedia.org/wiki/ARM_architecture#Cores).
26: There are
1.56 gdt 27: four main variables: the word size, the instruction set, the
28: endianness, and whether there is hardware floating point. By default
1.68 gdt 29: the CPU type is "earm", and this implies aarch32 (32-bit), earmv5 cpu
1.56 gdt 30: architecture, little endian (el when explicitly stated), and soft
1.58 gdt 31: (Emulated) floating point. Another example, suitable for Raspberry PI
1.56 gdt 32: 2, is earmv7hf, which is aarch32, the v7 instruction set, little
33: endian, and hardware floating point.
1.42 gdt 34:
35: Typically, various boards are best compiled with a CPU type that
36: matches the board's CPU and floating point support, but generally a
37: lower CPU instruction set version is workable on a newer board. See
38: build.sh and look for aliases for the evbarm port.
39:
1.56 gdt 40: Through NetBSD 8, the evbarm port has supported exclusively the
41: aarch32 (32-bit CPU) sub-family of the ARM architecture. Some
42: processors, such as many supporting the armv8 CPU architecture, also
43: support a 64-bit instruction set, referred to as aarch64. This is
44: sometimes referred to as a distinct port, [[NetBSD/aarch64|aarch64]],
45: with code in src/sys/arch/aarch64, but it is built as the evbarm port
46: with aarch64 cpu type, and available as the alias evbarm64.
1.50 gdt 47:
1.58 gdt 48: Note that MACHINE_ARCH=aarch64 currently refers to the A64 instruction
49: set and the aarch64 architecture, built for the armv8 architecture.
50: (Note also that armv8 is the first architecture to support aarch64, so
51: this will not be an issue until at least armv9.)
52:
1.84 wiki 53: ### armbsd.org builds
1.78 gdt 54:
1.84 wiki 55: NetBSD developer Jared McNeill provides [builds of NetBSD 9 and -current for a vast variety of hardware.](https://www.armbsd.org/) In addition to the standard build, these images have board-specific U-Boot contents. See also /usr/pkgsrc/sysutils/u-boot*.
1.78 gdt 56:
1.80 gdt 57: ### Board specific information (often including installation information)
1.88 ! nia 58:
1.38 wiki 59: - [[Allwinner sunxi family SoCs|Allwinner]]
1.69 sevan 60: - [[BeagleBone, BeagleBone Black, and PocketBeagle|BeagleBone]]
1.41 wiki 61: - [[NVIDIA Tegra|Tegra]]
1.27 wiki 62: - [[ODROID C1 and C1+|ODROID-C1]]
1.40 gdt 63: - [[Raspberry Pi 1, 2 and 3|Raspberry Pi]]
1.83 mrg 64: - [[RockChip SoCs|RockChip]]
1.87 aymeric 65: - [[Terasic DE0 Nano-SoC|Cyclone5]]
1.27 wiki 66:
1.88 ! nia 67: **NOTE**: This list is incomplete. For a full list of supported boards, please see the list of [32-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC#L18) and [64-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC64#L20) device trees.
1.77 gdt 68:
1.88 ! nia 69: ### QEMU
1.77 gdt 70:
1.88 ! nia 71: See the [[NetBSD/evbarm under QEMU|qemu_arm]] page for instructions on how to get started with QEMU.
1.77 gdt 72:
1.88 ! nia 73: ### anita
1.77 gdt 74:
1.88 ! nia 75: anita can be used to test builds. (In addition to anita, install qemu and dtb-arm-vexpress from pkgsrc.) The release subdirectory should follow the naming convention on the autobuild cluster, used below.
1.77 gdt 76:
1.88 ! nia 77: - evbarm-earmv7hf uses "qemu-system-arm -M vexpress-a15"
! 78: - evbarm-aarch64 uses "qemu-system-aarch64 -M virt"
! 79: - Information on how to test emulated versions of other specific hardware is welcome.
1.1 mspo 80:
81: [[!tag tier1port]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb