Oberon RTK

Oberon Real-Time Kernel for the RP2040 microcontroller.

Purpose

Oberon RTK is a framework to support writing 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 two 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. 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 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.

Dependencies

The RTK modules depend on modules in the Astrobe library. Hence, you need to have a registered copy of Astrobe for Cortex-M0. If you don’t, get it. It’s good.

Also, some code may use compiler extensions implemented in Astrobe for Cortex-M0, as described in the corresponding documents accessible through the Astrobe help menu.

The forthcoming release of Astrobe with support for the RP2040 may impact the RTK modules’ design.

Tools

The Oberon modules are written using the current version of Astrobe for Cortex-M0, v9.1. Here’s how to configure the IDE.

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.

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 April 2024, we have:

Updates and Changes

Latest updates and changes: 2024-04-16.

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.