[Oberon] FPGA Oberon Runtime checks (was: Article in Xilinx Xcell Journal)

Chris Burrows chris at cfbsoftware.com
Fri May 15 10:38:45 CEST 2015


> 
> From: David Hunter [mailto:drhunter at frontiernet.net]
> Sent: Friday, 15 May 2015 8:37 AM
> To: oberon at lists.inf.ethz.ch
> Subject: Re: [Oberon] FPGA Oberon Article in Xilinx Xcell Journal
> 
> It was a good article.
> 
> I concur that system integrity can definitely be violated.   I did a
> quick example of an array overflow.   (see the code at the end of
> this post)    I ran it on a Spartan FPGA and it printed all 12
> characters without a problem.   From what I can tell looking at the
> disassembled code, the RISC5 compiler does not add "run time
> checking."
> 

Normal RISC5 Oberon programs *do* include runtime checks. The reason why
your program doesn't can be seen in the header:
 
> MODULE* Overflow;    (* embedded module *)

The asterisk attached to "MODULE" indicates that you want to use a special
compilation mode that is intended to be used for unusual standalone programs
(e.g. the Oberon boot loader). Refer to Chapter 14 Builing and Maintance
Tools in the Project Oberon 2013 documentation. One consequence of compiling
in that mode is that runtime-checks are disabled.

Try recompiling your program as a normal Oberon application and see the
difference.

Regards,
Chris Burrows

CFB Software
Astrobe: Oberon for ARM Cortex-M3 and M4
http://www.astrobe.com







More information about the Oberon mailing list