chip45boot2 ist ein professioneller Bootloader für Atmel AVR ATmega Xmega Mikrocontroller mit Intel Hex Support und automatischer Baudraten Einstellung.
Der Bootloader passt sich automatisch der Baudrate des Hosts an, sodass es nicht notwendig ist, den Bootloader für jeden Prozessortakt neu zu übersetzen. Es existieren vorkompilierte Hexfiles für verschiedene Controllertypen und ggf. verschiedene UARTs, die unabhängig vom Prozessortakt funktionsfähig sind.
PC Software
Passend zum chip45boot2 Bootloader gibt es mit dem chip45boot2 GUI ein komfortables PC/Windows Programm mit grafischer Oberfläche, das das Programmieren von Flash und Eeprom per COM Port vereinfacht. Das Programm kann ebenso wie die vorkompilierten Hexfiles kostenlos heruntergeladen werden (siehe unten).
Wenn Sie die PC Software für ein Kundenprojekt verwenden möchten, können wir eine kundenspezifische Version erstellen (Ihr Firmenlogo und -name anstelle von chip45). Wenn das für Sie interessant ist, kontaktieren Sie uns bitte.
Mac OS X Software
Für Mac User existiert eine native Mac OS X Applikation zum einfachen Verwenden des Bootloaders auf dem Mac. Sie ist auf www.definefalsetrue.com frei verfügbar. Vielen Dank an Steffen Fuchs für dieses tolle Programm!
Linux Software
Torsten Martinsen hat ein praktisches Kommandozeilen Tool für Linux entwickelt, das unter https://github.com/bullestock/c45b heruntergeladen werden kann.
Funktionen
chip45boot2 bietet folgende Funktionen:
- Direktes Einlesen von Intel Hex Dateien
- Automatisches Einstellen der Baudrate
- XON/XOFF Protokoll
- Programmiert Flash und EEPROM
- neu: Unterstützung von RS485 halb-duplex Schnittstellen!!!
- Byteweises Schreiben und Lesen im SRAM
- Byteweises Schreiben und Lesen im EEPROM
- 2k Bootblock (8k bei ATxmega Controllern)
- Grafische Windows Oberfläche chip45boot2 GUI zum komfortablen Programmieren am PC!
Unterstützte AVR Controller
Derzeit existieren fertige Hexfile für folgende AVR Controller:
- ATmega8, ATmega88, ATmega88P, ATmega8515, ATmega8535,
- ATmega16, ATmega162, ATmega164P, ATmega168, ATmega168P,
- ATmega32, ATmega324P, ATmega325, ATmega3250,
- ATmega328P, ATmega3290P,
- ATmega64, ATmega640, ATmega645, ATmega644, ATmega644P
- ATmega128, ATmega1280, ATmega1281, ATmega1284P
- ATmega2560, ATmega2561
- AT90CAN32, AT90CAN64, AT90CAN128
- AT90PWM216
- ATxmega64a1, ATxmega128A1
- ATxmega64A3, 128A3, 256A3 (including workaround for mask revision D)
- ATxmega16A4, ATxmega32A4
Ist der von Ihnen benötigte AVR Controller nicht dabei, schreiben Sie uns eine Email und wir stellen kurzfristig ein entsprechendes Hexfile für Ihren Wunsch-Controller bereit. Dieser Service ist für Sie kostenlos!
Dokumentation
Weitere Informationen finden Sie im Infosheet.
Lizenz
Die vorkompilierten Hexfiles dürfen ohne Einschränkung für nicht-kommerzielle oder kommerzielle Projekte und Produkte verwendet werden.
Möchten Sie den Bootloader um eigene Funktionen erweitern, können Sie den Sourcecode (als AVR-Studio Projekt für WinAVR Compiler) kaufen.
Download
chip45boot2 Bootloader (precompiled hexfiles):
chip45boot2 GUI PC/Windows Program:
(requires chip45boot2 version V2.82 or newer!)
Version History
chip45boot2 Bootloader:
- V2.9H: added eeprom_busy_wait() before eeprom_write_block(...), added URSEL to reset of USART registers before application start
- V2.9G: corrected order of arguments in eeprom_write_block(...), added clearing of USART registers before application start, added disabling RXD and TXD pull-ups before application start
- V2.9F: added clearing of TCC0.CNT or TCNT1 register before application start, corrected clearing of TCC0.CTRLA and CTRLB registers (there was a typo TCC1...)
- V2.9E: added clearing of WDRF bit in MCUSR before disabling the watchdog (does not apply for Xmegas)
- V2.9D: added support for Xmega A3 devices with errata workaround
- V2.9C: changed Xmega usart initialization with BSCALE=-5 to BSCALE=-4 for better support for low baudrates with Xmega controllers
- V2.9B: improved RS485 direction control
- V2.9A: watchdog is now being disabled on all devices on bootloader (if not set fixed by fusebit)
- V2.99: added RS485 support, restructured the batch files for building the targets in the source code distribution
- V2.98: added PLL factor reset before application start with Xmega targets, added support for ATmega162
- V2.97: added support for ATxmega16A4 and ATxmega32A4, added baud rate check after baud rate calculation at startup
- V2.96: added support for Xmega devices, first one is ATxmega128A1 (mask revision H required, see bottom of device)
- V2.95: complete rewrite of the startup code, now the timeout covers the full measurement of the U's, hence it is more reliable against disturbances on RXD
- V2.94: added cli(); at bootloader start, in case bootloader was called from an application and not due to a reset; added TXD pullup at bootloader start to avoid reading of wrong bootloader version by chip45boot2 GUI due to floating pin
- V2.93: added short delay before jump to the application (command 'g') to avoid loss of XON transmission due to possible uart init in user application
- V2.90: renamed many variables and functions to indicate the data type and related module/header file, fixed a bug in command line reception
- V2.89: added internal RXD pin pullup activation to make it less sensitive against disturbances of a probably floating pin in the final application accidental high->low transitions after reset could activate the bootloader instead of the application
- V2.83: Changed welcome message, version number is printed now. New controllers.
- V2.82: Changed line ending from '\r' (0x0a) to '\n' (0x0d) and several new microcontrollers.
- V2.53: First officially released version
chip45boot2 GUI PC/Windows Program:
- V1.12: bug fix for small hex file for eeprom programming
- V1.11: changed handshake between hex records to avoid XON / XOFF timeout
- V1.10: changed receive routine for bootloader ident string, more reliable against preceding null characters, which happen sometimes
- V1.9: fixed a bug when pre-string was entered in hex representation
- V1.7: added RS485 support
- V1.6: added a pre string, which can be sent before bootloader connection and fixed an XOFF handshake issue on certain OS / UART UART driver combinations
- V1.5: rearranged buttons slightly, smaller window, progress bar, longer and interruptable connect timeout
- V1.4: fixed a bug in eeprom hexfile upload, added a help text window
- V1.2: added non-standard baudrates to the list (helps with certain target clock frequencies) and a help window
- V1.1: added more detailed output in the communication log window
- V1.0: first official release of the chip45boot2 GUI PC/Windows application