|
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 Cortex-M3 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
- Upload via LPC-Link for LPCXpresso boards
- 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 a Cortex-M3 application
- Formatted ASCII text
output of chars, strings, integers and reals
- Serial input and output communication via UART0
- 32-bit 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
- Definitions of register addresses for the LPC1343-,,
LPC1347- and LPC1769 families of microcontrollers. Allows explicit software control of
PMU, SCB, GPIO, UART, Timers, NVIC, I2C, SPI, SSP, SysTick Timer,
Watchdog Timer, ADC, DAC etc.
- ADC - Analog to Digital convertor
- Clock - access the time components of
the Real Time Clock
- Graphics - device-independent
drawing of lines, circles and ellipses
- I2C - Communicate
with I2C devices: serial RAMs and EEPROMS, LCDs, accelerometers, temperature and
pressure gauges, compasses etc. etc.
- 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.)
- Serial Peripheral Interface (SPI) - Communicate with SPI devices: LCD
displays, SD cards, 7-segment LEDs, and digital sensors such as accelerometers,
magnetometers, etc. 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)
- Code (Flash)
- Data (CPU SRAM)
- Maximum number of modules
|
512 KB
32 KB
256 |
128 KB
32 KB
128 |
32 KB
32 KB
32
|
32 KB
32 KB
32
|
Source Code of Library Modules
- Complete 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 and Linker
- Compile and link applications using batch files, 3rd-party IDEs and build
tools
|
 |
|
|
|