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


von Bernhard Roth (Gast)


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

von Daniel Drei (Gast)


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

von Bernhard Roth (Gast)


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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Peter D. (peda)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.