This table summarises the features of Astrobe for LPC2000 included in each of the
four available editions of Astrobe LPC2000.
Further details of the features can be found in
the documented titled "Oberon for LPC2000 Microcontrollers" which can be downloaded
from the Oberon page and in the on-line Help included
in the Astrobe Evaluation Edition.
|
Feature |
Professional |
Personal |
Starter |
Evaluation |
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
find 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 2011 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 and BIT 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
- The only user data required is the crystal frequency and type of LPC2xxx target
|
 |
 |
 |
 |
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 a PC terminal
emulator via UART0
- Trapped runtime errors and failed assertions are identified by module name and
source line number
|
 |
 |
 |
 |
Uploading and Running
- Compact and fast 32-bit native-code applications are created
- Integrated flash memory programmer using the bootloader of the target device via a COM / USB serial port
- No special hardware programming tool is required
- Integrated terminal emulation facility to communicate with a running program on
the target device
- Standard hex-format files are also created if you prefer to program the target
device using FlashMagic
|
 |
 |
 |
 |
Runtime and General Library Modules
- Initialisation code required by an LPC2000-family application
- Definitions of register addresses common to all
LPC2100 / LPC2200-family processors. Allows explicit software control
of GPIO, UART0, Timer, MAM, PLL, VIC, I2C0, SPI0, RTC, Watchdog timer etc.
features.
- Formatted ASCII text output of chars, strings, integers and reals
- Serial input and output communication via UART0
- Timer0 Microsecond and millisecond time measurement and delays
- Conversion of integer and real numbers to and from strings
- Memory allocation / deallocation for pointer variables
- Access to linker options
- Support for 32-bit IEEE floating point add, subtract, multiply and divide
|
 |
 |
 |
 |
Additional Library Modules
- LPC2103 / LPC2106 / LPC2129 / LPC2138 / LPC2148 / LPC2214 / LPC2378 -
Definitions of register addresses for these families of processors. Allows explicit
software control of UART1, SPI1, SSP, I2C1, PWM, ADC, DAC, USB, CAN etc.
features
- ADC - Analog to Digital conversion functions
- Clock - access the time components of the Real Time Clock
- Graphics - device-independent drawing of lines, circles and ellipses
- I2C - I²C bus master read / write functions
- In-Application Programming (IAP) - On-chip Flash read and write
- Math - Mathematical and trigonometrical functions
- Random - Random number generation
- ResData - Resource data handling (constant data, images, fonts etc.)
- SPI - Serial Peripheral Interface bus master read / write functions
- 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 (LPC2000 Target-dependent)
- Code (Flash)
- Data (SRAM)
- Maximum number of modules
|
512 KB
64 KB
256 |
512 KB
64 KB
128 |
32KB
32KB
32 |
32 KB
2 KB
32 |
Source Code of Library Modules
- Complete source code of all runtime and additional library modules (except the
compiler-dependent MAU and FPU)
|
 |
 |
|
|
Customisable Startup Code
- Complete source code of the startup modules
|
 |
 |
|
|
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 and Linker
- Compile and link applications using batch files, 3rd-party IDEs and build tools
|
 |
|
|
|