Bootloader
Der ursprüngliche Weg, ein Programm in einen Microcomputer zu bringen, war, ein EPROM mit dem Programmcode zu brennen und es mit dem Bus des Controllers zu verbinden. Controller mit internem PROM, EPROM oder Flash-ROM besitzen meist eine dem EPROM ähnliche parallele Programmiermöglichkeit.
Moderne Controller besitzen einen Bootloader. Dies ist ein im Controller befindliches Programm, dessen Aufgabe es ist, das eigentliche Programm in den Speicher zu laden. Bootloader gibt es in vielfältiger Ausprägung. Zumeist ist es ein fest im Controller integriertes Programm wie beim C166 oder 68HC11. Dieses ermöglicht das Laden des Programms über die serielle Schnittstelle. Speziell bei diesen beiden Controllern muss sich der zu programmierende Speicher nicht im Controller selber befinden. Neu ist die Möglichkeit, auch den Bootloader im Flash selbst zu programmieren. Diese Möglichkeit bieten z. B. die ATmegas.
Siehe auch
Artikelsammlung
AVR Bootloader in C - eine einfache Anleitung
Forum
http://www.mikrocontroller.net/topic/132026#1196880
Weblinks
AVR
- Atmel Application Note 231 AES Bootloader mit vielen Beispielen von Atmel (RS232)
- AVR Bootloader FastBoot von Peter Dannegger
- AVR-Bootloader mit Verschlüsselung von Hagen Re (Forumsbeitrag)
- ATmega168 Bootloader von Simon Lehmayr (RS232)
- "Bootloader" für ATTiny2313 von Ernst Bachmann. Eine Bibliothek zum Flash-Update über RS232
- AVRProg/AVR109 kompatibler Bootloader von Martin Thomas et al. ;-) A non-free version of the bootloader with encryption (XTEA, 128 Bits Key) is also available. (RS232)
- ATmega128 Bootloader von Hunz (RS232) (über www.archive.org)
- chip45boot2 (Intel Hex Support und Auto Baud) von Dr. Erik Lins / chip45 (UART, RS232, USB)
- boofa is a simple bootloader for the Atmel AVR family of microcontrollers (Atmega16, Atmega128) with self programming capability, licensed under GPLv2. It uses the semi-standard AVR109 UART protocol at 115200 baud and is therefore easy to use with programming tools such as avrdude. The bootloader is written in assembly by Roland Riegel and fits into a 512-word bootloader section. (RS232)
- USB AVR Bootloader mit USBN9604 von Benedikt Sauter (Linux, Windows, USB)
- Crypto-Boot - an USB Boot Loader von Oleg Semyonov (Download, USB)
- AVRUSBBoot - USB bootloader for Atmel AVR controllers von Thomas Fischl (USB)
- I2C - Bootloader für ATmega8 von Thomas Kaiser (I2C)
- Atmega8 I2C Bootloader von Jochen Rößner. (I2C)
- ATmega128 Bootloader von SD/MMC von tvelliott @ Sparkfun-Forum (MMC)
- MMC-FAT Bootloader von Brian Sipos & Thomas F. Stephens. Hardware-Lösung auf Basis eines ATmega168. (MMC)
- MMC/SD Bootloader für Atmega von Stefan Seegel et al. (MMC,SD)
- Kavr: AVR Hexfile Boot Loader
- weitere im "Projects"-Bereich von AVRFreaks
- CAN Bootloader von Atmel
- Fun! Arduino Cassette Engine - Töne sind Programme. Programme machen Töne.
- MegaLoad U (U=Universal) --- Bootloader für potentiell ALLE, insbesondere auch neuere AVRs + Windows-Programmiertool
ARM
- Simple AT91SAM Bootloader von Jonathan Westhues (AT91SAM).
- uCLinux MMC Bootloader + Kernel für ARM LPC2294 von Ulrich Radig (MMC, uCLinux, LPC2000).
- "USB Firmware Upgrader" für NXP LPC214x
PIC
- Tiny UART Bootloader PIC16/18
- ds30 Loader - Open source bootloader for PIC16, PIC18, PIC24, and dsPIC by Mikael Gustafsson (GPL)
R8C
- Die R8C enthalten ab Werk bereits einen proprietären, unveränderlichen(?) Bootloader. Zur Flash-Programmierung mit Hilfe dieses Bootloaders gibt es folgende Referenzen:
- Serial Protocol Specification for Boot Program (PDF, toter Link)
- R8C/10, 11, 12, 13 Groups Serial Protocol Specification (PDF, toter Link)
ZNEO
Sonstige
- Der U-Boot (Universal Bootloader): "The 'U-Boot' Universal Bootloader project provides firmware with full source code under GPL. Many CPU architectures are supported: PowerPC(MPC5xx, MPC8xx, MPC82xx, MPC7xx, MPC74xx, 4xx), ARM(ARM7, ARM9, StrongARM, Xscale), MIPS(4Kc,5Kc), x86, Blackfin." -- U-Boot Homepage