IBM Java 2 Micro Environment (J2ME)

Runtime Component Installation

 

                        Version 1.1

 


Introduction

This document details the procedures for obtaining and installing the required IBM J2ME components on a target Arcom single board computer running Arcom Embedded Linux operating system.

 

Note that this is intended to be a very concise set of instructions for installing the required components on an Arcom SBC target board and is not intended to be a tutorial on the associated development environments.


J2ME Profile

A J2ME profile defines a set of APIs targeting specific functionality. The profile selection is based on the customers end application requirements combined with the amount of Flash storage any particular profile will consume.


Installation Packages

Arcom Embedded Linux packages are much like RPM (Red Hat Package Manager) packages.  The Arcom Embedded Linux is not based from Debian, but it uses the .Debian packaging system which is one of the most elegant methods of installing, upgrading, and removing software available. A package is a collection of files with instructions on what to do with them. A package usually contains a program, programs, or other files that are easier to distribute in an installable package.

 


Package File Location

All of the .deb packages detailed in this document are located at

http://www.arcom.com/support/downloads/index_J9a.htm

 

Also note that in each of the respective profile locations in this document, there are also individual file links provided.

 


File Transfer to Target

Due to device security recommendations, the Arcom Embedded Linux OS as standard does not provide an FTP server. Instead “Secure FTP” and sshd are provided for secure file transfers from a host system to the target board’s file system. Ensure that you have a file transfer utility that supports the SFTP (Secure FTP) protocol or ssh. For Window™ systems WinSCP (http://winscp.net/eng/index.php) is a free package that supports SFTP.

 

In order to initially transfer files to the target board, you will have to determine it’s IP address.  Power on target board and type the following at the prompt, as shown in the Viper board example below:-

 

viper login: root

Password: arcom

root@viper root# ifconfig eth0

eth0      Link encap: Ethernet  HWaddr 00:80:66:10:15:96

            inet addr: 10.1.1.200  Bcast: 10.1.255.255.255  Mask:255.255.0.0

            UP BROADCAST RUNNING MULTICAST  MTU::1500  Metric:1

            RX packets:233  errors:0  dropped:0  overruns:0  frame:0

            TX packets:14  errors0  dropped:0  overruns:0  carrier:0

            collisions:0  txqueuelen:1000

            RX bytes:31092  (30.3 KiB)  TX Bytes:826 (826.0 B)

            Interrupt:1  Base address:0xa300

 

The IP address is highlighted in red in the above example to indicate it’s location in the output of the “ifconfig” command.

 


Installing Multiple Profiles

Note that multiple profiles may be installed using the .deb packages described in this document. It is left to the end user to determine which profiles need to be resident on the target platform. For the sake of Flash memory efficiency, it is recommended that only one profile reside on the target.

 


Installing Runtime Components

Arcom has created a set of .deb packages to aid in the installation of the proper components for each of the IBM J2ME profiles supported on the target board. This section of the document details each of the profiles and the associated installation procedures.

jclRM (Remote Managed)

Package Installation

To install the jclRM profile, you must install the Core, jclRM, and Profile Test .deb packages. Click the links or go http://www.arcom.com/support/downloads/index_J9a.htm to download the files to your host system then, using SSH, copy the package list to the “/tmp” directory on the target  board:

 

j9-core_2.2-2_arm.deb

j9-rm_2.2-2_arm.deb

j9-profile_check_1.0-1_arm.deb

 

Once these packages are in the “/tmp” directory, log onto the target board (either via the RS-232 console or via a remote SSH session) and perform the following:



dpkg –i /tmp/*.deb <cr>

 

Reboot the system.

Testing the Installation

Run the following commands:

cd /home/arcom

sh test_profile.sh

 

jclMax

Package Installation

To install  the jclMax profile, you must install the Core, jclMax, and Profile Test .deb packages. Click the links or go to http://www.arcom.com/support/downloads/index_J9a.htm to download the files to your host system then, using SSH, copy the package list to the “/tmp” directory on the target board:

 

j9-core_2.2-2_arm.deb

j9-max_2.2-2_arm.deb

j9-profile_check_1.0-1_arm.deb

 

Once these packages are in the “/tmp” directory, log onto the target board (either via the RS-232 console or via a remote SSH session) and perform the following:



dpkg –i /tmp/*.deb <cr>

 

Reboot the system.

Test Installation

Run the following commands:

cd /home/arcom

sh test_profile.sh

 

jclPPro10 (Personal)

Package Installation

To install  the jclPPro10 profile, you must install the Core, jclPPro10, and Profile Test .deb packages. Click the links or go to  http://www.arcom.com/support/downloads/index_J9a.htm to download the files to your host system then, using SSH, copy the package list to the “/tmp” directory on the target board:

 

j9-core_2.2-2_arm.deb

j9-ppro10_2.2-2_arm.deb

j9-profile_check_1.0-1_arm.deb

 

Once these packages are in the “/tmp” directory, log onto the target board (either via the RS-232 console or via a remote SSH session) and perform the following:



dpkg –i /tmp/*.deb <cr>

 

Reboot the system.

Test Installation

Run the following commands:

cd /home/arcom

sh test_profile.sh

 

jclFoundation

Package Installation

To install  the jclFoundation profile, you must install the Core, jclFoundation, and Profile Test .deb packages. Click the links or go to http://www.arcom.com/support/downloads/index_J9a.htm to download the files to your host system then, using SSH, copy the package list to the “/tmp” directory on the target board:

 

j9-core_2.2-2_arm.deb

j9-foundation_2.2-2_arm.deb

j9-profile_check_1.0-1_arm.deb

 

Once these packages are in the “/tmp” directory, log onto the target board (either via the RS-232 console or via a remote SSH session) and perform the following:



dpkg –i /tmp/*.deb <cr>

 

Reboot the system.

Test Installation

Run the following commands:

cd /home/arcom

sh test_profile.sh

 



J9 Minimum Requirements

CORE DEB

Dependencies: None

 

Package files

/etc/hosts

Host map file

/etc/profile.d/j9_profile

Environment variable script

/opt/wsdd5.0/bin/j9

J9 executable

/opt/wsdd5.0/bin/libj9gc22.so

Garbage Collector

/opt/wsdd5.0/bin/libj9hook22.so

Link library for hookable components

/opt/wsdd5.0/bin/libj9prt22.so

J9 port library

/opt/wsdd5.0/bin/libj9thr22.so

Thread library native

/opt/wsdd5.0/bin/libj9vm22.so

J9 VM library

/opt/wsdd5.0/bin/libj9zlib22.so

Zlib data compression library (For compressed .jars)

/opt/wsdd5.0/bin/libjsig.so

Signal Handler

/opt/wsdd5.0/bin/libj9dyn22

Dynamic class loader (.jar support)

/opt/wsdd5.0/bin/libiverel22

.jxe support

/opt/wsdd5.0/bin/libj9bcv22.so

Byte code verifier.  If not here the ‘- noverify’ options if required

/opt/wsdd5.0/bin/java.properties

 

/opt/wsdd5.0/lib/charconv.zip

 

 

RM DEB

Dependencies: CORE

 

Package files

/opt/wsdd5.0/bin/libjclrm_22.so

RM Natives

/opt/wsdd5.0/lib/jclRM/classes.zip

 

/opt/wsdd5.0/lib/jclRM/ext/profile.jar

 

 

Symbolic links

/opt/wsdd5.0/rm/bin à /opt/wsdd5.0/bin

/opt/wsdd5.0/rm/lib à /opt/wsdd5.0/lib

 

MAX DEB

Dependencies: CORE

 

Package files

/opt/wsdd5.0/bin/libjclmax_22.so

Max Natives

/opt/wsdd5.0/lib/jclMax/classes.zip

 

/opt/wsdd5.0/lib/jclMax/ext/profile.jar

 

 

Symbolic links

/opt/wsdd5.0/max/bin -> /opt/wsdd5.0/bin

/opt/wsdd5.0/max/lib -> /opt/wsdd5.0/lib

 

PPRO10 DEB

Dependencies: CORE

 

Package files

/opt/wsdd5.0/bin/libjclppro10_22.so

PPro10 Natives

/opt/wsdd5.0/lib/jclPPro10/classes.zip

 

/opt/wsdd5.0/lib/jclPPro10/ext/profile.jar

 

 

Symbolic links

/opt/wsdd5.0/ppro10/bin -> /opt/wsdd5.0/bin

/opt/wsdd5.0/ppro10/lib -> /opt/wsdd5.0/lib

 

FOUNDATION DEB

Dependencies: CORE

 

Package files

/opt/wsdd5.0/bin/libjclfoun10_22.so

Foundation 1.0 natives

/opt/wsdd5.0/lib/jclFoundation10/classes.zip

 

/opt/wsdd5.0/lib/jclFoundation10/ext/profile.jar

 

 

Symbolic links

/opt/wsdd5.0/foundation10/bin -> /opt/wsdd5.0/bin

/opt/wsdd5.0/foundation10/lib -> /opt/wsdd5.0/lib

 

SWT DEB (VIPER ONLY)

Dependencies: CORE, GTK, AND (RM OR Max OR Foundation OR PPro10)

 

Package Files

libswt-atk-gtk-3062.so

 

libswt-gtk-3062.so

 

libswt-mozilla-gtk-3062.so

 

libswt-pi-gtk-3062.so

 

/opt/wsdd5.0/lib/swt/swt-mozilla.jar

 

/opt/wsdd5.0/lib/swt/swt-pi.jar

 

/opt/wsdd5.0/lib/swt/swt.jar

 

 

OPTIMIZE DEB

Dependencies: CORE, AND (RM OR Max OR Foundation OR PPro10)

 

Package files

/opt/wsdd5.0/bin/libaotrt22.so

AOT support in .jxe files

/opt/wsdd5.0/bin/libj9jit22.so

JIT support.  If present use the –Xint option

/opt/wsdd5.0/bin/libivebcu22.so

-aot option support

/opt/wsdd5.0/bin/libiveosm22.so

-aot option support

/opt/wsdd5.0/bin/jxelink

-aot option support (Executable)

 

DBG DEB

Dependencies: CORE, AND (RM OR Max OR Foundation OR PPro10)

 

Package files

/opt/wsdd5.0/bin/libj9dbg22.so

Use with –debug option

/opt/wsdd5.0/bin/libj9dbgi22.so

Local debug server

/opt/wsdd5.0/bin/libj9jpi22.so

Profiler Interface (JVMPI)

/opt/wsdd5.0/bin/libj9prf22.so

MicroAnalyzing –> use -analyze

/opt/wsdd5.0/bin/libj9rdbi22.so

Access remote debug server

/opt/wsdd5.0/bin/libj9vrb22.so

Verbose output -> use -verbose

/opt/wsdd5.0/bin/libjnichk.so

Additional JNI checks

/opt/wsdd5.0/bin/libslprof.so

SmartLinker profiling support.  Also requires profile.jar

/opt/wsdd5.0/bin/j9dbgserv

Debug Info Server (Executable)

/opt/wsdd5.0/bin/libj9dbgserv22.so

Required for debug server