Search found 105 matches

by gray
Sat May 18, 2024 10:53 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 11
Views: 10361

Re: RP2040: Library & Tools for Astrobe Available

Latest updates and changes: https://oberon-rtk.org/description/changes-2024-05-17/ I have taken a first stab at the RP2040's SPI device. There's a corresponding new example program: https://oberon-rtk.org/examples/spirtc/. It uses the Maxim DS3234 real-time clock as test peripheral. GitHub repo: htt...
by gray
Sat May 18, 2024 9:09 am
Forum: Bug Reports
Topic: SET Parameter Problem
Replies: 2
Views: 6348

Re: SET Parameter Problem

I have just encountered this problem again, using Astrobe for Cortex-M0 v9.2, where it is partly fixed, but not for all use cases. Just to document in case someone else runs into this as well, here's the test code. MODULE M; VAR i0: INTEGER; r0: RECORD k, i: INTEGER END; a0: ARRAY 2 OF INTEGER; PROC...
by gray
Thu May 16, 2024 2:09 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Alert: no free registers Question
Replies: 1
Views: 31

Alert: no free registers Question

The following test code is distilled from a real use case. This is with Astrobe for Cortex-M0 v9.2. MODULE M; VAR v0: INTEGER; PROCEDURE p0(i0, i1, i2, i3, i4, i5: INTEGER; i6: INTEGER; b7: BOOLEAN); END p0; PROCEDURE p1(i0, i1, i2, i3, i4, i5: INTEGER; b6: BOOLEAN; i7: INTEGER); END p1; PROCEDURE p...
by gray
Mon May 06, 2024 10:51 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 11
Views: 10361

Re: RP2040: Library & Tools for Astrobe Available

Latest update: https://oberon-rtk.org/description/changes-2024-05-05/ Concepts and test code exploring and evaluating the use of trap exception handlers as means to grant exclusive mutating access to shared data, or other protected functionality or hardware: https://oberon-rtk.org/examples/traphandl...
by gray
Fri May 03, 2024 3:07 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Exception Handlers: Save/Restore r4 to r7 with SYSTEM.LDREG
Replies: 2
Views: 160

Re: Exception Handlers: Save/Restore r4 to r7 with SYSTEM.LDREG

Oops! Seems I was so impressed by the optimisation that I had blanked out the last part. :)
by gray
Fri May 03, 2024 1:44 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Procedure Calling Convention
Replies: 1
Views: 171

Procedure Calling Convention

The ARM Architecture Procedure Call Standard (AAPCS) stipulates that, upon calling a procedure 1) registers r0 to r3, and r12, are "caller saved", ie. the called procedure is free to mutate them. 2) registers r4 to r11 are "callee saved", ie. the called procedure must save and restore these register...
by gray
Fri May 03, 2024 1:27 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Exception Handlers: Save/Restore r4 to r7 with SYSTEM.LDREG
Replies: 2
Views: 160

Exception Handlers: Save/Restore r4 to r7 with SYSTEM.LDREG

Compiling this exception handler PROCEDURE h[0]; BEGIN SYSTEM.LDREG(4, 13) END h; generates this code PROCEDURE h[0]; BEGIN . 1584 0630H 0B500H push { lr } SYSTEM.LDREG(4, 13) END h; . 1586 0632H 0200DH movs r0,#13 . 1588 0634H 04604H mov r4,r0 . 1590 0636H 0BD00H pop { pc } That is, register r4 is ...
by gray
Sat Apr 27, 2024 6:32 am
Forum: Bug Reports
Topic: RECORD Fields with Identical Identifier
Replies: 1
Views: 1416

RECORD Fields with Identical Identifier

Via a typo I have come across this (Astrobe for Cortex-M0v 9.1): MODULE M; TYPE R = RECORD x: INTEGER; x: INTEGER; y: INTEGER END; PROCEDURE p; VAR r: R; BEGIN r.x := 13; r.y := 17 END p; END M. Looking at the assembly code for 'p': PROCEDURE p; VAR r: R; BEGIN . 24 018H 0B500H push { lr } . 26 01AH...
by gray
Thu Apr 25, 2024 11:12 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 11
Views: 10361

Re: RP2040: Library & Tools for Astrobe Available

Latest update and changes: https://oberon-rtk.org/description/changes-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/alarmeval/ and https://oberon-rtk.org/examples/alarmtest/. Example program to ...
by gray
Tue Apr 16, 2024 6:19 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 11
Views: 10361

Re: RP2040: Library & Tools for Astrobe Available

Latest update and changes: https://oberon-rtk.org/description/changes-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....