From b5016c23b0be8dc106e0ba3605099a71a52b465e Mon Sep 17 00:00:00 2001 From: Eyck-Alexander Jentzsch Date: Tue, 31 Mar 2026 16:13:45 +0200 Subject: [PATCH] updates README --- README.md | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c8b70d9..985b848 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,46 @@ -# Running the RTOS +# ThreadX Port for the TGFS cores and accompanying Virtual prototypes -This repositiory contains prototypical RISC-V implementation of ThreadX designed to run on the RISC-V VP by MINRES (tested on commit [d96cd4a](https://github.com/Minres/RISCV-VP/tree/d96cd4a01de1f4bcc77db3eceb57f5c144395847)). +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](https://github.com/Minres/RISCV-VP/tree/d96cd4a01de1f4bcc77db3eceb57f5c144395847)). + +**Note**: SMP support additionally requires a VP variant that allows the number of cores to be configured. ## Building the RTOS -Four presets are provided, targetting RV32 and RV64 combined with GC or IMAC. The presets use rv32imac and rv64imac. +A set of presets is provided, targetting 32 and 64-bit systems. + +E.g. building for the RV64IMAC configuration: + +```bash +cmake --preset Debug +cmake --build --preset Debug --parallel +``` ## Running on the VP A run command can look like this: ```bash -riscv-vp --isa=rv64gc_m -f build/Debug/main.elf +riscv-vp --isa=rv64imac_m -f build/Debug/thread_demo.elf ``` -## What is running? +## Running the Regression Suites -The current implementation is just a demo, taken from the existing threadx qemu implementation. +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: + +```bash +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