mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio 4 und INCLUDE Dateien


Autor: Lars Schwanitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein kleines Problem mit dem AVR Studio 4.
Ich programmiere in Assambler und habe ein paar
Funktionsblöcke wie z.B. Zeitschleifen und LCD Routinen
in externe Dateien verfrachtet und diese über "INCLUDE"
in die Hauptdatei eingebunden. Soweit so gut.
Wenn ich jetzt das Projekt übersetzen lasse, bastelt mir
der Compiler den OP-Code der "include" Dateien an die Stelle
wo sie über die "Include" Anweisung in die Hauptdatei eingebunden
werden. (In der Regel ja fast am Anfang).
Also stehen die Unterprogramme gleich am Anfang im Programmspeicher
und werden undefiniert ausgeführt.
Aufgefallen ist mir das, als der Compiler Fehlermeldungen brachte
wegen Codeüberschneidungen. Ich habe nämlich die Interruptvektoren
mit ".org $000" in der Hauptdatei festgelegt.
Wie kann ich dem AVR Studio beibringen das es den Code der externen
Dateien nicht an dem Anfang des OP-codes bringt, sondern an das Ende.
(Mit ".org $xxx" in den externen Dateien möchte ich ungerne
arbeiten).

Wenn jemand eine Lösung oder Idee für dieses Problem hat immer her
damit ;)

mfg

Lars

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer sagt denn, dass .include-Ausdrücke am Anfang stehen müssen????

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hast du mal versucht das "INCLUDE" ans Ende deines Programmes zu
schreiben?

Es grüsst,
Arno

Autor: Lars Schwanitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil das Programmiertechnisch wohl am meisten Sinn macht.
(Wurde mir zumindest mal so beigebracht).
Wenn ich die .include Anweisung erst an die Stelle bringe
wo ich die Subroutinen brauche, bastelt mir der Compiler den
ganzen Inhalt der Datei dann dort in den OP-Code.
(Was ja auch nicht unbedingt eine sichere Programmfunktion
erzeugt!!!). Außerdem kommen dann immer noch Fehlermeldungen wegen
Codeüberschneidungen, weil ja immer noch ein .org $000 am Anfang steht!

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in den includes kommt keine org wasweisich rein.
und an der stelle wo du es brauchst steht dann dein include.
Da es in ASM keine "funktionen" im eigentlichen Sinne gibt, ist es
egal wo du die includest (ich mach das meist ganz am ende da störts
nicht)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du nur definitionen / Makros drin hast kannst du sie an den anfang
setzen..
an sonsten würde ich die include dateien ans ende setzen..
gruss

Autor: Lars Schwanitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jup, das wars,
danke. Ich habe mal alle include Geschichten ans Ende der Hauptdatei
gesetzt und siehe da da klappt :).

mfg

Lars

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.