Search found 109 matches

by gray
Fri Feb 02, 2024 12:13 pm
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 9
Views: 1998

Re: RP2040: Library & Tools for Astrobe Available

Recent changes and additions: 1) https://oberon-rtk.org/description/changes-2024-01-30/: signals and semaphores for thread synchronisation. Example programs: https://oberon-rtk.org/examples/signalsync/ and https://oberon-rtk.org/examples/semaphoresync/ 2) https://oberon-rtk.org/description/changes-2...
by gray
Wed Jan 31, 2024 1:11 pm
Forum: Bug Reports
Topic: ARRAY OF BYTE Parameters
Replies: 1
Views: 897

ARRAY OF BYTE Parameters

The ARM Cortex-M Oberon Programmers Guide states in section 4.1 ARRAY of BYTE: If the formal parameter is an array of bytes with a fixed size it can accept actual parameters of any type, except POINTER, whose size is the same number of bytes [...] Example 1: TYPE Word = ARRAY 4 OF BYTE; PROCEDURE p0...
by gray
Mon Jan 29, 2024 9:57 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 9
Views: 1998

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-output-and-input/ New example program: https://oberon-rtk.org/examples/readterminal/ Some thoughts about the implications of us...
by gray
Wed Jan 17, 2024 11:21 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 9
Views: 1998

Re: RP2040: Library & Tools for Astrobe Available

Made a few library changes, mostly to the text output machinery: https://oberon-rtk.org/description/changes-2024-01-17/ Added a new example program, showing how to avoid busy waiting for a peripheral: https://oberon-rtk.org/examples/nobusywaiting/ Edited the kernel description for structure and hope...
by gray
Mon Jan 15, 2024 9:45 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 9
Views: 1998

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, rese...
by gray
Wed Dec 27, 2023 1:54 am
Forum: Bug Reports
Topic: SYSTEM.EMITH Problem
Replies: 1
Views: 2486

SYSTEM.EMITH Problem

This test code MODULE TestEMITH; IMPORT SYSTEM; CONST SEV = 0BF40H; BEGIN SYSTEM.EMITH(SEV) END TestEMITH. results in a compiler exception (Astrobe for M0, v9.0.3): System.IndexOutOfRangeException: Index was outside the bounds of the array. at Decode.Decode.Op16IfThen(Int32 instr) at Decode.Decode.D...
by gray
Mon Dec 25, 2023 1:28 pm
Forum: Bug Reports
Topic: SYSTEM.BIT Problem
Replies: 1
Views: 2720

SYSTEM.BIT Problem

Consider this code snippet REPEAT UNTIL SYSTEM.BIT(MCU.XOSC_STATUS, 31) and the corresponding assembly code: . 158 09EH 04808H ldr r0,[pc,#32] -> 192 . 160 0A0H 06801H ldr r1,[r0] . 162 0A2H 0D5FCH bpl.n -8 -> 158 . 192 <Const: 040024004H 040024004H> The procedure hangs at that point, unsurprisingly...
by gray
Mon Dec 18, 2023 1:37 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Buffer Address for DMA
Replies: 3
Views: 6558

Re: Buffer Address for DMA

Interesting. Yes, this works, again a) checking the code and b) running a test program. Surprising though. The Astrobe docs about module system say: ADR returns the absolute address of the given variable. Now, that SYSTEM.ADR of a VAR procedure parameter would return the actual address of the argume...
by gray
Mon Dec 18, 2023 10:13 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Buffer Address for DMA
Replies: 3
Views: 6558

Buffer Address for DMA

To avoid busy-waiting at a serial output peripheral (USART), I am implementing buffered text output to a terminal. The intention is to use the DMA peripheral on the M0. Among other configuration, the DMA channel expects 1) a memory address of the buffer, and 2) the number of data items to transfer f...
by gray
Mon Dec 11, 2023 11:44 pm
Forum: Bug Reports
Topic: Traps.GetName Misses Last Procedure
Replies: 0
Views: 4722

Traps.GetName Misses Last Procedure

I have been working on catching run-time errors in module bodies during the start-up of programs. To test, I have injected artificial errors, such as 'ASSERT(FALSE)', and the first obvious place was Main.Init, right at the end, after module Traps and the Terminal output have been initialised. Which ...