Oberon Real-Time Kernel for the RP2040 microcontroller.
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.
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.
The RTK framework is being developed using the Astrobe for Cortex-M0 compiler/linker. There’s a free Starter 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
.
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 to compile and link modules and programs is the Starter Edition, currently v9.3.
Unless noted otherwise, the tools require the Starter Edition. Some tools may require the disassembly functionality of the Personal or Professional Edition.
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.
As of August 2024, we have:
.bin
files;Latest updates and changes: 2024-08-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.
Please refer to section Licences.