Photo 1
Samples

The following is a list of the samples you will find in the Samples CD of our ARMonic USBoard product:

Sample 1 - Hold That Photo (HID USB device)

This sample shows how to write an HID firmware; shows how to use the library Java-LibUsb on the host side; shows how to use Java to communicate with the USB device through Java-LibUsb; also shows how to use Eclipse's SWT to create a refined-looking Graphical User Interface program using pure Java.

The GUI program that accompanies this sample allows you to upload a photograph of up to about 220KB to the flash memory of the board, and also allows you to retrieve that photo at any time. Of course, loading and retrieving a photo is just an example of what one can do using the approach demonstrated. The same technique can be used to load any file, such as a Password file, a Digital Certificate, etc. etc.

Sample 2 - LEDs Interrupted (non-USB firmware)

This sample shows how to write an ARM processor firmware that uses interrupts. Every time an user-defined interrupt happens, the firmware uses the notification to flash LEDs in the board.

Sample 3 - LEDs Interrupted (HID USB device)

This sample shows how to write an HID firmware. It uses basically the same structure and interruption routines used by Sample 2 above, but, because it is an USB device, the user can modify it to be able to control the device's LEDs through reports sent from the host. In that scenario, some LEDs would be interruption controlled, and some user controled. One way of doing that is by using Java and Java-LibUsb as demonstrated in Sample 1.

Sample 4 - Skilled Communicator (CDC USB device)

This sample firmware implements an USB device of the type Communication Device Class. This type of device is used to replace the legacy Serial port. In other words, whenever there is a need for a host program (Windows program, for example) to write an application as if there was a Serial port in the computer when there is none, this is the type of device that shoul be used.

To work with this sample firmware, we are using Windows' native HyperTerminal, but the user can write his own client program - in Java, for example - to communicate with this USB device. All he has to do is to use the port number and connection information provided by Windows upon enumeration, information that can be found on Windows' Device Manager under "Ports (COM & LPT)". No Serial cable required.

Sample 5: Mass Store Them Up (MSD USB device)

This sample firmware implements an USB device of the type Mass Storage Device. This type of device is used to inform the Host (Windows, Linux, etc) that the device is a Removable Drive in the system.

This type of USB device requires no client program. After the board is updated with the MSD firmware, when you connect the board to Windows, it recognizes the device and loads the appropriate kernel-level drivers for it.

Format the newly created drive once and start using it as a regular miniature drive. It uses the internal flash memory of the ARM processor to store the files. So you'll be able to load up to about 220KB of files. Since it uses the BULK endpoint, you'll be surprised with the speed of both the transfer and the flash memory. Stunning!