Armaide is a fast and responsive integrated ARM development environment running
on Windows. It consists of a multi-file, fully featured, syntax-aware programmer's
editor, native code ARM compiler and linker. It is designed for developing reliable
software to run on the powerful NXP / Philips LPC2000 family of ARM-based microcontrollers.
The programming language used in Armaide is Oberon-07. Its
highly-evolved consistent structure, the result of decades of language design experience,
enables you to write efficient and reliable software with the readability of Pascal
and Delphi. The result is the processing power and low-level access of C with none
of the associated risks of buffer overruns, memory leaks etc. etc.
Many programming errors that might otherwise lead to confusing results are trapped
at compile / link time before you even get to run your program. Most of the remainder
are automatically trapped at runtime. Because the system identifies the exact point
of failure you don't squander valuable development time hunting down spurious secondary
side-effects.
To help you get started, ready to compile and run LPC2000-specific source code examples
are distributed with all editions of Armaide - such as the
example code for a simple LED-blinking program. Oberon programming
text books describing in detail the source code used to solve a wide range
of general programming tasks are readily available as downloadable files.
The software used in the following examples is 100% Oberon-07. This includes
the startup code, MCU configuration, runtime error trapping and reporting facilities,
LCD drivers and the application itself. The file sizes shown are the TOTAL executable
sizes. The full source code is available on request for users of the Professional
Edition of Armaide.
The AutoCAD Slide viewer processes a vector graphics image file on a ThaiEasyElec
LPC2378 Blue Screen board. The first two AutoCAD Slide images are processed in real
time, the second two have built-in delays to show the drawing as it proceeds. The
image data file sizes are 5 KB for the Space Shuttle and 28 KB for St Pauls. The
data files are appended to the executable and read from flash ROM by the program
using Armaide's 'resource management' facilities.
Digital Clock (8 KB)
A simple digital clock application running on a mikroElektronika EasyArm LPC2148
development board with no operating system or external RAM.
Oberon for LPC2000 Microcontrollers
The Armaide compiler is a complete implementation of the standard
Oberon-07 language except for 64-bit REALs. It does however support 32-bit IEEE
REALs - including multiplication and division operations.
The compiler includes additional features particularly designed for efficient code-generation,
low-level programming and access to the capabilities of ARM-based microcontrollers:
Generation of regular ARM native code
Explicit read / write access to memory-mapped peripheral device registers
Interrupt procedures
Direct access to the program counter, frame pointer, link register and other special
ARM registers
Leaf procedures: Store parameters and local variables in registers when execution
speed is a priority
Dynamic local arrays
The library modules and linker included with Armaide support the following families
of ARM7 microcontrollers from NXP (Philips):
LPC2101 / 2102 / 2103
LPC2104 / 2105 / 2106
LPC2142 / 2144 / 2146 / 2148
LPC2212 / 2214
LPC2364 / 2366 / 2368 / 2378
Source code of the startup files and library modules is available.
Armaide IDE Features
Editing
Standard Windows, programmer-oriented, text-editing features
Fast and responsive interactive operation
Tabbed multi-document interface for editing multiple source files
Split-screen editing
Regular expression support in Find / Replace
Bookmarks
Line modification indicators
Optional line numbers, printing features etc. etc.
Language Syntax-oriented Editing
Automatic syntax colouring of Oberon language elements as you type
Auto-indexing of procedures and imports of each source file for easy code navigation
Auto-capitalisation of Oberon keywords as you type
Development
Control the Editing, Compiling, and Linking generation cycle from the menu
Capture compilation errors in a separate window
Click on an error line to take you to the actual line in the source
Automatic linking - no need for complex make files, obscure command line parameters
etc. etc.
Generates standard HEX files ready to upload to the target ARM microcontroller
Optional command-line compiler and linker for use with batch files and 'make'
tools.
Technical Support
Accurate and responsive technical support is a crucial part of the usefulness of
any software - particularly software development systems. Prospective customers
can try this out as direct technical support via our website
is available to Evaluation Edition users.
LPC2000 Development Boards
Armaide has been tested with a range of LPC2000-based development and educational
boards, with a variety of features, including the following:
No special-purpose hardware is needed to program the microcontrollers with these
boards. The compiled code is uploaded to the target from a PC via an RS232 or USB
connection using software supplied with the board or
FlashMagic.