Hey all, I’m interesting in pursuing this topic (Issue #5333) for my gsoc proposal and as far as I can see, there are no other posts about this topic yet, so I’m opening this discussion.
So far, I was able to cross-compile & build the scrutiny debugger instrumentation library (repo here) with RTEMS:
[~/scrutiny-embedded/build-rtems] 𝛌 sparc-rtems7-objdump -f $HOME/scrutiny-embedded/build-rtems/lib/libscrutiny-embedded.a | head -20
In archive /home/aftwa/scrutiny-embedded/build-rtems/lib/libscrutiny-embedded.a:
scrutiny_main_handler.cpp.obj: file format elf32-sparc
architecture: sparc, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
I was also able to get a demo test file running on RTEMS via the sparc/erc32 architecture that successfully utilized the scrutiny library. The demo file initializes the scrutiny::MainHandler & config object inside an rtems init:
[~/gsoc/quick-start/src/rtems] 𝛌 sparc-rtems7-nm $HOME/gsoc/scrutiny_demo.exe | grep -i "scrutiny" | head -5
0204aa00 b _ZL15scrutiny_config
0204a690 b _ZL16scrutiny_handler
02006c24 W _ZN8scrutiny10IPCMessageINS_11LoopHandler16Loop2MainMessageEE3popEv
02007334 W _ZN8scrutiny10IPCMessageINS_11LoopHandler16Loop2MainMessageEE4sendERKS2_
02006c7c W _ZN8scrutiny10IPCMessageINS_11LoopHandler16Loop2MainMessageEE5clearEv
[~/gsoc/quick-start/src/rtems] 𝛌 rtems-run --rtems-bsp=erc32-sis $HOME/gsoc/scrutiny_demo.exe
RTEMS Testing - Run, 7.0.not_released
Command Line: /home/aftwa/gsoc/quick-start/rtems/7/bin/rtems-run --rtems-bsp=erc32-sis /home/aftwa/gsoc/scrutiny_demo.exe
Host: Linux aftwasiq 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64
Python: 3.12.3 (main, Jan 22 2026, 20:57:42) [GCC 13.3.0]
Host: Linux-5.15.167.4-microsoft-standard-WSL2-x86_64-with-glibc2.39 (Linux aftwasiq 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64)
SIS - SPARC/RISCV instruction simulator 2.30, copyright Jiri Gaisler 2020
Bug-reports to jiri@gaisler.se
ERC32 emulation enabled
Loaded /home/aftwa/gsoc/scrutiny_demo.exe, entry 0x02000000
Scrutiny handler initialized & working on sparc/erc32
Time-out limit reached
Interrupt!
Stopped at time 5600000000 (400000.000 ms)
Run time : 0:00:04.068734
This all shows that the scrutiny instrumentation library can be built, linked, and executed on RTEMS without toolchain issues or errors.
Given that this is a porting effort, I would say that the next (big) step would be writing an RSB recipe for scrutiny embedded. If any potential mentors have some sort of idea of the general scope of what should be integrated, that would be helpful. In specific, whether targetting a minimal RSB package with one protocol like UART, or if it should branch out to other protocols (all within the scope of a medium-level gsoc?)
I’m still branching out the structure for my proposal, so any guidance or advice would be greatly appreciated.