Writing

Time rolls fast, and the frequency of my writing here may seem low. Which it is. Which, however, does not mean I don’t write quite often. Just not here. So let me point to some of my other writing.

Which is over here, in particular about the example and test programs related to the Oberon RTK framework. Lately, – ie., lower down in the list – these descriptions also include conceptual and design considerations, with accompanying program code to document the corresponding findings and points.

For example, I have written a longish article about trap handlers, that is, the use of synchronous trap exceptions as means to grant exclusive mutating access to shared data, or other protected functionality or hardware. Writing this kind of article, together with the program code, and iterating over both in parallel to get it right, and hopefully somewhat understandable with suitable test cases, takes quite some time and effort.

Or check out this article about the caching effect of program code loaded from flash memory. Or about using timer alarms for tasks. Which was a follow-up to these attempts and evaluation of a more generic task system, an implementation of the Apollo Guidance Computer’s waitlist feature I had mentioned here.

Granted, all pretty nerdy, and deep in the weeds of microcontroller programming. Then again, it’s an important part of my interests, and where I have spent quite some time in the part months, as evidenced by the published changes to the Oberon RTK framework. Apart from challenging my ageing mind, it’s also a neat – literally – complement to another part of my daily life, which is working for, and at, the Charity Centre. Or call it an escape into a world where logic and structurally sound thinking is conditio sine qua non. Which I sometimes don’t excel at, that is, I surprise myself at times how not so smart I can be.1 But iteration, and the combination of figuring out the programming and the corresponding descriptions and explanations, usually results in something useful anyway. Possibly to be updated and improved via a subsequent changes. Good APIs are hard.

As an aside, Chris, the developer of the Astrobe tools for programming ARM Cortex-M microcontrollers I use, has included a link to Oberon RTK on the product page for targeting the RP2040 controller: “Using the Oberon-RTK 3rd-party libraries and tools”.1 How far this is a stop-gap until he has his own libraries adjusted, updated and ported, I cannot say. But it’s not really important, since I would do my own thing anyway. See above.

I look forward for the Astrobe release specifically for the RP2040, since this microcontroller has an interesting feature that I haven’t even touched on yet: PIO, programmable IO. I hope Astrobe will provide the tools for this. Functionally, it might be an interesting blend of a conventional hardwired chip, and the flexibility we have with FPGA silicon. New stuff to explore.


  1. A euphemism for pretty stupid↩︎ ↩︎