mikrocontroller.net

Forum: Compiler & IDEs STK500 Programm überschreibt Fuse-Bits


Autor: Bernhard Roth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wir verwenden die letze Version von WinAVR mit PN2 für die Entwicklung
von AVR Firmware.
Zum Programmieren verwenden wir das Tool STK500.exe V2.0 von AVRStudio
mit folgenden Parametern: -dATmega8 -ccom2  -e -pf -ifmain.hex

Mit diesem Befehl wird der Bootloader in den AVR programmiert. Die
weitere Programmierung erfolgt dann über RS232.
Wir haben das Problem daß die Lockbits bei jedem Schreibvorgang mit
STK500.exe überschrieben werden. Wir möchten eigentlich nur die
Bootloader-Sektion schützen.
Bei einem Erase-Vorgang bleiben die Lockbits doch eigentlich erhalten,
oder?
Gibt es vielleicht die Möglichkeit die Lockbits im Sourcecode des
Programms zu setzen (so wie z.B. bei den PIC's)?
Alternativ würde ich die Lockbits beim Start des Bootloaders auslesen,
vergleichen und dann ggf. neu Programmieren.
Das wäre vielleicht die einfachste Möglichkeit ohne bei jedem Projekt
den Program-Befehl im PN2 abändern zu müssen (wg.
Kommandozeilenparameter STK500).

Was meint Ihr dazu?

Danke und beste Grüße

Bernhard

Autor: Daniel Drei (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja die Fuse Bits ....


also selber programmieren kann der ATMEga seine Fuse Bits nicht!

aber auslesen, und so würd ich das dann wenigstens machen,

Das Programm das den Bootloader ansteuert, liest die Fuses zurück und
vergleicht sie, nur wenn sie stimmen wird weiter programmiert, sonst
zurück zum STK500 und die Fuse Bits setzen


mfg


Daniel Drei

Autor: Bernhard Roth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, es geht ja um die Produktion bzw. Update im Feld. Einmal in der
Produktion gesetzte Lock/Fusebits sollten halt nicht mehr verloren
gehen. Egal wie oft ich den Bootloader neu schreibe bzw. die
Applikation über den Bootloader reinschiebe... Übrigens soll die
Bootloader-Software auf dem PC die Fuse- und Lockbits tunlichts nicht
ändern, noch kann sie es nicht kontrollieren. Bei jedem Gerät sind die
ja anders.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Bei einem Erase-Vorgang bleiben die Lockbits doch eigentlich
> erhalten, oder?

Nein, natürlich nicht, sonst gäbe es ja gar keinen Weg mehr, sie
wieder zu löschen.

> Gibt es vielleicht die Möglichkeit die Lockbits im Sourcecode des
> Programms zu setzen (so wie z.B. bei den PIC's)?

Nur die boot lock bits, die darf der Bootloader ändern.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Lock-Bits werden natürlich vor dem Programmieren gelöscht, sonst
ginge es ja nicht.


Schau mal in die Hilfe von AVRStudio, STK500, Command Line Software, da
stehen alle Schalter drin, auch [-l value].


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.