Forum: Mikrocontroller und Digitale Elektronik ELF Fuses in ASM


von Daniel (Gast)


Lesenswert?

Hallo,

im Atmel Studio 7 kann man in einem AVR-GCC Projekt mittels
1
FUSES=
2
{
3
    .low = 0xA6,
4
    .high = 0xDC,
5
    .extended = 0xF9,
6
};
ja die Fuses für ein ELF setzen.

Wie geht das aber in einem Assembler Projekt? Ich kann leider nirgends 
etwas dazu finden.

Danke für Hilfe
Daniel

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


Lesenswert?

Daniel schrieb:
> Wie geht das aber in einem Assembler Projekt?

Schieb doch einfach obiges Statement mit der Option -S durch den 
Compiler und sieh dir an, was er daraus zaubert. Werden irgendwelche 
.section-Pseudo-Ops sein.

von Daniel (Gast)


Angehängte Dateien:

Lesenswert?

Die Idee hate ich auch schon.
In der .s steht dann folgendes
1
.global  __fuse
2
  .section  .fuse,"aw",@progbits
3
  .type  __fuse, @object
4
  .size  __fuse, 3
5
__fuse:
6
  .byte  -90
7
  .byte  -36
8
  .byte  -7
Die drei Bytes entsprechen den Fuses aus der C-Datei in negativ 
Dezimal-Werten (warum auch immer in der Formatierung). Nur ist .global 
leider keine Direktive die der Assembler Compiler versteht und ich weiß 
nicht was ich daraus machen soll.

von Oliver S. (oliverso)


Lesenswert?

Der „Assembler-Compiler“ aus der gnu-Toolchain versteht .global, 
schließlich assembliert der das ja. Der will aber unbedingt ein .S 
(großes S) als Dateiendung, sonst fühlt er sich nicht angesprochen.

Willst du allerdings den Studio-eigenen Assembler benutzen, dann geht 
das nicht. Der und die Atmel-Assembler „toolchain“ funktionieren völlig 
anders.

Oliver

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.