siehe auch: (evtl. Links zu anderen verwandten Seiten einfügen...)
Inhaltsverzeichnis
PonyProg Allgemein
Sollte es beim Einspielen des Bootloader Probleme mit AvrDude (bzw. dem MikroKopter-Tool) geben, kann alternativ PonyProg benutzt werden.
Achtung: die aktuellere V2.7a geht nicht! Der ATMEGA644 ist nicht mehr in der Datenbank.
Nach der Installation von PonyProg muss man es ggf. einmal kalibrieren. Das hat noch nichts mit einer angeschlossenen Hardware zu tun.
(Wähle im Menü: Setup - Calibration )
Man sollte den Rechner zum Programmieren/Kalibrieren vorher einmal neu starten und während des Prozesses auch keine weitere Software laufen lassen, bzw. starten.
Der Programmiervorgang ist 'zeitkritisch' und 'ungewollte' Unterbrechungen können einen AVR-Prozessor schon mal unbrauchbar machen.
SerCon als ISP-Interface
Der SerCon wird unter Interface-Setup so eingestellt:
DT-006 als Interface
Alternativ kann z.B. auch unser ISP-Adapter zur Programmierung genutzt werden.
Dieser erfordert eine parallele Schnittstelle am PC.
Bild: Schaltplan des parallelen ISP-Adapters und der entsprechenden Einstellung unter Ponyprog
FlightCtrl: ATMEGA644 programmieren
SerCon mit der FlightCtrl Platine verbinden. (ISP2 - 6pol) Rotes Kabel jeweils auf Pin 1.
- Bl-Ctrl Platine, falls noch nicht geschehen, mit Spannung versorgen. Die grüne LED auf dem Konverter muss nun dauerhaft leuchten.
JUMPER auf dem SerCon stecken !
Controller: AVR micro --> ATMEGA644 einstellen
Bootloader für FlightCtrl auswählen
- Fusebits (Konfigurationsbits) des Controllers einstellen (Siehe folgendes Bild) und mit „Write“ schreiben
- Controller (Device) programmieren
Fuse-Setting für den Bootloader der Flight-Ctrl:
Die aktuelle Firmware wird dann mit AvrDude entweder in einem Terminal oder mit der grafischen Oberfläche des MikroKopter-Tools in die FlightCtrl eingespielt.
BL-Ctrl: MEGA8 programmieren
SerCon mit der Bl-Ctrl Platine verbinden. (ISP1 - 10pol) Rotes Kabel jeweils auf Pin 1.
- Bl-Ctrl Platine, falls noch nicht geschehen, mit Spannung versorgen. Die grüne LED auf dem Konverter muss nun dauerhaft leuchten.
JUMPER auf dem SerCon stecken !
PonyProg entsprechend der unten aufgeführter Anleitung benutzen.
Bild: Schritte zum Programmieren des Controllers:
Controller: AVR micro --> ATMEGA8 einstellen
- Bootloader für BL-Ctrl auswählen
- Fusebits (Konfigurationsbits) des Controllers einstellen (Siehe folgendes Bild) und mit „Write“ schreiben
- Controller (Device) programmieren
Hinweis Die Einstellungen hier müssen sorgfältig verglichen werden! Der Regler muss zum Programmieren mit Spannung versorgt sein. Die Fusebits müssen nur einmal programmiert werden. Wenn ein neues Programm eingespielt wird, müssen sie nicht jedes mal neu gesetzt werden.
Bild: Ponyprogeinstellung der Fusebits bei Verwendung des internen 8MHz-Oszillators und der Brown-Out-Detection (Unterspannungs-Watchdog).
Schritt 1: Controller einstellen Schritt 2: Device File öffnen Schritt Schritt 3: Fuses programmieren 4: Device programmieren
aktuelle Firmware wird dann mit AvrDude entweder in einem Terminal oder mit der grafischen Oberfläche des MikroKopter-Tools in die FlightCtrl eingespielt.
Problembehebung: Write failed
Schlägt die Programmierung mit einem "Write failed" fehl, so kann es durch Anpassung einiger Einstellungen funktionieren. In der Pony-Prog-Ini-Datei folgende Werte ändern:
- ATMegaPageWriteDelay=100
- AVRByteWriteDelay=50
- AVREraseDelay=100
(Bei PonyProg 2.06g gibt es 2 ini-Dateien: PONYPROG2000.INI und PonyProg2000_26g.ini. Im Zweifelsfall in beiden Dateien ändern).
Problembehebung: aus dem Prozessor ausgesperrt
Ist nach falschem Setzen der Fusebits (oder nach einem fehlgeschlagenem Programmieren mit avrdude) kein weiterer Zugriff auf den Prozessor mehr möglich, so kann dieser evt. mit einem Oszillator wiederbelebt werden. Siehe dazu den Beitrag AVRWiederbelebung.
= ToDo: hier gibt es noch etwas zu tun
- (Hier kann ein Link auf eine Kategorie eingefügt werden)