Home
Feature Matrix
Oberon
Dev Boards
Orders
Upgrades
Support
Forum
About Us


Astrobe for Cortex-M3 Feature Matrix

This table summarises the features of Astrobe for Cortex-M3 included in each of the available editions. Further details of the features can be found in the documents titled "Oberon for Cortex-M3 Microcontrollers" and the "Oberon Programmers Guide" which can be downloaded from the Oberon page.

Feature Professional   Personal   Starter 
Multi-file Editing
  • Standard Windows, programmer-oriented, text-editing features
  • Fast and responsive interactive operation
  • Tabbed multi-document interface for editing multiple source files (modules)
  • Split-screen editing
  • Regular expression support in Find / Replace
  • Bookmarks
  • Line modification indicators
  • Optional line numbers, printing features etc. etc.
  • The module in the current window is the target of the compiler / linker / builder
Oberon Language-oriented Editing
  • Automatic syntax colouring of language elements as you type
  • Auto-capitalisation of keywords as you type
Code Navigation
  • Alphabetical auto-indexed list of procedures. Click on the name to go to the procedure in the source code.
  • Auto-indexed list of imported modules. Click on the module name to open the file.
Language Features
  • Conforms to the 2016 Standard Oberon Language, including 32-bit IEEE REAL data type and operations
  • Leaf procedures use registers for parameters and local variables for optimum performance
  • Interrupt procedures
  • Local dynamic array language extensions for safe memory allocation / deallocation
  • Low-level SYSTEM functions GET, PUT, ADR, BIT etc. for accessing the MCU control, status and peripheral registers
Fast Native-code Compilation
  • Fast single-pass modular compilation
  • One-click to compile the module in the current window
  • Only the current module needs to be compiled if the interfaces of imported modules are unchanged
  • Pre-compiled symbol files are used for fast access to imported modules
  • Compilation continues to the end to find as many errors as possible
  • Compilation errors are displayed in a separate window
  • Click on an error line to take you to the actual line in the source
Linking / Building
  • Automated Build feature identifies and recompiles all outdated modules before linking
  • The names and locations of imported modules are already known at link time. There is no need to maintain separate 'make' files
  • Interfaces of imported modules are validated at link time to ensure consistency and eliminate obscure runtime errors
  • Compile, link and build options are stored in configuration files.
  • Multiple projects for the same target can share a single configuration file.
  • User-defined custom settings for Code and Address allow non-NXP microcontrollers to be targeted (e.g. STM32).
Debugging and Error trapping
  • Language support for validation of procedure parameters, pre- and post-conditions using assertions
  • Automatic array index bounds checking
  • Runtime library Out can be used to send trace output to the Astrobe terminal window via a UART serial connection
  • Trapped runtime errors and failed assertions are identified by module name and source line number
  • Source code of the Traps runtime library module can be user-customised
Uploading and Running
  • Compact and fast 32-bit native-code applications are created
  • No special hardware programming tool is required
  • Upload via USB drive for mbed-enabled and LPC1347 boards
  • Upload via UART connected via a COM / USB serial port
  • Integrated terminal emulation facility to communicate via the UART with a running program on the target device
  • BIN and HEX-format files are also created to allow you to program target devices using 3rd-party tools e.g. FlashMagic and ST-Link.
Runtime and General Library Modules
  • Main - Initialisation code required by a Cortex-M3 application
  • Out - Formatted ASCII text output of chars, strings and integers
  • Serial - Serial input and output communication via UARTs
  • Timers - Microsecond and millisecond time measurement and delays
  • Reals - Conversion of real numbers to and from strings
  • Storage - Memory allocation / deallocation for pointer variables
  • LinkerOptions - Access to user-supplied link-time information
  • Support for 32-bit IEEE floating point add, subtract, multiply and divide
Additional Library Modules (NXP and STM32 except where noted)
  • MCU - Definitions of peripheral register addresses. Allows explicit software control of the target microcontroller's features. These can include ADC, DAC, GPIO, NVIC, I2C, RTC, SPI, SSP, Timers, UART  etc.
  • ADC - Analog to Digital convertor (NXP only)
  • Clock - access the time components of the Real Time Clock
  • Graphics - device-independent drawing of lines, circles and ellipses
  • I2C - control serial RAMs and EEPROMS, LCDs, accelerometers, temperature and pressure gauges, compasses etc. (NXP only)
  • IAP - In-Application Programming - On-chip Flash read and write (NXP only)
  • Math - Mathematical and trigonometrical functions
  • Random - Random number generation
  • ResData - Resource data handling (constant data, images, fonts etc.)
  • SPI - Serial Peripheral Interface: control LCD displays, SD cards, 7-segment LEDs, and digital sensors such as accelerometers, magnetometers, etc.
  • Strings - General text string processing
Source Code Examples
Low-level SYSTEM Language Extensions
  • Direct access to the special registers Program Counter (PC), Link Register (LNK), Stack Pointer (SP) and Frame pointer (FP)
  • Byte-level addressing of all built-in and user-defined data types and structures
  • Type casting
Max Program Size (Cortex-M3 Target-dependent)
  • Unlimited code (Flash)
  • Unlimited data (CPU SRAM)
  • Maximum number of modules
 512 KB
 64 KB
256    
Source Code of Library Modules
  • Full source code of all runtime and additional library modules (except the compiler-dependent MAU and FPU)
Commercial Applications
  • Develop and deploy commercial applications with no additional runtime fees
Disassembler
  • Display the ARM assembler instructions generated for a module
Command-line Compiler, Linker and Build
  • Compile, Link and Build applications using batch files, 3rd-party IDEs and build tools

Copyright 2017 CFB Software. All rights reserved. Privacy Policy
ABN 20 939 391 060