EN | RU | ES

JEVM Release Notes

Installation and Release Notes

Java on DSP™

You have downloaded the first (and only as of this writing) runtime environment (the Java Embedded Virtual machine - JEVM) that turns the (un)familiar Digital Signal Processor (DSP) into a machine capable of executing Java™ programs on a target board with a TMS320C6xxx or TMS320C55xx processor. There are numerous benefits from having a Java capability in the DSP world:see the link below:

  • Java is unique and valuable as a hardware-independent platform for development of embedded devices with network and Internet access.
  • Consumer electronics, office and industrial automation, set-top boxes, mobile phones, automotive multimedia and home networking are but sample of the possible markets.
  • Java is both a programming language and a run-time environment, supported by a dedicated virtual machine (JVM).
  • Java is a modern object-oriented language with easy to learn C-like syntax that increases programmer’s productivity and software reusability.
  • Java supports networking and security.
  • Java provides multitasking and synchronization as part of the language.
  • Java programs are written once and run anywhere, large developer community is readily available.

Whether you are in an university or a commercial organization, you would appreciate an environment that offers the familiar Java programming model combined with the DSP specifics and signal processing capabilities, thus (generally) avoiding the need for C/C++/Assembly programming on DSP targets. If the future is Java (and it looks like it is), then JEVM is the tool to cross the bridge between the present and the future.

Copyright Note

