This is the README file for the uBOOT 
- a bootloader for the uDMX USB-DMX Interface

version 1.2

----------------------------------------------------------------------------------------
Like the uDMX, uBOOT is based on the open source firmware only usb driver by
Objective Development. It shares the same hardware  with the uDMX...
Please see the Readme.txt file for the uDMX for details about licensing and more details
----------------------------------------------------------------------------------------

------------------------

BASIC DESCRIPTION


The uBOOT is a Bootloader application residing in the last 2k of the AVRs 
application flash memory with it's own usb driver.
If you set the AVR fuse bits  to 0xc8, 0xef:
 	
 	cd /udMX/sources/bootloader/firmware
	make fuse

the Boot-Reset fuse gets set, so every time the AVR is powered up it jumps to 
the Bootloader address (1800) instead of the main program (0000).
There we check if the jumper is set, or if a "soft jumper" is set in the EEPROM.
If not, we jump to the main application, and the device initializes itself as
a uDMX USB-DMX interface.

The uDMX command line tool version 1.2 introduces the -bootloader option to 
set the soft jumper, as in

	./udmx -bootloader


If one of the above jumpers are set, the device starts the bootloader
instead of the main application on power up and connects to the host computer as "uBOOT".
Now we can start talking to the device using the uboot commandline tool:

	./uboot -upload file_to_upload.hex    upload hex file
  	./uboot -clear_flag          		  clear softjumper
  	./uboot -leave                        leave bootloader and start application


It might be wise to check the uploaded program first (just -leave), before clearing the soft jumper
because if it is corrupted it won't be able to set the soft jumper anymore, no way to ever
call the bootloader again, and you've locked yourself out of the (not functioning) device...


------------------------

INSTALLATION

Make the uBOOT firmware and flash it to the device first

	cd bootloader/firmware/
	make
	make fuse
	make flash
	
Then you can either upload the uDMX.hex file using the ./uboot command line tool, or flash
the hex file as usual with uisp, for example. Just make sure you don't use the --erase option, 
this would erase your bootloader...

	


------------------------

MORE INFORMATION

For more information about uDMX please visit 
	http://www.anyma.ch/research/udmx/ 
	or contact research@anyma.ch


For more information about Objective Development's firmware-only USB driver
for Atmel's AVR microcontrollers please visit the URL

    http://www.obdev.at/products/avrusb/

A technical documentation of the driver's interface can be found in the file
"firmware/usbdrv/usbdrv.h".


uDMX is (c) 2006 [ a n y m a ], developed by Max & Michael Egger

avrusb is (c) 2005, 2006 by OBJECTIVE DEVELOPMENT Software GmbH.
http://www.obdev.at/
