RP2040: Library & Tools for Astrobe Available
RP2040: Library & Tools for Astrobe Available
Today, I have made available a first set of Oberon modules to program the RP2040 using Astrobe for Cortex-M0, v9.0.3. There's also a tool to transmogrify Astrobe '.bin' file to the contents and UF2 format for the RP2040.
The library contains as of today:
1) Basics to get off the ground: clocks, reset releases, memory configuration and management, run-time error handling, GPIO, Exceptions, MCU-style definitions (register addresses and such), programming both cores: https://oberon-rtk.org/lib/
2) Formatted Text output to two serial terminals: https://oberon-rtk.org/description/text-io/
3) A first variant of a cooperative (non-preemptive) multi-threading kernel: https://oberon-rtk.org/lib/kernel-v1/kernel-v1-desc/
Info & docs: I have set up a website with information and some minimum first documentation: https://oberon-rtk.org
Repository: the library and tools can be found in this GitHub repository: https://github.com/ygrayne/oberon-rtk
Examples: there are two example programs to get you started: https://oberon-rtk.org/examples/
Dependency: you need a registered copy of Astrobe for Cortex-M0 (v9.0.3) to build the code
Astrobe settings: see https://oberon-rtk.org/tools/astrobe/
File converter/uploader: see the 'tools' folder; for usage and installation instructions see https://oberon-rtk.org/tools/abin2uf2/
The library contains as of today:
1) Basics to get off the ground: clocks, reset releases, memory configuration and management, run-time error handling, GPIO, Exceptions, MCU-style definitions (register addresses and such), programming both cores: https://oberon-rtk.org/lib/
2) Formatted Text output to two serial terminals: https://oberon-rtk.org/description/text-io/
3) A first variant of a cooperative (non-preemptive) multi-threading kernel: https://oberon-rtk.org/lib/kernel-v1/kernel-v1-desc/
Info & docs: I have set up a website with information and some minimum first documentation: https://oberon-rtk.org
Repository: the library and tools can be found in this GitHub repository: https://github.com/ygrayne/oberon-rtk
Examples: there are two example programs to get you started: https://oberon-rtk.org/examples/
Dependency: you need a registered copy of Astrobe for Cortex-M0 (v9.0.3) to build the code
Astrobe settings: see https://oberon-rtk.org/tools/astrobe/
File converter/uploader: see the 'tools' folder; for usage and installation instructions see https://oberon-rtk.org/tools/abin2uf2/
Last edited by gray on Sun Nov 17, 2024 11:35 am, edited 6 times in total.
Re: RP2040: Library & Tools for Astrobe Available
Made a few library changes, mostly to the text output machinery: https://oberon-rtk.org/changes/2024/cn-2024-01-17/
Added a new example program, showing how to avoid busy waiting for a peripheral: https://oberon-rtk.org/examples/v2/nobusywaiting/
Edited the kernel description for structure and hopefully clarity: https://oberon-rtk.org/lib/kernel-v1/kernel-v1-desc/
All code is in the GitHub repo: https://github.com/ygrayne/oberon-rtk
Added a new example program, showing how to avoid busy waiting for a peripheral: https://oberon-rtk.org/examples/v2/nobusywaiting/
Edited the kernel description for structure and hopefully clarity: https://oberon-rtk.org/lib/kernel-v1/kernel-v1-desc/
All code is in the GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:36 am, edited 3 times in total.
Re: RP2040: Library & Tools for Astrobe Available
Latest changes and extensions: https://oberon-rtk.org/description/changes-2024-01-29/
Main extension: reading from serial terminals: https://oberon-rtk.org/description/text ... and-input/
New example program: https://oberon-rtk.org/examples/readterminal/
Some thoughts about the implications of using two processor cores: https://oberon-rtk.org/description/two-processor-cores/
All code is in the GitHub repo: https://github.com/ygrayne/oberon-rtk
Main extension: reading from serial terminals: https://oberon-rtk.org/description/text ... and-input/
New example program: https://oberon-rtk.org/examples/readterminal/
Some thoughts about the implications of using two processor cores: https://oberon-rtk.org/description/two-processor-cores/
All code is in the GitHub repo: https://github.com/ygrayne/oberon-rtk
Re: RP2040: Library & Tools for Astrobe Available
Recent changes and additions:
1) https://oberon-rtk.org/changes/2024/cn-2024-01-30/: signals and semaphores for thread synchronisation.
Example programs: https://oberon-rtk.org/examples/v2/signalsync/ and https://oberon-rtk.org/examples/v2/semaphoresync/
2) https://oberon-rtk.org/changes/2024/cn-2024-02-02/: watchdog prototype, across both cores.
Example program: https://oberon-rtk.org/examples/v1/watchdogproto1/
GitHub repo: https://github.com/ygrayne/oberon-rtk
1) https://oberon-rtk.org/changes/2024/cn-2024-01-30/: signals and semaphores for thread synchronisation.
Example programs: https://oberon-rtk.org/examples/v2/signalsync/ and https://oberon-rtk.org/examples/v2/semaphoresync/
2) https://oberon-rtk.org/changes/2024/cn-2024-02-02/: watchdog prototype, across both cores.
Example program: https://oberon-rtk.org/examples/v1/watchdogproto1/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:38 am, edited 1 time in total.
Re: RP2040: Library & Tools for Astrobe Available
Latest changes and additions: https://oberon-rtk.org/changes/2024/cn-2024-02-10/
Added inter-core messaging: https://oberon-rtk.org/description/inter-core-messages/
New example program: https://oberon-rtk.org/examples/v1/messaging/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Added inter-core messaging: https://oberon-rtk.org/description/inter-core-messages/
New example program: https://oberon-rtk.org/examples/v1/messaging/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:38 am, edited 1 time in total.
Re: RP2040: Library & Tools for Astrobe Available
Recent changes and additions:
1) https://oberon-rtk.org/changes/2024/cn-2024-02-13/: stack usage checking
Example program: https://oberon-rtk.org/examples/v2/stackusage/
2) https://oberon-rtk.org/changes/2024/cn-2024-02-16/: bootrom access
Example program: https://oberon-rtk.org/examples/v2/bootromaccess/
GitHub repo: https://github.com/ygrayne/oberon-rtk
1) https://oberon-rtk.org/changes/2024/cn-2024-02-13/: stack usage checking
Example program: https://oberon-rtk.org/examples/v2/stackusage/
2) https://oberon-rtk.org/changes/2024/cn-2024-02-16/: bootrom access
Example program: https://oberon-rtk.org/examples/v2/bootromaccess/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:40 am, edited 1 time in total.
Re: RP2040: Library & Tools for Astrobe Available
Latest updates and changes: https://oberon-rtk.org/changes/2024/cn-2024-03-01/
Main addition: hybrid kernel variant (kernel-v2): https://oberon-rtk.org/lib/kernel-v2/kernel-v2-desc/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Main addition: hybrid kernel variant (kernel-v2): https://oberon-rtk.org/lib/kernel-v2/kernel-v2-desc/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:41 am, edited 1 time in total.
Re: RP2040: Library & Tools for Astrobe Available
Latest updates and changes: https://oberon-rtk.org/changes/2024/cn-2024-04-04/
Astrobe for Cortex-M0 v9.1 is now the required baseline.
New example program to measure code loading times from Flash, with and without caching, and from SRAM: https://oberon-rtk.org/examples/v2/codeloading/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Astrobe for Cortex-M0 v9.1 is now the required baseline.
New example program to measure code loading times from Flash, with and without caching, and from SRAM: https://oberon-rtk.org/examples/v2/codeloading/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:42 am, edited 1 time in total.
Re: RP2040: Library & Tools for Astrobe Available
Latest update and changes: https://oberon-rtk.org/changes/2024/cn-2024-04-16/
New example program to introduce the micro-seconds tasking system, with measurements and evaluations of minimum set-up time and minimum time between consecutive tasks, run from flash memory or SRAM: https://oberon-rtk.org/examples/v1/taskeval/
GitHub repo: https://github.com/ygrayne/oberon-rtk
New example program to introduce the micro-seconds tasking system, with measurements and evaluations of minimum set-up time and minimum time between consecutive tasks, run from flash memory or SRAM: https://oberon-rtk.org/examples/v1/taskeval/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:42 am, edited 1 time in total.
Re: RP2040: Library & Tools for Astrobe Available
Latest update and changes: https://oberon-rtk.org/changes/2024/cn-2024-04-25/
New library module Alarms.
Example programs to evaluate a test module Alarms and the library module Alarms: https://oberon-rtk.org/examples/v1/alarmeval/ and https://oberon-rtk.org/examples/v1/alarmtest/.
Example program to test thread scheduling by an alarm interrupt handler (kernel v2): https://oberon-rtk.org/examples/v1/blinkplusalarm/
GitHub repo: https://github.com/ygrayne/oberon-rtk
New library module Alarms.
Example programs to evaluate a test module Alarms and the library module Alarms: https://oberon-rtk.org/examples/v1/alarmeval/ and https://oberon-rtk.org/examples/v1/alarmtest/.
Example program to test thread scheduling by an alarm interrupt handler (kernel v2): https://oberon-rtk.org/examples/v1/blinkplusalarm/
GitHub repo: https://github.com/ygrayne/oberon-rtk
Last edited by gray on Sun Nov 17, 2024 11:43 am, edited 1 time in total.