Astrobe for FPGA RISC5 v7.2
Embedded Project Oberon
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-M3, M4 and M7 microcontrollers. Astrobe's features make this a very convenient system for developing embedded RISC5 Oberon software. Highlights are:
- The Editor has Oberon-specific features such as syntax colour highlighting, auto-capitalisation of keywords, procedure navigation etc. in addition to all the usual Windows text-editing capabilities.
- The Build command automatically determines the dependencies of the current module and compiles all outdated imported modules in the correct sequence.
- The Disassemble command shows the RISC5 instructions generated, interleaved with your Oberon source code.
- Oberon sources are plain text files. All your regular text-based Windows development tools (editors, comparison tools, search tools, source code control, backup systems etc.) can be used with them.
- The Library paths configuration option allows you to organise your source code in separate Windows folders.
- The files uploaded to the Project Oberon file system are assigned the same date and timestamp as on Windows allowing synchronisation of sources.
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.
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 FPGA development boards supported with Astrobe v7.2 and Embedded Project Oberon is:
|Board||Arty A7-100T||Nexys A7-100T||Arty A7-35T||Cmod A7-35T||Arty S7-50||Arty S7-25||Cmod S7-25|
|Clock||40 MHz||40 MHz||40 MHz||40 MHz||40 MHz||40 MHz||40 MHz|
|Global Data +
|480 KB||480 KB||160 KB||160 KB||160 KB||144 KB||144 KB|
|Dynamic Data||32 KB||32 KB||32 KB||32 KB||32 KB||32 KB||32 KB|
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.
Ask any questions about this system and find the latest news, additional examples and implementation details on the Astrobe for FPGA RISC5 Forum.