Change Note 2026-06-03
New website, lib/v3.1 for all supported MCUs
Website
You are reading this on a newly structured website. You may also note a slightly changed appearance. The site is now rendered using a new custom renderer, which completely decouples the source Markdown authoring structure from the site structure that you see here. The target structure is defined by a single site definition file, importing the source files. References (links) use global labels assigned to source pages, not their position inside directories and their sub-directories. Which allows to re-arrange the target structure at any time without breaking a single link – hopefully for the benefit of keeping the site current.
A few notable new sections and documents include:
- Framework Installation
- Get Started
- Guides
- Program Startup
- Device Modules
- Secure/Non-secure Program Structure
- Secure/Non-secure Program Design
The home page is also revised.
Some of the pages are still stubs, or will require updates, due the extended range of supported MCUs, S/NS work, and a more systematic conceptual and technical framework structure.
References to the repository are given as <repo>/path/to/dir-or-file.
lib/v3.1
-
The framework library is ported to all four supported MCUs: RP2040, RP2350, STM32U585, and STM32H573. This does not imply that all MCUs are supported to the same extent yet.
-
The framework consistently implements the concepts as described in Program Startup, Device Modules, and Secure/Non-secure Program Structure (the latter only for the Cortex-M33 MCUs with TrustZone).
-
Consider this the first consolidated and consistent release of
lib/v3.1.
Example & Test Programs
-
The current programs are based on
lib/v3.1. -
All programs provide a
.vscode/launch.jsonfile for debugging in VisualStudio Code. -
The S/NS programs provide build scripts (
build-elf.cmd,build-db-elf.cmd); the plan is to provide similar scripts for all example programs with multi-step build procedures, in particular for debugging. -
A set of guides gets you up and running, including configuration and set-up.
Debugging
-
Debugging support is stable across all supported MCUs.
-
Using the debugger is now my default set-up during programming: loading of the binaries using Cortex-Debug (in VisualStudio Code) is one-click-simple and uniform across all MCU types, and running the program or module under development inside the debugger spares me using output statements to hunt down my mistakes. And – any peripheral device register can easily be inspected.
-
See Your First Debug Session for a starting point.
Astrobe Configuration Files
-
The configuration files in
<repo>/configare now placed into sub-directories per library version, for example<repo>/config/astrobe-rp2350/u585i-iot-v31. -
See Astrobe Configuration Files for more details.
Environment Configuration and Set-up
-
The example programs can be built and loaded without any further customisation and set-up, apart from the Astrobe Configuration Files, possibly adapted to your Oberon RTK installation location.
-
To use scripted builds and debugging, there is a configuration script
<repo>/tools/setup/set-rtk-env.cmd(andset-rtk-env.sh) to set the environment variables used by the various tools and scripts. The script's doc header provides detailed information about its contents. -
Follow these guides to activate the required settings for
Tools
-
The OpenOCD server connect scripts have been moved to
<repo>/tools/server-scripts. You may need to update your $PATH accordingly. -
The custom OpenOCD config files have been moved to
<repo>/tools/server-scripts/openocd. This does not require any configuration change, since the config files are used by the server scripts.
Last updated: 3 June 2026