www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fuse Bits im Sourcecode programmieren


Autor: Alex Bürgel (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend!
Als "alter" PIC benutzer, der sich jetzt auch in AVR's einarbeiten 
möchte stellt sich mir eine Frage, die das Datenblatt des ATMEGA32 mir 
leider nicht beantworten konnte:

Wie programmiere ich diese "Fuse" und "Lock" Bits in meinem Source Code?

Ich möchte dafür nicht auf irgendwelche Tricks oder externe Software 
zurückgreifen müssen...

Irgendwo im Chip wird es doch wohl diese Fuse-Register geben, so dass 
ich direkt auf diese Speicheradressen zugreifen kann und da die von mir 
benötigten Werte eintragen kann...
So in etwa:
unsigned int *fuse_h = 0xABCD;     //wobei ABCD und BCDE die Adressen 
unsigned int *fuse_l = 0xBCDE;     //der entsprechenden Register sind
*fuse_h = 5;
*fuse_l = 6;
Bei PIC's geht das zumindest so :-)

Schöne Grüße,
Alex

P.S. AVR Studio mit WinAVR

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie programmiere ich diese "Fuse" und "Lock" Bits in meinem Source Code?

Gar nicht. Die muss man im Programmer einstellen.
Oder bei Verwendung von avrdude im makefile mit angeben.

>Bei PIC's geht das zumindest so :-)

Ja, das ist schon ne schöne Sache die Fuses (ConfigWord)
über den Sourcecode ins Hex-File zu bringen ;)

Die AVRs sind da noch nicht so weit.

Autor: Alex Bürgel (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, ist ein bisschen schade, aber da kann man dann wohl (noch) nichts 
machen...

Autor: sous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wage 14 Monate später mal die Frage: ist es immer noch so?
Oder kann man die Fuse-Bit-Infos inzwischen irgendwie ins hex-File 
reinmogeln?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: sum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Stefan,

das ist ein nützlicher Hinweis, danke!

Allerdings haben die AVRs doch keine Möglichkeit, Fuses während des 
Programmablaufs zu schreiben, oder? D.h. man wird immer ein Makefile 
brauchen, was seine Programmiersoftware so ansteuert, dass diese die 
Fuses mithilfe des Programmers schreibt.

Gruesse,
 sum

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.