Freier AVR ATmega Xmega Bootloader mit Intel Hex Support und automatischer Baudratenerkennung Autobaud - chip45boot2

AVR ATmega Xmega Bootloader - chip45boot2

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,
  • ATmega32U4,
  • ATmega64, ATmega640, ATmega645, ATmega644, ATmega644P
  • ATmega128, ATmega1280, ATmega1281, ATmega1284P
  • ATmega2560, ATmega2561
  • AT90CAN32, AT90CAN64, AT90CAN128
  • AT90PWM216, AT90PWM316
  • ATxmega64a1, ATxmega128A1, ATxmega128A1U
  • ATxmega64A3, 128A3, 128A3U, 192A3, 256A3 (including workaround for mask revision D)
  • ATxmega16A4, ATxmega16A3U, ATxmega32A4, ATxmega128A4U
  • ATxmega64D3, ATxmega128D3


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 (für Atmel Studio mit AVR GNU Toolchain) kaufen.

Download

chip45boot2 Bootloader (precompiled hexfiles):

chip45boot2 GUI PC/Windows Program:

(requires chip45boot2 version V2.82 or newer!)

Version History

chip45boot2 Bootloader:

  • V2.9Q: changed calculation of baud rate register for Xmegas (more precise now) and changed all variable types from e.g. unsigned short to uint16_t (same for 8 and 32 bit types)
  • V2.9P: changed app_start(); call for start of application, since latest avr-gcc (Studio 6.1) doesn't generate a proper jmp to address zero.
  • V2.9N: moved variable definitions from inside main() to outside, made them globally (this fixes a problem with ATxmega128A3 programming just few bytes, due to some compiler issue, maybe a heap vs. stack issue, unclear)
  • V2.9M: added EIND=0; for devices with >128k flash, due to GCC not handling EIND correctly before app_start();
  • V2.9L: fix to avoid a page write in case an end-of-file recorde is being received right after the previous page write
  • V2.9K: setting RS485 direction pin to input before starting application after command 'g' from GUI
  • V2.9J: changed application start from goto *0; to app_start(); (goto *0 won't work anymore with the latest GCC version!)
  • V2.9I: changed myUSART.CTRLC register reset from 0x06 to 0x03 (the Xmega A Manual has the wrong reset default!)
  • 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.13: application is started now on any exit of the GUI, not only start application button
  • 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

 

Software

Versand

Wir verschicken weltweit mit Deutsche Post und DHL.

Versand per Deutsche Post und DHL.

Kostenloser Versand ab €100 Bestellwert (nur in Deutschland)
Mehr dazu.

Zahlungsarten

PayPal, Vorabüberweisung. Firmen / Institutionen in Deutschland auch Rechnung. Mehr dazu.

Logo 'PayPal empfohlen'

Händlerbund

Wir sind Mitglied im Händlerbund. Erfahren Sie hier mehr darüber.

Mitglied im Händlerbund