alex fa665fcc2e corrects saving of floating point registers
The previous implementation always made space for XLEN sized registers, in RV32D this leads to overlaps
2026-09-16 08:01:11 +02:00
2026-05-28 12:35:30 +02:00
2026-01-27 20:58:23 +01:00
2026-01-27 20:58:23 +01:00
2026-06-09 18:10:29 +02:00
2026-03-21 18:27:26 +01:00
2026-03-31 16:13:45 +02:00

ThreadX Port for the TGFS cores and accompanying Virtual prototypes

This repositiory contains a RISC-V implementation of ThreadX designed to run on the TGFS cores or the RISC-V VP by MINRES (available on Github).

Note: SMP support additionally requires a VP variant that allows the number of cores to be configured.

Building the RTOS

A set of presets is provided, targetting 32 and 64-bit systems.

E.g. building for the RV64IMAC configuration:

cmake --preset Debug
cmake --build --preset Debug --parallel

Running on the VP

A run command can look like this:

riscv-vp --isa=rv64imac_m -f build/Debug/thread_demo.elf

Running the Regression Suites

The regression suites live in test/. Both suites register their cases with CTest and require the path to the MINRES riscv-vp simulator to be provided through THREADX_TEST_SIMULATOR.

The SMP regression suite additionally requires a riscv-vp variant that supports a configurable number of cores.

Examples:

cmake -S test/threadx --preset Debug32 -DTHREADX_TEST_SIMULATOR=/opt/riscv-vp/bin/riscv-vp
cmake --build --preset Debug32 --parallel 
ctest --test-dir ../../build/Debug32/test/threadx --output-on-failure --parallel 4

Demo Applications

The repository currently provides three demo applications:

  • thread_demo: a basic single-kernel ThreadX demo based on the standard ThreadX sample application
  • smp_demo: the same basic demo application for running on a ThreadX SMP kernel
  • tcp_demo: a NetX Duo demo that exercises the TCP/IP stack on top of ThreadX
S
Description
No description provided
Readme
312 KiB
Languages
C 67.5%
Assembly 24.9%
CMake 6.9%
Linker Script 0.6%
Shell 0.1%