Practical
Embedded Java

Jembuilder Tips


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


...



Jembuilder is the linker used to combine your generic java class files and runtime support for aJile-based targets such as JStamp, JStik, and SaJe.


Jembuilder Issues and Quirks

Building with source or destination on a network drive
applies only to aJIle 4.X, not 3.X

JemBuilder performance when your source and/or output files are on a network drive - even a fast gigabit NAS - is hugely slower, especially if the output folder is on a network. By "hugely" I mean over 10X slower! So a build which takes 10 seconds to a local drive will take over 100 seconds to a network drive. Having the source files on a network does not have such a dramatic impact. This is true only for aJile 4.X and is not true for the old 3.16.09 release.

So we have taken to building with our source files on a network, and building to a local temp folder. It's a huge time savings.


Don't mix 3.X and 4.X .ajp files!
JemBuilder 4.X won't work with older 3.16.09 .ajp files

The new version JemBuilder will read older .ajp files and appear to use them but it isn't doing the right thing and you will wind up with all sorts of strange errors such as "invalid optimization". You must use the wizard to make a new 4.X-compatible Jembuilder project when you are attempting to use old 3.16.09 project files.

It's too bad the new JemBuilder doesn't issue an error, warning, or convert the old files for you.


Don't mix 3.X and 4.X configuration files!
JemBuilder 4.X won't work with older 3.16.09 configurations

You must use new 4.X configurations with the newer aJile tools. These configurations come with aJile releases obtained from Systronix. Don't try to mix old and new target configurations!


Enabling Serial I/O in Jembuilder

If you are using serial I/O (using javaxcomm) in your embedded Java program, JemBuilder needs to be configured to enable serial drivers such as the internal UARTs com1 and com2, available on JStamp, JStik, and SaJe, and the external UARTS available on JStik with the optional Quad Serial board.

On the top menu bar in Jembuilder, click on Project-> Drivers and then be sure that com1 or com2 or both appear in the "installed drivers" section.

This screen capture to the left shows internal UART com1 and also two additional external UARTs selected. Note that these particular UARTs are only available if you are using the Quad Serial board.

 

Then you will see these serial ports appear in the left pane under JVM0 in the drivers folder, and you can set some options there, but only after you "install" the serial drivers in the Project->Drivers top menu bar first.

 
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