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