Oberon RTK

Oberon Real-Time Kernel for the RP2040 microcontroller.

Purpose

Oberon RTK is a framework for writing embedded control programs in Oberon for the RP2040 Cortex-M0+ microcontroller using the Astrobe for Cortex-M0 cross-compiling IDE.

RTK stands for “real-time kernel”, that is, an embedded multi-threading kernel to allow to divide, and program, the controller program as set of separate control processes.

The use of the kernel is not mandatory for the Oberon RTK library/framework in general, which can be used to program any kind of application, employing one or both cores.

Audience

This site is targeted at programmers with a good understanding of the RP2040 microcontroller, as well as writing control software in general. Oh, and some sense of exploring. At least for now, there are no Getting Started instructions, and no tutorials.

There are examples, though. Also, the latest example program descriptions contain a good amount of conceptual material and design considerations, which are explored in the corresponding program itself, complemented by the descriptions section. And of course there’s the source code in the repository.

The modules in the GitHub repository are provided “as is”, with the assumption that the reader knows how to build and upload the software using the tools as outlined below.

This site may not be completely up-to-date, or complete, with respect to the modules in the repository. Refer to the latter for the actual details and specifics. As the saying goes: “Debug only code, don’t get suckered in by the comments.” Or by websites.

Tools

The RTK framework is being developed using the Astrobe for Cortex-M0 compiler/linker. There’s a free Personal Edition.

Here’s how to configure Astrobe for Cortex-M0.

Astrobe’s compiled binary needs to be transmogrified into the UF2 format the RP2040 requires. Use the utility abin2uf2 for this task. It also inserts the needed bootloader code for the “flash second stage” boot phase.

Programmable IO (PIO) assembly code can be run through the pioasm assembler and made accessible from Oberon using pio2o.

Dependencies

The RTK modules depend on a few modules in the Astrobe library. Hence, you need to have a registered copy of Astrobe for Cortex-M0.

As a general rule, the minimum version of Astrobe required is the free Personal Edition, currently v9.1. Consequently, v9.2 of Astrobe will become the baseline after the free Personal Edition has become available.

Questions and Support

CFB Software has kindly granted permission to ask and answer questions related to this framework on the Astrobe forum. You can also e-mail me, or use the GitHub issue functionality.

Status

As of July 2024, we have:

Updates and Changes

Latest updates and changes: 2024-07=07.

Check out the Change Notes for all updates and changes.

The menus at the top are drop-downs, where applicable, but you can also click on the menu name item itself to get an overview page. The item on the top left-hand side is the home link.

On narrow mobile phone screens, the main menu itself is a drop-down, with no secondary drop-down from there. This would be awkward. Navigate via the overview pages in this case.

Licences

Please refer to section Licences.