GNU-Compiler: BLB-Bits zur Laufzeit setzen setzen

Gast #61924
Hallo Zusammen!

was mache ich denn nun wieder falsch:

der Aufruf

#include <avr/io.h>
#include <avr/ina90.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <avr/boot.h>
#include <avr/eeprom.h>


char bits;

    bits =....;
    boot_lock_bits_set(bits);

resultiert in wüsten Beschimpfungen des Compilers an meine Code:
'BLB01' undeclared (first use in this function)
'BLB02' undeclared (first use in this function)
'BLB11' undeclared (first use in this function)
'BLB12' undeclared (first use in this function)

muss ich denn noch mehr AVR-Header einbinden oder mache ich nur den
Aufruf falsch??


Gruß Martin
Gast #61928
Vermutlich hat Eric erwartet, daß die jeweiligen <avr/ioXXX.h> Files
diese Bits definieren.

Martin, schreib mal einen Bugreport auf savannah.nongnu.org dafür.
Gast #61929
Hallo Jörg, ich habe leider keine Zeit, mich durch die
savannah.nongnu.org zu wühlen, um einen Bug-Report abzusetzen.

Deshalb meine Bitte an Dich: Copy and paste mit folgemdem Text:


Bug Report:

"Problem" by using the library function "boot_lock_bits_set"

ATmega64, maybe more cpu's, too

GCC-Compiler, version 3.3.1

#include <avr/io.h>
#include <avr/ina90.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <avr/boot.h>
#include <avr/eeprom.h>


char bits;

    bits =....;
    boot_lock_bits_set(bits);

results in some error code:
'BLB01' undeclared (first use in this function)
'BLB02' undeclared (first use in this function)
'BLB11' undeclared (first use in this function)
'BLB12' undeclared (first use in this function)

it looks like a missing define for BLBxy.

Greetings from Germany
Martin





Gruß Martin
Gast #61932
Mal rein theoretisch:
Es gibt ja von Atmel diesen DES-Bootloader. Damit soll man ja updaten
können, ohne dass jemand an den Quellcode kommen kann. Welchen Sinn
macht das aber, wenn die Lockbits deaktiviert sein müssen, damit der
Loader schreiben kann? Oder kann der Bootloader sogar schreiben, wenn
der Schreibschutz aktiviert ist (wohl kaum)?
Sonst könnte man den Bootloader ja updaten lassen und dann den
dechiffrierten Code aus dem Speicher holen. Oder schmeiss ich da ein
paar Sachen durcheinander?

Henrik
Gast #61933
tja, ich bin gerade dabei, diesen Bootloader auf GNU zu portieren, aber
kämpfe noch mit allerlei inkompatibiläten. Auf dem IAR-Compiler habe
ich ihn auch noch nicht zum laufen bekommen.

Deine Fragen werde ich daher erst in kürze beantworten können. Z.Z.

ich vermute, man kan die Lockbits schon irgend wie so setzen, dass man
das Ding nachflashen kann, ohne aber das Flash auslesen zu können.

Am besten hilfst du mir bei der Entwicklung, umso schneller kann ich
deine Fragen beantworten  :-)

Gruß Martin
#61934
"Oder schmeiss ich da ein
paar Sachen durcheinander?"

Ja.

Es gibt die Hardwarelockbits und nur die haben Einfluß auf
Programmierung per High-Voltage, SPI oder JTAG.
Die müssen also immer nach dem Brennen eines sicheren Bootloaders
gesetzt werden.

Dann gibt es die Softwarelockbits und nur die haben Einfluß auf den
SPM-Befehl. Die sind dann allerdings für die Ewigkeit, also fürs
Updaten völlig witzlos.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.