Hardware Support
This page lists the processor architectures for which a port is maintained in the ThreadX source tree, together with the toolchains each port currently supports. The list is derived directly from the contents of the ports/ and ports_smp/ directories of the ThreadX repository, and is therefore authoritative for the current release.
Ports are grouped by architecture family. Single-core ports are covered first, followed by the SMP ports. Simulation ports, used for development and testing on a host PC, are listed at the end.
ARM Cortex-M (single-core)
| Core | Toolchains |
|---|---|
Cortex-M0 / M0+ |
AC5, AC6, GNU, IAR, Keil |
Cortex-M3 |
AC5, AC6, GHS, GNU, IAR, Keil |
Cortex-M4 |
AC5, AC6, GHS, GNU, IAR, Keil |
Cortex-M7 |
AC5, AC6, GHS, GNU, IAR |
Cortex-M23 |
AC6, GNU, IAR |
Cortex-M33 |
AC6, GNU, IAR |
Cortex-M55 |
AC6, GNU, IAR |
Cortex-M85 |
AC6, GNU, IAR |
The Cortex-M23, M33, M55 and M85 ports implement the ARMv8-M architecture, including TrustZone for ARMv8-M.
ARM Cortex-R (single-core)
| Core | Toolchains |
|---|---|
Cortex-R4 |
AC5, AC6, GHS, GNU, IAR |
Cortex-R5 |
AC5, AC6, GHS, GNU, IAR |
Cortex-R7 |
GHS |
ARM Cortex-A (single-core)
| Core | Toolchains |
|---|---|
Cortex-A5 |
AC5, AC6, GHS, GNU, IAR |
Cortex-A7 |
AC5, AC6, GHS, GNU, IAR |
Cortex-A8 |
AC5, AC6, GHS, GNU, IAR |
Cortex-A9 |
AC5, AC6, GHS, GNU, IAR |
Cortex-A12 |
AC6, GNU |
Cortex-A15 |
AC6, GNU, IAR |
Cortex-A17 |
AC6, GNU |
Cortex-A34 |
AC6, GNU |
Cortex-A35 |
AC6, GNU |
Cortex-A53 |
AC6, GNU |
Cortex-A55 |
AC6, GNU |
Cortex-A57 |
AC6, GNU |
Cortex-A5x |
AC6 |
Cortex-A65 |
AC6, GNU |
Cortex-A65AE |
AC6, GNU |
Cortex-A72 |
AC6, GNU |
Cortex-A73 |
AC6, GNU |
Cortex-A75 |
AC6, GNU |
Cortex-A76 |
AC6, GNU |
Cortex-A76AE |
AC6, GNU |
Cortex-A77 |
AC6, GNU |
The Cortex-A34 and later cores in the table above target the ARMv8-A 64-bit architecture.
SMP ports
The following ports target symmetric multiprocessing configurations and are located under ports_smp/.
| Core | Toolchains |
|---|---|
Cortex-A5 SMP |
AC5, GNU |
Cortex-A7 SMP |
AC5, GNU |
Cortex-A9 SMP |
AC5, GNU |
Cortex-A34 SMP |
AC6, GNU |
Cortex-A35 SMP |
AC6, GNU |
Cortex-A53 SMP |
AC6, GNU |
Cortex-A55 SMP |
AC6, GNU |
Cortex-A57 SMP |
AC6, GNU |
Cortex-A5x SMP |
AC6, GNU, Green Hills, IAR |
Cortex-A65 SMP |
AC6, GNU |
Cortex-A65AE SMP |
AC6, GNU |
Cortex-A72 SMP |
AC6, GNU |
Cortex-A73 SMP |
AC6, GNU |
Cortex-A75 SMP |
AC6, GNU |
Cortex-A76 SMP |
AC6, GNU |
Cortex-A76AE SMP |
AC6, GNU |
Cortex-A77 SMP |
AC6, GNU |
Cortex-A78 SMP |
AC6, GNU |
Cortex-R8 SMP |
AC5 |
ARC HS SMP |
MetaWare |
MIPS32 interAptiv SMP |
GNU, Green Hills |
Simulation ports
These ports allow developers to run ThreadX on a host PC for development and testing purposes. They are not intended for production use.
| Host | Toolchains |
|---|---|
Linux |
GNU |
Win32 |
Visual Studio 2019 |
Notes
-
The information above reflects the state of the ThreadX repository at the time of writing. The authoritative source is always the set of directories under
ports/andports_smp/in the ThreadX source tree. -
Toolchain abbreviations: AC5 and AC6 refer to ARM Compiler 5 and 6, GHS to Green Hills Software, GNU to the GNU toolchain (GCC/Binutils), IAR to the IAR C/C Compiler, *Keil* to the Keil MDK toolchain, *CCS* to Texas Instruments Code Composer Studio, *CC-RX* to the Renesas CC-RX compiler, *MetaWare* to the Synopsys MetaWare toolchain, *XCC* to the Cadence Xtensa C/C Compiler, and Clang to the LLVM/Clang toolchain.
-
Historical ports for architectures no longer present in this repository (for example Analog Devices SHARC/Blackfin, Infineon TriCore, Microchip PIC/SAM, Renesas SH/V850, Intel x86/NIOS II, Xilinx MicroBlaze/PowerPC) may be available in archived branches or from the original Express Logic distribution, but are not maintained as part of the current Eclipse ThreadX source tree.