X-Git-Url: http://git.linex4red.de/pub/USBaspLoader.git/blobdiff_plain/56a4cf84a03639f2a2753eef01bb407697a5ea53..refs/heads/testing:/Readme.txt diff --git a/Readme.txt b/Readme.txt index 58b3b4d..6a6146b 100644 --- a/Readme.txt +++ b/Readme.txt @@ -23,32 +23,53 @@ FILES IN THE DISTRIBUTION Readme.txt ........ The file you are currently reading. firmware .......... Source code of the controller firmware. firmware/usbdrv ... USB driver -- See Readme.txt in that directory for info +updater ........... Source code of an updater-firmware exchanging bootloaders License.txt ....... Public license (GPL2) for all contents of this project. -Changelog.txt ..... Logfile documenting changes in soft-, firm- and hardware. -Schematic.txt ..... File giving infos about default and recommended hw-layout. +Schematics.txt .... File giving infos about default and recommended hw-layout. + +*_usbasploader.hex precompiled USBaspLoader for default layout and settings BUILDING AND INSTALLING ======================= This project can be built on Unix (Linux, FreeBSD or Mac OS X) or Windows. -For all platforms, you must first describe your hardware in the file -"firmware/bootloaderconfig.h". See the documentation in the example provided -with this distribution for details. Then edit "firmware/Makefile" to reflect -the target device, the device's boot loader address and fuse bit values. +For all platforms, you must first describe your hardware and layout +specific parameters (PINs to use, etc...) in "firmware/bootloaderconfig.h". +Some USB tuning is possible by modifying "firmware/usbconfig.h". +All files provide working default settings, which can be used as an example. +Then edit "Makefile.inc" (NEVER any Makefile directly!) to reflect +the target device, and some feature set departing from the default one. +(You also can edit "firmware/bootloaderconfig.h" to change feature set +and therefore memory space requirements). +Since now "Makefile.inc" has an automatic selection logic based on +the type of the microcontroller, there is NO need for setting bootloader- +addresses, lock- or fusebits anymore... Building on Windows: You need WinAVR for the firmware, see http://winavr.sourceforge.net/. -To build the firmware with WinAVR, change into the "firmware" directory, -check whether you need to edit the "Makefile" (e.g. change device settings, -programmer hardware, clock rate etc.) or bootloaderconfig.h and type "make" -to compile the source code. After you upload the code to the device with -"make flash", you should set the fuses with "make fuse". +To build the firmware with WinAVR, change into the "USBaspLoader" directory, +check whether you need to edit the files mentioned above (e.g. change device +settings, programmer hardware, clock rate etc.) and type "make" to compile +the complete source code. +After you upload the code to the device with "make flash", you should set +the fuses with "make fuse". + +If you already have some working USBaspLoader on your controller, you can +use "make update" to flash the "updater"-firmware to it. +After starting this firmware on the microcontroller it will replace the +old bootloader with the new one just compiled. +The update-feature can be used on boards, where HVPP or ISP is not possible +after production anymore. (Or you just want to save trouble laying out ISP.) +Therefore you also could implement the "HAVE_SPMINTEREFACE_MAGICVALUE"- +feature, protecting your board from wrong updates for other boards. + At default configuration the bootloader protects itself from overwriting itself. In order to sustain the new update-capability, no lock bits ("make lock") should be programmed after uploading the firmware and programming the fuse bits. + Building on Unix (Linux, FreeBSD and Mac): You need the GNU toolchain and avr-libc for the firmware. See http://www.nongnu.org/avr-libc/user-manual/install_tools.html @@ -56,11 +77,13 @@ for a good description on how to install the GNU compiler toolchain and avr-libc on Unix. For Mac OS X, we provide a read-made package, see http://www.obdev.at/avrmacpack/ -To build the firmware, change to the "firmware" directory, edit "Makefile" -and bootloaderconfig.h as described in the Windows paragraph above and type -"make" to compile the source code. Before you upload the code to the device -with "make flash", you should set the fuses with "make fuse". - +To build the firmware, change to the "USBaspLoader" directory, edit the +files mentioned above if you need to change settings (as also described in +the Windows paragraph above) and type "make" to compile the source code. +After you upload the code to the device with "make flash", you should +set the fuses with "make fuse". +As described within the Windows paragraph, "make update" can also +be used instead. WORKING WITH THE BOOT LOADER ============================ @@ -72,17 +95,6 @@ You can now flash the device with AVRDUDE through a "virtual" USBasp programmer. -USING THE USB DRIVER FOR YOUR OWN PROJECTS -========================================== -This project is not intended as a reference implementation. If you want to -use AVR-USB in your own projects, please see - * PowerSwitch for the most basic example, - * Automator for an HID example or - * AVR-Doper for a very complex example on how to simulate a serial - interface (virtual COM port). -All these projects can be downloaded from http://www.obdev.at/avrusb/ - - ABOUT THE LICENSE ================= It is our intention to make our USB driver and this demo application @@ -102,7 +114,11 @@ directory for details. MORE INFORMATION ================ For questions, reports, suggestions or just for fun please contact -Stephan Baerwolf (matrixstorm@gmx.de) +Stephan Baerwolf (matrixstorm@gmx.de) and/or visit demonstration-board +for USBaspLoader at + + http://matrixstorm.com/avr/tinyusbboard/ + For more information about Objective Development's firmware-only USB driver for Atmel's AVR microcontrollers please visit the URL @@ -115,7 +131,7 @@ file "firmware/usbdrv/usbdrv.h". -- recent version: -(c) 2012 by Stephan Baerwolf +(c) 2013 by Stephan Baerwolf matrixstorm@gmx.de initial version: