Sunteți pe pagina 1din 4

The simpleRTJ is a clean room implementation of the Java virtual machine that has been specially optimised to

run on devices with limited amount of memory and without the support of any RTOS. !t has all the key features
that are required from any decent vN implementation including multi-threading and garbage collection. The
simpleRTJ's customisation options make it ideal to run on a wide range of 8, 16 and 32 bit microcontrollers as it
can be easily tailored to suit the target system.
!t is the only known implementation of the Java virtual Nachine that can execute bytecodes on devices with bank
switching memory model.
Features
. Small memory footprint requiring on average less than
18-2+KB with most options enabled
. Designed to run as a stand-alone miniature Java OS. No
other RTOS is required.
. Nulti-threading with object's monitor locking and wait/
notify synchronization
. Optimised set of standard libraries to preserve small
memory footprint of Java applications
. Direct support for javax.events package - the
asynchronous event handling in Java code
. String/StringBuffer objects are supported
. Exception handling fully supported
. !nterfaces are fully supported
. Nulti-dimensional arrays support
. Compacting three colour mark 8 sweep garbage collector
. Uses simplified native method interface to provide fast
invocation time of the native methods
. Large number of start-up configuration options allowing
vN to execute different Java applications without the
need to reload vN each time.
. Can be built separately from the native code allowing it to
be programmed into the Flash or the EPRON/EEPRON.
. Supports three memory models:
- Linear 6+KB
- Linear 16NB
- Banked 6+KB
Performance
. Uses pre-linked Java application, which significantly
reduce the application start-up times as no dynamic class
loading is required
. Pre-linked classes allow vN to execute bytecodes at full
speed without any delays that are otherwise required to
resolve constant pool symbolic references
. Efficient memory and method frames allocation schemes
improve overall vN performance
Limitations
. 6+-bit long and double data type not directly supported
. JN! not supported. Uses its own native interface
. Java.lang.Class is not provided
. Not all standard library packages are provided
Compilation options
. Enable/disable floating point support
. Can be compiled for single-threaded execution
. char data type size can be set to one byte for more
efficient memory usage
. Enable/disable garbage collection
. Runtime exceptions and notifications can include textual
messages
. Enable/disable multi-dimensional arrays
Possible applications
. Smart cards, smart card readers/writers
. Electronic payment terminals
. Factory automation
. Robotic controllers
. Small consumer devices - pagers, cellular phones, etc.
. Electronic toys
. various embedded devices
Standard libraries
. Optimised set of java.lang classes
. javax.events for handling asynchronous events
. javax.memory for direct access to the system memory
. Comprehensive set of java.util and java.io packages
available with licensed version
Debugging
Licensed vN comes with the remote GU! debugger. The
debugger performs java source code debugging in two
modes:
. Virtual - application is debugged on a host PC. Useful
during the initial development process to test the design
concept.
. Remote - application is debugged on the target device
via serial/TCP or custom communication drivers.
Requirements
. A host computer capable of running Java and target
processor development tools
. ANS! C cross-compiler for the target processor or
microcontroller
. JDK 1.2, JBuilder or similar Java !DE for compiling Java
applications and running the ClassLinker
. Additional tools for uploading binary images into the
target devices
Java application development process as it is performed on the host computer.
simpleRTJ Debugger
Application output files:
Java application binary image (.bin)
Formatted image in !ntel Hex or Notorola S records
Native methods lookup table
Optional NAP and L!ST files
JDK 1.2, JBuilder, etc.
C cross-compiler tools
.class
.java
.class
Java Compiler
ClassLinker
Java application source
files
simpleRTJ packages
java.lang
javax.events
javax.memory
etc.
Native sources:
startup code
native methods
interrupt handlers
other native code
simpleRTJ source
files
Target processor 'C'
cross-compiler & linker
Native code binary image comprising:
simpleRTJ virtual Nachine
native methods
startup and other native code
.c
lookup.c
.c .asm
From JvN
Host Computer
Generalized architecture of the embedded system with the simpleRTJ installed.
R
A
M
F
L
A
S
H
MCU
Hardware timers
Time base for
thread scheduler
Target device
System memory
Garbage collected heap
Data space for start-up code, native methods
and simpleRTJ
simpleRTJ code
Start-up code, native methods,
interrupt handlers, etc.
Java application 1
Java application 2, 3, .
Nemory space available for data store,
flash file system, etc.
I ] O
Serial
COMM
Keyboard Display
Additional peripherals
. . .
simpleRTJ remote debugger screen shots.

S-ar putea să vă placă și