[Oberon] Compiler that targets ARM

Chris Burrows chris at cfbsoftware.com
Sat Jun 16 04:57:06 CEST 2018

> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> Andreas Pirklbauer
> Sent: Friday, 15 June 2018 11:11 PM
> To: ETH Oberon and related systems
> Subject: [Oberon] Modified Oberon-07 compiler adding the numeric CASE
> statement
> PS: Do you have an Oberon compiler that targets ARM?

Yes - several. We have been developing, selling, supporting and maintaining
ARM Oberon embedded software development systems for the last 10 years. 

'targets ARM' is too general a phrase as there are numerous ARM
architectures currently in use. Our first target was the ARM7 instruction
set for NXP LPC2000 processors in 2008. We rewrote the code generator to
target the ARM Thumb-2 instruction set for NXP ARM Cortex-M3
microcontrollers in 2012, and then added support for the hardware FPU
instructions for the NXP and STM ARM Cortex-M4 and Cortex-M7
microcontrollers in 2014. 

All the details of what is available is on our Astrobe website:


If you: 

a) Want to implement a new ARM Oberon compiler target
b) Prefer to avoid 'reinventing the wheel'
c) Like a challenge 

then a useful project would be modify the RISC5 Oberon code generator and
linker to target the ARM Thumb-1 instruction set as used in the ARM
Cortex-M0 processors. There are a large number of inexpensive board
available but one that is particularly interesting is the BBC micro:bit


It is aimed at school students and there are claimed to be more than 1
million devices already deployed. 

Be warned however that ARM Thumb-1 instruction set has some significant
restrictions compared to ARM Thumb-2 or RISC5

* Most instructions are only 16-bit
* There are fewer registers generally accessible
* There is no FPU.   

Before you start, read the book: "The Definitive Guide to the ARM Cortex-M0"
by Joseph Yiu,

Chris Burrows
CFB Software

More information about the Oberon mailing list