As a new user, which BSP process do I follow

Please excuse my ignorance but I have a simple question for the channel. Im trying to build experience with RTEMS (v7 specifically); however, I am starting to get confused and when I try to unclutter my head using both the internet and the documenation it only makes things worse. In the RTEMS USER manual (7.1023b8c) under quickstart it instructs me to build the bsp using sb-set-builder and then compile an application using waf; however, section 8 of the user manual (under the STM32H section) instructs me to use waf (“./waf configure --rtems-bsps=arm/stm32h747i-disco --rtems-config=./stm32h747i-disco.ini --rtems-tools=$HOME/workspace/rtems-tools”). SO as a new user, my question is which is the correct and most future proof method (I plan on building RTEMS for an STM32F4 Black pill and then adding the NASA CSF later but right now im just getting my feet wet)

Hey @mmessuri ,
As you’ve noticed, there are two primary ways to build RTEMS:

  • via RTEMS-Source-Builder (RSB)
  • manual build by cloning RTEMS and using waf

Builds using RSB are useful if you know that you are using an existing BSP for your target platform and do not need to make any modifications to RTEMS or the BSP itself other than exposed configuration options which would be placed in your config.ini/stm32h747i-disco.ini. Building via RSB (and rtems-deployment which also builds via RSB) is common for users focused exclusively on their application.

Manual builds using waf in a manually cloned RTEMS repository are useful for development of core RTEMS features, BSP features, or BSP variants. BSP variants are configuration presets for different boards typically using the same or very similar CPUs.

When developing add-on libraries such as rtems-libbsd, rtems-lwip, rtems-net-services, or others, either method should produce the same installed BSP.

Manual builds are also useful when you know there have been recent changes to RTEMS that you are interested in. The RSB recipes for various components are not updated constantly and are typically only pulled forward occasionally when there is a perceived need for it.

Thanks for the explination

I would strongly recommend you use the manual build approach.