Search found 107 matches

by gray
Tue Apr 09, 2024 9:09 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: CONST Definition Question
Replies: 1
Views: 60

CONST Definition Question

Compiling MODULE TestConst; CONST C = 07FFFFFFFH + 1; END TestConst. results in Line Col 2 28 Error: compiler exception System.OverflowException: Arithmetic operation resulted in an overflow. at ORG.ORG.AddOp(Int32 op, Item& x, Item& y) at ORP.ORP.SimpleExpression(Item& x) at ORP.ORP.expression(Item...
by gray
Thu Apr 04, 2024 9:44 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 7
Views: 1881

Re: RP2040: Library & Tools for Astrobe Available

Latest updates and changes: https://oberon-rtk.org/description/changes-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/codeloading/ GitHub repo:...
by gray
Thu Apr 04, 2024 9:43 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Copying a Procedure to RAM
Replies: 2
Views: 130

Re: Copying a Procedure to RAM

This is for the RP2040. I am aware that Astrobe for Cortex-M0 does not yet officially support this MCU. Background, concepts, solution approach, as well as measurements and results related to my use case are described here: https://oberon-rtk.org/examples/codeloading/ In a nutshell, interrupt handle...
by gray
Sun Mar 31, 2024 11:04 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Copying a Procedure to RAM
Replies: 2
Views: 130

Copying a Procedure to RAM

What is the best way to copy a procedure, eg. from Flash memory to RAM? For example: MODULE M; PROCEDURE p0; END p0; PROCEDURE p1; END P1; END M. Getting the procedure's starting address is straight forward, but how to detect its ending address? Scanning for 'pop' is not safe, as any relevant consta...
by gray
Sun Mar 17, 2024 11:39 am
Forum: Bug Reports
Topic: SET Parameter Problem
Replies: 1
Views: 227

SET Parameter Problem

Test code (Astrobe v9.1 for Cortex-M0): MODULE M; PROCEDURE p(s: SET); END p; PROCEDURE run; VAR k: INTEGER; BEGIN p({k}); p({13}) END run; END M. Partial assembly code: PROCEDURE run; VAR k: INTEGER; BEGIN . 12 0CH 0B500H push { lr } . 14 0EH 0B081H sub sp,#4 p({k}); . 16 010H 09800H ldr r0,[sp] . ...
by gray
Sun Feb 18, 2024 6:47 am
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 7
Views: 1881

Re: RP2040: Library & Tools for Astrobe Available

Recent changes and additions: 1) https://oberon-rtk.org/description/changes-2024-02-13/: stack usage checking Example program: https://oberon-rtk.org/examples/stackusage/ 2) https://oberon-rtk.org/description/changes-2024-02-16/: bootrom access Example program: https://oberon-rtk.org/examples/bootro...
by gray
Fri Feb 02, 2024 12:13 pm
Forum: Cortex-M0, M3, M4 and M7
Topic: RP2040: Library & Tools for Astrobe Available
Replies: 7
Views: 1881

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: 869

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...