DSECASH eCash Eval Kit Software Download And Instructions
The DSECASH software consists of a general kit download along with two Java Web Start programs. The general kit download contains the source code to the firmware (written in C), the firmware loader (also written in C), RXTX (a serial port library used by the programs), and the source to the two Java Web Start programs. The first is the eCashEval initialization program which is used to initialize the iButtons s either sha-1 coprocessors or user tokens, and the second is the eCashMonitor program, used to monitor the demo board. See below for download and installation links for these programs, along with instructions on how to manually install the programs.
If a more detailed look at the DSECASH kit is needed, its datasheet is available for download here: /dsecash
For installing (for the first time) or launching the eCashInit or eCashMonitor programs, please click the buttons below. The source to these programs is available in the Kit Download above. Through Web Start, these install everything necessary for proper functioning, including the RXTX driver.
Java And Web Start Requirements
Using the eCashInit and eCashMonitor as Web Start programs require Java Web Start, which is included in the Java Runtime Environment version 1.4.0 (or later) downloadable from http://java.sun.com/j2se/1.4/download.html. Older versions of the JRE can also be used, but the Java Web Start Runtime must be downloaded separately. The Web Start Runtime is available for Windows, Solaris™ SPARC, Solaris X86, or Linux™. For a windows installation that already has a Java SDK installed, it is only necessary to download the Web Start Update Package. Otherwise, the Full Package must be downloaded.
Manual Software Installation
If for some reason, a manual installation of the eCash software is necessary, instructions are available below. Specifically, see the sections entitled "RXTX Instructions", "eCashInit Setup Instructions", and "eCashMonitor Setup Instructions".
RXTX Instructions
Both included Java programs, eCashInit and eCashMonitor, require RXTX 2.1 to be installed on the PC. RXTX is a cross-platform serial library used by eCashInit and eCashMonitor to communicate to the DS9097U and to the eCash eval board. The installation of RXTX is performed automatically through the Java "Web Start" process, but, just in case a manual install is necessary, the binaries for the Win32 build are included in the kit download (available from the Kit Download above). They can be found in the software/rxtx folder of the download. If a platform other than 32-bit Windows is used, the binaries and or source to RXTX is available from the RXTX website: http://www.rxtx.org.
eCashInit Instructions
The eCashInit program can be compiled and run manually if needed. Please note that it can be installed through "Web Start" as mentioned above (recommended).
To compile the eCashInit:
javac-classpath "<path to 1-Wire API>/lib/OneWireAPI.jar;." *.java
To run the eCashInit:
java-classpath "<path to 1-Wire API>/lib/OneWireAPI.jar;." eCashInit
Please note that the eCashInit program is dependent upon the existence of OneWireAPI.jar (a 1-Wire API software library) and RXTX (a serial port library) to run properly. Both get installed with the Java Webstart install process above. However, for a manual installation, it will be necessary to download the OneWireAPI.jar. The Win32 RXTX libraries can be found in the "Kit Download" mentioned above.
eCashMonitor Instructions
Similar to the eCashInit program, the eCashMonitor program can either be installed through "Web Start" as mentioned above (recommended) or installed manually. To compile and run manually, follow the instructions below.
To compile the eCashMonitor:
javac-classpath "<path to 1-Wire API>/lib/OneWireAPI.jar;." *.java
To run the eCashMonitor:
java-classpath "<path to 1-Wire API>/lib/OneWireAPI.jar;." eCashMonitor
Note that the eCashMonitor program is still in development. It can be used to monitor the evaluation board and any eCash transactions being performed by it. It should properly translate all 'events' and output them in plain English (i.e. whenever a token is debited, it should properly display the debit amount and current balance for that token). For a list of all the commands available for the eCash board, see the section below entitled: "APPENDIX A: THE ECASH PROCESSOR."
Firmware
The firmware running the evaluation board comes pre-loaded on the demo board. However, we have made it available in the download package, with source, so that developers can extend or modify the functionality of the evaluation board. The firmware was built using the Keil C51 compiler. Both versions 5.10 and 7.05 of the compiler were tested. The makefile builds all the necessary files and links them. Unfortunately, the Keil linker returns an error status after linking when it issues warnings (just warnings about unused segments). Execute 'make' with the '-i' option to ignore this error and convert the binary to the '.hex' file, ready to load on the DS89C420 eCash board.
If the Keil C51 compiler is unavailable to the developer, the pre-built hex file has been included in the download as well.
Firmware Loader
In addition to the simple integrated loader in the eCashMonitor program, a command-line loader is also included in the kit download. The command-line firmware loader program is a simple serial loader and was was built and tested on Windows using the Cygwin shell. Cygwin provides a POSIX interface (just like Unix/Linux) for serial I/O, so either Cygwin or another Unix is needed to compile and use this application. Cygwin is available for download from http://www.cygwin.com.
To build the loader:
gcc-o load420 load420.c
To run the loader:
./load420 COM1 ../Firmware/ecash.hex
After the loader process completes, the board has all the software ready for performing eCash debits.
Technical Support Resources
Dallas Semiconductor MAXIM provides many technical support resources for developers. In addition to datasheets, we provide a large number of application notes and white papers, software development tools, and a web-based discussion forum where technical questions can be posted for follow-up.