Home : Course Map : Chapter 24 :
Javelin Stamp
JavaTech
Course Map
Chapter 24

IntroEmbeddedJava
In Eng. & Sci
J2ME Overview
Real Time Java
Java Hardware
  Chips
  Cores
  Boards
Javelin Stamp
Javelin Programs
  
   Demo 1
   Listing
   Demo 2  
   Demo 3  

SNAP
   Demo 2
 
Performance
Embed Apps
Exercises

     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

Javelin Stamp
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

  
  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.