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
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
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.
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.