AT90USB1287 Bootloader Lock Bits gesperrt

Gast #1432237
Lesenswert?
• ▲
▼
Hallo erstmal,

ich möchte meine Applkation in den AT90USB1287 mit dem schon 
integrierten Bootloader programmieren,
FLIP findet diesen auch, doch beim Versuch zu Programmieren meldet FLIP
"Device Protection is set".
Ok, ich gehe mit meinem AVR-Studio (JTAG ICE mkII) dran, und sehe 
"Further programming and verification disabled".
Nach Suche der Dukos war mit klar:
1. Die Lock Bits stehen Default auf 0(programmed)
2. Die Lock Bits können nur durch Chip Erase auf 1 gesetzt werden.

Zusammenfassung
----------------
Ich habe also einen tollen Bootloader integriert, kann diesen aber nicht
nutzen weil Flash-Programmieren gesperrt ist.
Wenn ich Flash-Programmieren erlaube, durch Chip  Erase, lösche ich aber
dadurch auch den Bootloader.

Wozu ist dann überhaupt der Bootloader drin?
Gast #1432275
Lesenswert?
• ▲
▼
Die AT90USB1287, die ich vor ca. 3 Jahren gekauft hatte, konnte ich 
direkt per USB programmieren. Ich habe allerdings dfu-programmer unter 
Linux verwendet. Da muss man vor dem Programmieren ein erase duchführen, 
dass löscht aber nicht den Bootloader.

Auslesen mit AVR-ISP ging tatsächlich zunächst nicht, da musste man den 
Chip zunächst komplett löschen und FUSES umstellen.

Ähnliche Probleme wie Deine wurden hier schon öfters berichtet -- ich 
kann mich aber nicht an eine exakte Beschreibung eines Lösungsweges 
erinnern. Vielleicht findest Du ja etwas mit der Suchfunktion.
Gast #1433016
Lesenswert?
• ▲
▼
erstmal danke Stefan für deine schnelle Antwort..

Ich bin auch einen Schritt weiter gekommen,
ich habe einfach mit dem Chip Erase von Flip gelöscht,
und dann nochmal das Programmieren durchgeführt
und es hat funktioniert,
d.h. der Bootloader war noch drin und hat auch meine
Applikation korrekt programmiert.

Nur leider lief diese dann zu langsam, da default-mässig das Fuse-Bit 
CKDIV8 aktiv ist, und dann 1Mhz statt 8Mhz laufen.

Nun müsste ich also die Fuse-Bits ändern, das geht aber nur wenn ich die 
Lock-Bits vorher per Chip Erase (im Avr-Studio) gelöscht habe,
und dann ist der Bootloader weg.
Gast #1433579
Lesenswert?
• ▲
▼
>Nun müsste ich also die Fuse-Bits ändern, das geht aber nur wenn ich die
>Lock-Bits vorher per Chip Erase (im Avr-Studio) gelöscht habe,
>und dann ist der Bootloader weg.

Ja, vorgabemäßig ist ein Prescaler aktiv, der den Takt für den gesamten 
Chip durch 8 teilt.

Das kann man per Fuse-Bits einstellen, oder auch einfach per Software:

Siehe Datenblatt -- irgendwie so wie hier

http://ssalewski.de/USB-Sources/SUDD.c

int
main(void)
{
  cli();
  CLKPR = (1<<7);
  CLKPR = 0; // clock prescaler == 0, so we have 16 MHz mpu frequency 
with our 16 MHz crystal

Den Bootloader kann man wohl jetzt auch bei Atmel herunterladen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.