Bootloader: Unterschied zwischen den Versionen
K (→ARM) |
(→AVR) |
||
Zeile 41: | Zeile 41: | ||
* weitere im "Projects"-Bereich von [http://www.avrfreaks.net AVRFreaks] | * weitere im "Projects"-Bereich von [http://www.avrfreaks.net AVRFreaks] | ||
* [https://github.com/xythobuz/yasab YASAB] - C, RS232, unterstützt zwei UARTs gleichzeitig, mit Android Upload App. [http://xythobuz.org/index.php?p=yasab ''(Homepage)''] | * [https://github.com/xythobuz/yasab YASAB] - C, RS232, unterstützt zwei UARTs gleichzeitig, mit Android Upload App. [http://xythobuz.org/index.php?p=yasab ''(Homepage)''] | ||
* [jtxp.org/tech/tinysafeboot_en.htm TinySafeBoot] | |||
=== ARM === | === ARM === |
Version vom 24. Oktober 2013, 17:40 Uhr
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, grafische Windows und Mac OS X GUI) von Dr. Erik Lins / chip45 (UART, RS232, RS485, 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)
- USBaspLoader - USB bootloader for Atmel AVR controllers by Objective Development. Emulates the popular USBasp by Thomas Fischl (avrdude supported).
- 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
- LunaAVR Bootloader inklusive UploadTool (Windows/Linux)
- CAN Bootloader von Atmel
- CAN Bootloader von Kreatives Chaos
- MegaLoad U (U=Universal) --- Bootloader für potentiell ALLE, insbesondere auch neuere AVRs + Windows-Programmiertool
- AVR231: AES Bootloader on tinyAVR and megaAVR devices Application Note (Kommanzozeilen-AES-Encryptor + Programmer für Windows sowie AVR-Projektdateien für IAR-Compiler ohne Registrierung downloadbar, IAR-Compiler kostet 3000€)
- weitere im "Projects"-Bereich von AVRFreaks
- YASAB - C, RS232, unterstützt zwei UARTs gleichzeitig, mit Android Upload App. (Homepage)
- [jtxp.org/tech/tinysafeboot_en.htm TinySafeBoot]
ARM
- libopencm3 is a free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers, including ST STM32, Toshiba TX03, Atmel SAM3U, NXP LPC1000 and others.
- 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
- stm32bootloader for stm32 with USB IAP.
- sam7dfu USB DFU implementation for at91sam7
- openBLT[1] für STM32. (Freier open source bootloader. Habe den DEMO für ATOLLIC adaptiert und werde es bald hier bereit stellen. Funktioniert sehr gut und schnell.)
- EFM32 UART Bootloader, EFM32 USB/UART Bootloader, ab Werk vorprogrammiert bei EFM32 Controllern
MSP430
Manche µC von TI aus der MSP430-er Familie haben einen sog. Boot Strap Loader. TI hat die Beschreibung des BSL und Beispielcode offen gelegt. Damit kann man eigene Bootloader schreiben.
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:
- R8C/1x, 2x Series Standard Serial I/O Mode Protocol Specification (PDF, 27.2.12)
- Serial Protocol Specification for Boot Program (PDF, toter Link)
- R8C/10, 11, 12, 13 Groups Serial Protocol Specification (PDF, toter Link, Abhilfe: Suchen nach "rej05b0734")
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