Search found 105 matches

by gray
Fri Jun 14, 2019 11:02 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Syntax Colouring Limit?
Replies: 4
Views: 31448

Re: Syntax Colouring Limit?

Thanks! However, I do not get this working OMM, ie. I still see the same colouring as before. I replaced the file and restarted Astrobe. Do I need to reset any preference setting? I still have the personal edition installed in addition to the professional one -- could this interfere?
by gray
Mon Jun 10, 2019 12:20 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Syntax Colouring Limit?
Replies: 4
Views: 31448

Syntax Colouring Limit?

Commenting out a block of code with nested comments, I seem to have run into a limitation of the syntax colouring related to comments, see screenshot. It's purely "cosmetic", as the compiler recognises the comments correctly.
Capture.PNG
Screenshot Editor
Capture.PNG (9.289999999999999 KiB) Viewed 31448 times
by gray
Fri Jun 07, 2019 3:31 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Startup Sequence
Replies: 1
Views: 22393

Startup Sequence

Are the modules initialised in the order as listed in the ".map" file? Background: I want to "intercept" the reset process at some point. Upon run-errors or some MCU faults, my process scheduler can reset and restart a single process and continue, as an attempt to keep the (unsupervised) program goi...
by gray
Tue May 28, 2019 1:13 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: push {}
Replies: 20
Views: 93565

Re: push {}

Another version of the stack trace procedure. The above one stops at the address of the last FP-entry on the stack, this one stops with the contents of this FP-entry. I ran into the problem of where to stop the stack trace when I implemented simple coroutines (as basis for a cooperative task schedul...
by gray
Sat May 25, 2019 9:16 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Initialisation of Pointer Variables
Replies: 2
Views: 24543

Re: Initialisation of Pointer Variables

Thanks for your explanation. Looks (sounds) like much added complexity without sufficient benefits indeed.
by gray
Sat May 25, 2019 3:48 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Initialisation of Pointer Variables
Replies: 2
Views: 24543

Initialisation of Pointer Variables

In Oberon, as in many (most?) languages, variables are not initialised by the compiler. Eiffel would be a counter example. I am not sure if general automatic initialisation is a Good Thing, as I prefer if the program text is as explicit as possible. However, there's one exception: pointer variables....
by gray
Tue May 21, 2019 11:13 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: push {}
Replies: 20
Views: 93565

Re: push {}

FWIW, here's an improved version of the stack trace procedure. PROCEDURE stackTrace(fpAddr: INTEGER; VAR trace: Trace); VAR lr, stopAt: INTEGER; BEGIN trace.count := 0; stopAt := LinkOptions.StackStart - 8; SYSTEM.GET(fpAddr, fpAddr); WHILE (fpAddr < stopAt) & (trace.count # TraceDepth) DO SYSTEM.GE...
by gray
Fri May 17, 2019 7:01 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: push {}
Replies: 20
Views: 93565

Re: push {}

Good hint, thanks. For the module with the run-time error (I only consider run-time error exceptions here, not hardware fault exceptions), the compiler/linker embeds the source line number right in the code at the return address, so that case is covered. The modules in the stack trace need another a...
by gray
Thu May 16, 2019 3:13 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: push {}
Replies: 20
Views: 93565

Re: push {}

I see. Thanks for the clarification. May I place a feature request here? If yes, I'd like an extended ResData (".ref") that not only gives the name for a module's address range, but also the procedure names (with address range) within the module.
by gray
Tue May 14, 2019 10:19 am
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: push {}
Replies: 20
Views: 93565

push {}

I am dabbling with getting a stack trace upon run-time errors. For this, I obviously need to understand the structure of the stack when entering the error handler (SVC call). A related questions about interrupt handlers in general. PROCEDURE runtimeErrorHandler[0]; BEGIN . 632 E92D0000H push { } . 6...