Practical
Embedded Java

aJile Reboot


A practical engineering approach to using embedded Java in real-world applications.


...



Sometimes you'd like to change some configuration in your application, or load a new one using the bootloader, and cause a firmware reboot to start up in the new application. Here's how to do the reboot part of that. This app note does not describe how to write or use a bootloader, which is a non-trivial issue in itself.

Note: this code is provided from aJile and has not been run or verified by Systronix.


Firmware Reboot for aJile systems (JStamp, JStik, SaJe)
AjileReboot20060221.jar includes all the code mentioned to the right. Be sure to read the readme.txt file.

The JVM reset will invoke the executive reset for that JVM which includes the initialization of all software drivers and threads. (The
prior instance of the JVM is TOTALLY forgotten and its memory space is reused in the same way as the first instance. Hence the created objects
will end up at the same address.) The setup of the aJ-100 and its configuration registers remains untouched.

Attached is a very simple example of how to invoke this JVM reset: restart.java.

There are also 3 buildtime txt files in" C:\ajile\Runtime_cldc\txt" that need to be modified to get access to this instruction. The files included here are from from the 3.14 release and you will need to make the modification to the file in 3.16.09 -- among others, change the path for the native methods as follows:

  1. startup.txt - Search for "trap26" in this file and you will find the path for the trap26 handler I used for the example. You'll need to replace the path with your own.
  2. replace.txt - Again, search for "trap26" in this file and you will find the path for the trap26 handler I used for the example. You'll need to replace the path with your own. In addition, you will need to replace the path for the halt method immediately following the trap26 entry.
  3. jemcodes.txt - you will need to use this modified file but you don't have to make any changes.

 
Systronix® 939 Edison St, Salt Lake City, Utah, USA 84111
Tel +1-801-534-1017, Fax +1-801-534-1019
contact us     Time Zone: MDT (UTC-6)
 

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Systronix is independent of Sun Microsystems, Inc.
TStik, JStik, JCX, JStamp, JSimm, JDroid, and JRealTime are trademarks of Systronix, Inc.
1-Wire, iButton and TINI are trademarks of Dallas Semiconductor
Simmstick is a trademark of Dontronics
LEGO® is a trademark of Lego A/S, Denmark