GSOC'26 Introduction & Proof - Preetam

Hello everyone,

I am Preetam (lostux), currently pursuing a master’s degree in Computer Science. My area of interest revolves around system software, operating systems, and more recently, embedded systems. In the past summer, I had the opportunity as an intern to work on inter-processor communication, OpenVX framework and PCIe-based data streaming for TI’s Jacinto 7 family of SOCs.

Continuing this venture of exploring this area, I want to contribute to the open-source world and hence GSOC. I found a good project that aligns with my interests & experience and want to contribute to it - Add a BSP for the Raspberry Pi 5 (Issue 85).

This post is for proof of work and some updates on what I have done so far.

1. Proof of work

Modified the hello world sample for sparc/erc32 on RTEMS 7.

Patch:

From e575b77c727fdca1d07823d299f28306a9f699c4 Mon Sep 17 00:00:00 2001
From: Preetam Das <riki10112001@gmail.com>
Date: Mon, 12 Jan 2026 17:08:57 +0530
Subject: [PATCH] testsuites/samples/hello/init.c: GSOC26 proof of work

---
 testsuites/samples/hello/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/testsuites/samples/hello/init.c b/testsuites/samples/hello/init.c
index c9f07118c5..6e70f095bc 100644
--- a/testsuites/samples/hello/init.c
+++ b/testsuites/samples/hello/init.c
@@ -43,7 +43,7 @@ static rtems_task Init(
 
   rtems_print_printer_fprintf_putc(&rtems_test_printer);
   TEST_BEGIN();
-  printf( "Hello World\n" );
+  printf( "Hiya RTEMS!! 🙋" );
   TEST_END();
   rtems_test_exit( 0 );
 }
-- 
2.52.0

Working:

~/Programming/gsoc/rtems-gsoc/rtems (bsps/aarch64/raspberrypi5)
> rtems-run --rtems-bsp=erc32-sis build/sparc/erc32/testsuites/samples/hello.exe
RTEMS Testing - Run, 7.0.not_released

 Command Line: /home/pree/.local/rtems/7/bin/rtems-run --rtems-bsp=erc32-sis build/sparc/erc32/testsuites/samples/hello.exe
 Host: Linux archbox 6.18.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 09 Jan 2026 19:43:48 +0000 x86_64
 Python: 3.7.17 (default, Dec  9 2025, 18:36:29) [GCC 15.2.1 20251112]

Host: Linux-6.18.4-arch1-1-x86_64-with-arch (Linux archbox 6.18.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 09 Jan 2026 19:43:48 +0000 x86_64 )



 SIS - SPARC/RISCV instruction simulator 2.30,  copyright Jiri Gaisler 2020

 Bug-reports to jiri@gaisler.se



 ERC32 emulation enabled



 Loaded build/sparc/erc32/testsuites/samples/hello.exe, entry 0x02000000





*** BEGIN OF TEST HELLO WORLD ***

*** TEST VERSION: 7.0.0.e575b77c727fdca1d07823d299f28306a9f699c4

*** TEST STATE: EXPECTED_PASS

*** TEST BUILD: RTEMS_POSIX_API

*** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1)

Hiya RTEMS!! 🙋

*** END OF TEST HELLO WORLD ***





[ RTEMS shutdown ]

RTEMS version: 7.0.0.e575b77c727fdca1d07823d299f28306a9f699c4

RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1)

executing thread ID: 0x0a010001

executing thread name: UI1

cpu 0 in error mode (tt = 0x101)

    74110  02005e60:  91d02000   ta  0x0

Run time     : 0:00:00.260368

~/Programming/gsoc/rtems-gsoc/rtems (bsps/aarch64/raspberrypi5)
> git log
commit e575b77c727fdca1d07823d299f28306a9f699c4 (HEAD -> bsps/aarch64/raspberrypi5, main)
Author: Preetam Das <riki10112001@gmail.com>
Date:   Mon Jan 12 17:08:57 2026 +0530

    testsuites/samples/hello/init.c: GSOC26 proof of work

commit 5384a26b48c5cebe05c77809df8c6a39623b69d5 (upstream/main, upstream/HEAD, origin/main, origin/HEAD)
Author: Joel Sherrill <joel@rtems.org>
Date:   Sun Jan 4 10:50:00 2026 -0600

    spec/build/cpukit/optwarn.yml: Reduce ignored warnings

2. MR for a documentation fix - Merged

This is my first contribution. Fixed broken link rendering in users/support/contrib.html. MR has been merged. Link - https://gitlab.rtems.org/rtems/docs/rtems-docs/-/merge_requests/199

3. BSP for RPI 5 - GSOC’26 Contribution

I will link here another post dedicated on the contribution. Link: to be updated

For now I am updating my findings here: pi5 rtems bsp - Google Docs

Below is the summary:

  • Following @JoelSherrill and @opticron advice I started with comparing the memory map and peripherals of Pi 4 and Pi 5. I referenced the circles project and the bcm2712 dts for this.

  • Went through the boot process of Pi4. Its similar to Pi5

  • Just to get started, I put together a very rough implementation to see if I can boot or not.

    I did this in a separate bsp folder bsps/raspberrypi5 just to test, I guess the final implementation would be merged with the bsps/raspberrypi folder. I successfully built the bsp (with disabled tests and samples) and put a stub for the required console driver and other functions for now.

    Tested it on a physical Pi 5 4gb model.

    Status - I got to bsp_start but got stuck there due to what I believe a bad heap section in the linker script when it tries to map the heap in rtems_cache_coherent_add_area.

Details and further updates, I will post in the dedicated post for the contribution.

I would appreciate any comments/suggestions from the maintainers and the community. Thank you.

Thanks, please add yourself to tracking/2026 · main · RTEMS / Programs / Google Summer of Code · GitLab

Have a look at last year’s directory for some idea how to structure your personal page if you’d like some inspiration.

I think you’ll get more attention by starting a new post specific to the project idea.

1 Like

Thanks, I have made a new topic specific for the project here - BSP for the Raspberry Pi 5 [GSOC'26].

1 Like