Astrobe for FPGA RISC5 v8.0
Embedded Project Oberon
Introduction
Astrobe for FPGA RISC5 is a free Windows IDE which enables you to program embedded software using the Oberon language. The applications execute on an embedded real-time subset of the Project Oberon Operating System running on a Xilinx FPGA development board. An example is Digilent's Arty S7-50 board, shown above, fitted with an Opus-Two microSD-card adapter and RTC module connected to PMOD sockets, running the Oberon AutoCAD slide viewer.
The Project Oberon system is described in an article titled Oberon System Implemented on a Low-Cost FPGA Board published in Issue 91, Second Quarter 2015, of Xilinx's Xcell Journal.
Highlights of the Astrobe Embedded Project Oberon system are:
- The Astrobe Oberon compiler produces identical symbol and object files for the Project Oberon source code.
- The Astrobe Oberon compiler has additional support for numeric CASE statements to be fully compliant with the latest May 2016 revision of the Oberon Language Report. It also has additional features to simplify porting source code to / from ARM Cortex-M systems.
- Applications run at a clock speed of 40Mhz on Embedded Project Oberon instead of the 25MHz of the Project Oberon workstation.
- The system can be ported more easily than the full Project Oberon system to a wider range of FPGA devices.
- Up to 3 x SPI, 1 x I2C master and 32 GPIO connections are supported.
- HCFiler, a high-capacity, low resource SDHC filesystem is included. It can be used for applications (e.g. data logging, backups etc.) that might need to create files with a total size exceeding the 64 MB limit of the standard Project Oberon SD card filesystem. The files can subsequently be processed / analysed on a Windows system.
- The Maxim DS3234A battery-backed real-time clock (RTC) device is supported. It provides continuous time (hours, minutes and seconds) and date (year, month and day) information accurate to +/- 2 minutes per year via an SPI interface.
Astrobe Integrated Delopment Environment (IDE)
The Astrobe IDE allows you to edit and cross-compile your RISC5 Oberon programs on Windows. Once the code compiles without errors the Upload menu command transfers one or more executable RISC5 (*.rsc) files using the fast 115200 baud RS232 connection to the target FPGA board for execution. No static linking step is needed - all modules are automatically dynamically linked and loaded at runtime.
The Astrobe for RISC5 IDE is identical to the commercial version that is used to develop embedded software for the ARM Cortex-M0, M3, M4 and M7 microcontrollers. Astrobe's features make this a very convenient system for developing embedded RISC5 Oberon software.
Embedded Project Oberon
The compiled applications produced by Astrobe can be executed on a subset of the complete Project Oberon OS i.e. just the Kernel, loader, filesystem, SPI, RS232 and SD card support. This is referred to as Embedded Project Oberon. All of the development can be done on Windows so the higher-level layers of Project Oberon OS with its user-interaction features: GUI, display, VGA, mouse, keyboard, compiler, editor etc. are not required on the target FPGA system.
Interactive execution of the programs can be controlled by the Astrobe Terminal connected to the development board by a 115200 baud serial link. Download the Embedded Project Oberon version of the document How to use the Oberon System for more details.
For more information see the feature summary and the list of included source code examples:
Supported FPGA Development Boards
The reduced memory footprint of Embedded Project Oberon means it is possible to run RISC5 Oberon applications on the latest Xilinx FPGA devices (with 176 KBytes or more of usable internal BRAM) at clock speeds up to 50Mhz with no need for any external RAM. As well as the Arty form-factor boards shown above, Embedded Project Oberon has been implemented on breadboardable systems e.g. Digilent's Cmod A7-35T:
The current list of Xilinx Artix-7 and Spartan-7 FPGA development boards supported with Astrobe v8 and Embedded Project Oberon is as follows. They are all running at a clock speed of 40 MHz and have an additional 32 KB of dynamic data (heap space) available.
Artix-7 Boards |
Arty A7-100T |
Nexys A7-100T |
Basys 3 |
Cmod A7-35T |
---|---|---|---|---|
Part | XC7A100T | XC7A100T | XC7A35T | XC7A35T |
Global Data + Code + Stack Data |
480 KB | 480 KB | 160 KB | 160 KB |
GPIO | 32 | 16 | 16 | 18 |
SPI | 3 | 3 | 2 | 2 |
I2C | 1 | 1 | 1 | 1 |
LEDs | 4 | 8 | 8 | 2 |
Buttons | 4 | 4 | 4 | 2 |
Switches | 4 | 8 | 8 | - |
Spartan-7 Boards | Arty S7-50 | Arty S7-25 | Cmod S7-25 |
---|---|---|---|
Part | XC7S50 | XC7S25 | XC7S25 |
Global Data + Code + Stack Data |
160 KB | 144 KB | 144 KB |
GPIO | 32 | 32 | 18 |
SPI | 3 | 3 | 2 |
I2C | 1 | 1 | 1 |
LEDs | 4 | 4 | 4 |
Buttons | 4 | 4 | 2 |
Switches | 4 | 4 | - |
Downloads
The complete Astrobe for FPGA RISC5 software system consists of:
- A Windows Setup file to install the Astrobe IDE
- A MicroSDHC disk image file containing the Embedded Project Oberon OS
- A bitstream file to program the RISC5 processor on the target FPGA processor
- Verilog sources to customise the RISC5 system if desired
Request your copy free of charge via download here.
Technical Support
Ask any questions about this system and find the latest news, additional examples and implementation details on the Astrobe for FPGA RISC5 Forum.