[Oberon] Oberon Linker and the memory mapping

Chris Burrows chris at cfbsoftware.com
Thu Aug 27 15:48:59 CEST 2015


> -----Original Message-----
> From: skulski at pas.rochester.edu [mailto:skulski at pas.rochester.edu]
> Sent: Thursday, 27 August 2015 3:21 PM
> To: chris at cfbsoftware.com; ETH Oberon and related systems
> Subject: Oberon Linker and the memory mapping
> 
>   thank you for the pointers to the Astrobe forum. So you have a
> linker.

For the ARM Cortex-M3/M4 devices, yes, the main program is statically linked
with all the modules it uses and then uploaded to the target. For RISC5 I'm
using Project Oberon's dynamic module loader. Only the modules that have
been changed need to be uploaded to the target device. 

> The example MODULE ExtraRAM does not show the linker directives. I
> wonder what the linker commands look like.
> 

The parameters are stored in a configuration 'ini' file. There are two
RAM-related parameters:

Heap Start: 
The lowest address of the heap used when allocating memory to dynamic
pointer records using NEW (Default = 10000200H) 

Heap Limit: 
The highest address of the heap used when allocating memory to dynamic
pointer records using NEW. If the value is zero the heap is shared with the
stack and the highest address is the current value of the stack pointer
(Default = 0H)

If you are interested in more detail the linking / loading mechanism in
Astrobe for M3/M4 is described in the Astrobe documentation (in the Windows
Help and PDF files) which you can download from:

http://www.astrobe.com


> The example MODULE ExtraRAM does not show how the *code* can be
> placed in different kinds of memory. Code allocation is less critical
> with the MCU.

Astrobe ARM Cortex-M3/M4 code is always executed directly from Flash ROM.
RAM is used for data only. Some ARM embedded system designers use a
bootloader to transfer code from flash to RAM where it is then executed but
we have not yet had a need to do that.

Regards,
Chris

Chris Burrows
CFB Software
http://www.astrobe.com




More information about the Oberon mailing list