mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik defines fuer AVR-Assembler


Autor: Matthias Weisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

seit einer Weile programmiere ich mit Assembler
in Verbindung mit dem AVR-Studio und bin recht
zufrieden.

Eine Sache stört mich aber. Gerne würde ich
auch verschiedene Software-Varianten in ein
und demselben Grundcode verwalten können.

Es ist ungünstig für jede Variante eine neue
Datei anlegen zu müssen. Bei entdeckten Fehlern
und Verbesserungen sind so immer parallel alle
Fassungen mitzuziehen, was erhebliche Probleme
macht, wenn man hier nicht genau vorgeht.

In C nutzt man #defines, die es aber leider beim
AVR-Assembler nicht gab. Oder habe ich da was
übersehen.

Wie realisiere ich nun diese unterschiedlichen
Stände in einer Datei? Gibt es da etwas?

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die #defines gibts es als Alternative im AVR Assembler das .equ
Leider kann die Atmel Variante noch immer kein
If - then - else

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sollte doch kein Problem sein die Assembler-Dateien einfach durch den 
cpp zu jagen? Könnte aber sein dass das AVR-Studio beim Simulieren dann 
nicht die richtige Zeile findet...

Autor: Matthias Weisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe natuerlich die #ifdef -Anweisung gemeint.
Die bräuchte ich.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon gesagt, probier doch mal den C-Präprozessor "cpp" aus und 
schau ob das AVR-Studio damit klarkommt.

Autor: Matthias Weisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Andreas für die Anregung:
Ich habe den cpp aus dem GNU mal drüberlaufen
lassen. Es gibt es paar Meldungen und die
Formatierung ändert sich ziemlich.

Dummerweise lässt der cpp neben der Auflösung
der #ifdef Kommentare in der Art #Zeilennummer
im Code zurück.

So ganz einfach wird es also wohl nicht gehen.
Einen Schalter, wie man das loswerden kann habe
ich nicht entdeckt.

So müsste ich ein kleines Programm schreiben, um
das wieder loszuwerden?

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.