This software product (Java Embedded Virtual Machine - JEVM - for TMS320C6xxx and TMS320C55xx TI DSP families) has been developed by and is a property of Fadata Ltd. (http://www.fadata.bg). This is not an open source nor a shareware, but a commercial product. The right to use the product for evaluation and educational purposes is hereby granted to any person or organization that has downloaded this package, on the condition that the copyright and ownership of the product is duly acknowledged by any software developed and demonstrated using the JEVM package.

JEVM is an implementation of the Java Virtual Machine specification by Sun Microsystems for TMS320C6xxx and TMS320C55xx DSP families of Texas Instruments. As this product is not (yet) certified by Sun we do not claim the product can in the strictest sense execute programs written in the Java language. However, for all practical purposes the product can be used for developing and running Java programs on target hardware with these DSP families.

Java™ is a trademark of Sun Microsystems, Inc.

Windows™ is a trademark of Microsoft Corp.

DSP/BIOS™ is a trademark of Texas Instruments, Inc.

All other mentioned copyrighted names are trademarks of their respective owners.



Target Boards

The JEVM package offers ready-for usage Java environment for the following TI DSP Starter Kits (DSK):

  • DSK5510
  • DSK6416
  • DSK6711
  • DSK6713

Host PC Platform

Windows XP is the intended host platform.

Code Composer Studio

JEVM assumes Code Composer Studio is installed (mostly for accessing code generation tools). The version of Code Composer Studio should be 3.1 or later.

Code Generation Tools

JEVM requires the following versions of TI code generation tools for C55xx and C6xxx DSPs:

  • Version 3.2.2 for C55xx DSP family.
  • Version 5.1.0 for C6xxx DSP family.

JTAG Emulator

Your target DSK should be connected to an installed JTAG emulator, preferably one from Blackhawk (http://www.blackhawk-dsp.com). JEVM Loader tool uses the JTAG interface to load JEVM executable into the target and provide I/O capabilities to it. Note that the host I/O is significantly faster if a XDS560 class emulator is used.

Sun Java SDK

You will need the Sun Java 1.4.2 SDK to compile the Java sources and execute host-side Java applications. If you do not have it installed, download and install it from the following URL: http://java.sun.com/j2se/1.4.2/download.html.

Eclipse

You will certainly want to be able to debug Java programs running on the target DSK. To do so it is best to download and install the Ecliplse platform from the following URL: http://www.eclipse.org/downloads


The JEVM distribution package consists of the following directory and file structure. It is assumed that the distribution package has a top level directory named fadata (located advisably in the disk root dirctory). The JEVM product installation directory within it is named jevm.


The fadata directory contains the following:


fadata\jevm Distribution package root directory
fadata\jevm\bin JEVM loader tool, make tool, .bat files for running JEVM on different DSP platforms, example .dat files for configuring the JTAG interface.
fadata\jevm\dsk Subdirectories for DSK targets
fadata\jevm\dsk\dsk5510 Makefile for DSK5510 and Leds.c JNI program
fadata\jevm\dsk\dsk6416 Makefile for DSK6416 and Leds.c JNI program
fadata\jevm\dsk\dsk6711 Makefile for DSK6711 and Leds.c JNI program
fadata\jevm\dsk\dsk6713 Makefile for DSK6713 and Leds.c JNI program
fadata\jevm\include JNI header files
fadata\jevm\java Various Java tests
fadata\jevm\lib JEVM class library jevm.jar, libraries for linking native code, a linker command file for all targets
fadata\jevm\out JEVM target executable for all targets

The fadata\jevm\bin directory contains the following:


jevmload.exe JEVM loader tool for Windows XP
make.exe GNU make utility
nano-x.exe Nano-X windows server
nanowm.exe Nano-X windows manager
nanox.bat For running Nano-X under Cygwin
dsk5510.dat Sample JTAG config file for DSK5510
dsk6416.dat Sample JTAG config file for DSK6416
dsk6711.dat Sample JTAG config file for DSK6711
dsk6713.dat Sample JTAG config file for DSK6713
jevm5510.bat For running JEVM for DSK5510
jevm5510di.bat For running JEVM for DSK5510 with debugger connection
jevm6416.bat For running JEVM for DSK6416
jevm6416di.bat For running JEVM for DSK6416 with debugger connection
jevm6711.bat For running JEVM for DSK6711
jevm6711di.bat For running JEVM for DSK6711 with debugger connection
jevm6713.bat For running JEVM for DSK671
jevm6713di.bat For running JEVM for DSK6713 with debugger connection

The fadata\jevm\dsk directory contains the following:


dsk5510\Leds.c JNI program for DSK5510
dsk5510\Makefile Makefile for DSK5510
dsk6416\Leds.c JNI program for DSK6416
dsk6416\Makefile Makefile for DSK6416
dsk6711\Leds.c JNI program for DSK6711
dsk6711\Makefile Makefile for DSK6711
dsk6713\Leds.c JNI program for DSK6713
dsk6713\Makefile Makefile for DSK6713


The fadata\jevm\include directory contains the following:


jni.h Main JNI header
jvmtypes.h Target-specific header
native.h Header for JNI methods

The fadata\jevm\lib directory contains the following:


lib\security JEVM security policy files
jevm.jar JEVM compiled class library
nano.jar Kaffe AWT compiled class library
jevm5510.lib DSK5510 library for JNI methods
jevm5510di.lib DSK5510 library with debugger connection for JNI methods
jevm6416.lib DSK6416 library for JNI methods
jevm6416di.lib DSK6416 library with debugger connection for JNI methods
jevm6711.lib DSK6711 library for JNI methods
jevm6711di.lib DSK6711 library with debugger connection for JNI methods
jevm6713.lib DSK6713 library for JNI methods
jevm6713di.lib DSK6713 library with debugger connection for JNI methods
native.cmd Linker command file for JNI methods for all targets

The fadata\jevm\out directory contains the following:


jevm5510.out JEVM executable for DSK5510
jevm5510di.out JEVM executable with debugger connection for DSK5510
jevm6416.out JEVM executable for DSK6416
jevm6416di.out JEVM executable with debugger connection for DSK6416
jevm6711.out JEVM executable for DSK6711
jevm6711di.out JEVM executable with debugger connection for DSK6711
jevm6713.out JEVM executable for DSK6713
jevm6713di.out JEVM executable with debugger connection for DSK6713

The fadata\jevm\java directory contains the following subdirectories:


AWT Various AWT demos
babylon Shareware Java chat application
Bytecodes Various Java tests
dhrystone Dhrystone test for Java
fadata\locale\iso JEVM localization files
JNI Various Java JNI tests
Misc Various Java tests
Reflection Various Java reflection tests
Threads Various Java threads tests
whetstone Whetstone test for Java
ZMachine Game machine for Java

The fadata\jevm\src directory contains the following:


src\native\awt-jni AWT package JNI methods source code
src\native\microwindows-0.90 Nano-X server source code
src\native\nano-x-client Nano-X client source code
src\java\gnu\java\awt GNU Classpath AWT utility classes source
src\java\gnu\java\lang GNU Classpath java/lang utility classes source
src\java\gnu\java\text GNU Classpath java/text utility classes source
src\java\java\applet Kaffe java/applet package source
src\java\java\awt Kaffe java/AWT package source
src\java\java\math Kaffe java/math package source
src\java\java\security GNU Classpath java/security package source
src\java\java\security\cert GNU Classpath java/security/cert package source
src\java\kaffe\applet Kaffe java/applet utility classes source
src\java\kaffe\awt Kaffe java/AWT utility classes source
src\java\kaffe\io Kaffe java/io utility classes source
src\java\kaffe\util Kaffe java/util utility classes source

The PATH variable should contain the path of the c:\fadata\jevm\bin directory where host tools, .bat command files and .dat files are located. The PATH should also contain the path to Sun Java SDK executables, e.g. c:\j2sdk1.4.2_04\bin. The following environment variables are assumed to be set in the Windows XP host. Use '/' instead of '\'.

JEVM_DIR Root directory of the JEVM installation (e.g. c:/fadata/jevm)
TI_DIR Directory of Code Composer Installation, e.g. c:/CCStudio_v3.1
CLASSPATH When compiling Java programs should contain the path to jevm.jar, e.g. c:/fadata/jevm/lib/jevm.jar.
When running JEVM should contain the path(s) to the Java class files using semicolon as a delimiter, e.g. c:/fadata/jevm/java/Bytecodes;c:/fadata/jevm/java/Misc.

Each of the DSKxxxx subdirectories contains a Makefile. When building the JEVM for a specific DSK, at CommandPrompt window change directory to the corresponding DSK directory and execute make.exe:

cd c:\fadata\jevm\dsk\jevm6713
make

This will build the whole set of Java tests and the JNI tests for the selected DSK.
When you want to cleanup execute make with target clean:

cd c:\fadata\jevm\dsk\jevm6713
make clean


We would be glad to receive questions, bug reports, as well as any applications and demos you have developed using JEVM. Please contact us at: Email