Vorlage für Projektbeschreibung

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

von NAME

Erstellung eines Bootloaders auf dem Attiny13, nach Peter Dannegger

Peter Dannegger hat einen Bootloader geschrieben,der im Gegegensatz zu anderen Bootloadern ohne die UART des Kontrollers auskommt. Deshalb kann er auf den Attiny13 angepasst werden.

Eine Liste von Features:

  • verwendet AVR-Studio und dazu passenden ISP-Programmer
  • one wire-Version möglich

Leider ist der Thread zu Peter Danneggers Bootloader zu einem Monster mit über 500 Beiträgen angewachsen, es hat mich einen ganzen Tag gekostet, bis ich auch nur einen Überblick hatte.

Es existiert zwar eine Gebrauchsanweisung, von Karsten Donat geschrieben, nur ist diese auf den Compiler WINAVR und auf avrdude zugeschnitten, sodass ich nicht damit zurecht kam.

Diese Beschreibung arbeitet mit AVR Studio und dazu passendem ISP-Programmer (STK500-clone)

Files zusammenstellen

1. In AVRStudio: neues Projekt eröffnen (onewire13), mit AVR-Assembler, nicht mit GCC, dabei entstehen zwei ineinander geschachtelte Ordner, im inneren befindet sich ein .aps-file.

2. BOOTLOADV21 (link siehe unten) downloaden, entzippen, alle files im Ordner Bootload in den Ordner platzieren, in dem das onewire13.aps -file befindet.

3. Studio wieder öffnen, file Bootload.asm öffnen, den gesamten Text mit "Schere" (cut) ausschneiden in die Zwischenablage, mit "Briefumschlag"(paste) den Text in onewire13.asm platzieren, das bisher leer war.

Anpassen des file onewire13, auf ATtiny13 und onewire-Betrieb

1. "include tn13def.inc" durch Löschen des Semikolon am Zeilenanfang aktivieren (einkommentieren).Achtung: eventuell ist das include-statement zu einem anderen Kontrollertyp noch aktiv, dann dieses durch ein Semikolon am Zeilenanfang stillegen (auskommentieren).

2. den gewünschten Programmierpin (portb,0) zweimal angeben, bei STX und SRX, dann entsteht onewire Betrieb.

3. Wenn two-wire Betrieb gewünscht wird, zwei verschiedene Pins angeben für SRX und STX.

4. Starten der Assemblierung (F7) lässt, wenn alle Fehler beseitigt sind, das file onewire13.hex entstehen.

Transferieren in den Attiny13

1. ATtiny auf Programmierplatte aufklemmen (bzw mit ISP verbinden, siehe Hardware).

2. file onewire13.hex über ISP-Schnittstelle einprogrammieren

3. fuse SELFPRGEN programmieren, auch die für die spätere Anwendung notwendigen fuses programmieren, da der Bootloader fuses nicht ändern kann.

Jetzt ist der ATtiny13 mit seinem Bootloader beladen, kann eingelötet oder eingesteckt werden und mit dem Anwenderprogramm programmiert werden.

Programmiervorgang mit dem Bootloader

Ein Anwenderprogramm, z. B. versuch.hex kann dann in folgenden Schritten einprogrammiert werden:

1. AVRFlash2.1.1.exe installieren und aufrufen

Um per Bootloader das Programm zu laden, ist das Programm FBOOT von Peter Dannegger auf dem PC notwendig oder das Programm AVRFlash.exe

2.Parameter eingeben

Die Kopfzeile von AVRFlash hat drei aufrufbare Menus: Datei, Port, Passwort

Datei: Pfadangebe und Name des hex.file: C:/..../versuch.hex

Port: (COM1, 38400Bd oder entsprechend)

Passwort: sich mit default zufrieden geben oder 100 Beiträge durchforsten

3. AVRFlash Programm ausführen

Verbindung mit COM1 herstellen, dazu dient bei onewire die einfache Schaltung, die Peter Dannegger angibt (PDF: onewire, in Ordner BOOTLOAD). Bei twowire benötigt man RS-232-TTL-Schnittstellenbausteine, denn der tiny verträgt keine RS232-Pegel

Flash-Button anklicken und innerhalb der Timeout-Zeit Reset des ATtiny. Bei Erfolg leuchten die drei "Leuchtdioden" grün.

Erst nach Trennen von COM1 und neuem Reset läuft danach das Anwenderprogramm, wahrscheinlich gibt es Störungen von der Leitung 2 des COM-Ports im onewire-modus

Hardware Programmierplatte

Als Ersatz für einen teuren Programmiersockel war die folgende Programmierplatte hilfreich.

Bild der Programmierplatte

Sie enthält den Footprint des SMD-Attiny13, mit dem Stecker für die ISP-Schnittstelle. (Ich selbst verwende meine private ISP-Verbindung, aus einer 7-Pin-Reihe eines alten 14-Pin IC-Sockels bestehend, die Reihenfolge der Signale ist so gewählt, dass es hier ohne Überkreuzung geht. Diese ist hier im PDF des Drockstocks zu sehen). Die Leiterbahnen wurden zuerst verzinnt, anschließend im Bereich des Kontrollers so gut wie möglich mit Lötlitze wieder entzinnt. Eine Kontaktfeder aus einem Platinen-Direktstecker (alte 5-1/2-Zoll-Floppy) drückt das IC auf die Platte. Solange die Pins nicht verbogen wurden, ergibt sich ein ausreichender Kontakt, was sich beim Lesen der Signatur und beim Verify zeigt..

Fundstellen bzw. Quellen

Der Thread zu Peter Danneggers Bootloader ist elend lang (576 Beiträge)deshalb die Angabe einiger Fundstellen in Datumsform:

30.09.09 AVRFlash2.1.1.exe (Programm für den PC, zur Benutzung des Bootloaders)

15.10.09 Adapter für onewire, auch im Ordner BOOTLOAD von PeDA

26.10.07 Protokoll des Bootloaders

07.08.09 FBOOT, die DOS-Variante des PC-Bedienprogramms für den Bootloader

Die (neueste) Version 2.2 des Bootloaders von Peter Dannegger ist findbar in:

http://www.avrfreaks.net/index.php?module=Freaks%...

Software

Beschreibung der Software

Downloads

Siehe auch

Am Ende des Artikels erfolgt eine Einsortierung in Artikel-Schublade(n), auch Kategorie(n) genannt. Damit ist Dein Artikel leichter auffindbar.

Such aus den vorhandenen Kategorien diejenige(n) aus, die am besten auf den Artikel passen.