Javelin
Stamp from Parallax
(Photo from Parallax)
The Javelin derives from the popular Basic
Stamp series of microcontrollers but it runs programs written
in Java instead of Basic. The Javelin Stamp comes as a 24-pin DIP
package that holds an interpreter created
with the Ubicom
SX48BD microcontroller chip. The chip translates Java bytecodes
(actually, a subset of them) into the SX48 instructions executes
them.
The module includes 32kb of non-volatile EEPROM and 32kb of RAM.
Programs are stored in the EEPROM and loaded into the RAM for execution.
The RAM holds the program's stack and heap. Programs can access
both free RAM and EEPROM space. The processor executes up to 8000
instructions/second. Sixteen digital-to-analog and analog-to-digital
conversions, general-purpose input/output pins can provide serial
I/O, pulse modulated output and pulse input. The serial interface
provides for programming the module.
Programs are saved in the EEPROM and program execution begins after
a reset. Virtual Peripheral (VP) objects run UARTS, pulse width
modulators, timers and other services and use minimal system resources.
The company offers a development system with an IDE for developing,
downloading and debugging programs on the module.
Block diagram of the Java Stamp. (Parallax)
The module runs a downsized version of Java. Differences
from the core language include:
- No floating point · 16-bit int instead of 32 bits.
- All types (byte, short, char, int and boolean) use 2 bytes,
though byte and short arrays use 1 byte per element.
- Only one-dimensional arrays (can use the index to simulate a
2-D array.)
- Single byte ASCII strings instead of two byte Unicode
- Only a single thread available, though a timer allows for scheduling
of multiple tasks. (Plus the VP objects run independently)
- No interfaces, though sub-classing of an abstract base class
is allowed.
- A subset of the core libraries is available. (Remember also
that all linked classes must be downloaded with the program and
fit into the 32kb of memory.)
- No garbage collection. All objects created will last for the
duration of the program.
The elimination of the GC was required because it would otherwise
interfere with real-time services. However, this means the programmer
must be very careful to avoid overflowing memory with objects. We
will give examples of programming
the Javelin later.
The Javelin has attracted developers who are adding to the module's
capabilities. For example, a floating-point
package has been developed for the module. See also reference
Williams for a presentation on offering
TCP/IP communications for the Javelin using the PPP (Point to Point
Protocol) over a modem.
Note that the company Systronix
offers Java module called the JStamp,
which should not to be confused with the Javelin Stamp. The JStamp
comes in a similar 24-pin DIP module but uses the aJile
aJ-80 Java processor chip.
Javelin
Stamp Evaluation Board
Photo of the the Javelin Stamp evaluation board
from Parallax. The breadboard allows for various prototyping studies.
Note that the card holds two serial line
connectors. One is used to program the Javelin Stamp. In standalone
mode this will be disconnected. If the Stamp's program then needs
to communicate with some device, e.g. a modem, then the other
serial line can be connected to the Javelin's I/O pins via jumper
wires..
(Photo. Th.Lindblad)
The next section discusses programming
the Javelin Stamp.
References and Web Resources
Latest update: Dec. 14, 2004
|