mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktion von include-Dateien


Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur 'ne kurze Verständnisfrage...
Was bewirken bei der Mikrocontrollerprogrammierung in Assembler die 
Include-Dateien? Sind die wichtig für den Programmer, damit der weiß, 
wie er den Controller programmieren muss oder wird da noch was 
definiert, wie in höheren Sprachen? Kann mir eigentlich nicht 
vorstellen, was da noch definiert sein soll, Assembler ist doch schon 
fast niedrigste Stufe.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum machst du nicht einfach mal mit
deinem Texteditor so eine Datei auf und schaust hinein?

Dann weist du was da drinnen ist und was da drinnen
definiert wird.

Nur als kleiner Hinweis: Es gibt viele verschiedene
AVR-Controller deren Hardware sich von anderen AVR
Controllern unterschiedet. Wie denkst du, berücksichtigt
das der Assembler?

Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das war mal 'ne schnelle Antwort...
Hätte ich ja auch mal selbst drauf kommen können. Dachte aber das wären 
Binärdateien, da hätte es halt wenig Sinn die mim Editor zu öffnen. Dass 
der Assembler Informationen über den Controller braucht ist klar, wusste 
aber nicht, ob der die aus den Include-Dateien erhält.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt: Schau mal in eine reine.
Ist sehr aufschlussreich.

Autor: Uli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auch Funktionalitaet auslagern, sodass die Hauptdatei nicht zu 
gross wird. Am Besten Dinge, die unabhaengig von einem Projekt sind. zB 
mathe, makros, ADC, UART, usw.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt in ASM aber auch Include-Dateien, die Programmcode enthalten. 
Z.B. wird man den Code für die Ansteuerung eines LCDs nicht in jedes 
Programm einkopieren sondern als separate Datei einbinden. So verfährt 
man auch mit anderen Routinensammlungen für spezielle Hardware (bei 
Hochsprachen Bibliotheken bzw. Libraries genannt).

...

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@hannes
Find ich gut, das du das hier mal so erwähnt hast. Ich versuche meine 
ASM-Routinen auch so zu programmieren (und dokumentieren), das ich sie 
immer wieder einsetzen kann. Vor ein paar Tagen hat mich gerade jemand 
gefragt:
"Gibt es in Assembler eigentlich auch Libraries??" ;-)

Autor: Dirk Hofmann (arm-dran)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörn Paschedag wrote:
> @hannes
> Find ich gut, das du das hier mal so erwähnt hast. Ich versuche meine
> ASM-Routinen auch so zu programmieren (und dokumentieren), das ich sie
> immer wieder einsetzen kann. Vor ein paar Tagen hat mich gerade jemand
> gefragt:
> "Gibt es in Assembler eigentlich auch Libraries??" ;-)

Include bedeutet ja nicht mehr als einbinden.
Hat also nicht speziell mit der Registerdefinition zu tun.

Stell Dir vor, Du schreibst ein Programm.
Um es übersichtlich zu halten oder z.B. je nach Anwendung versch. 
Programmteile mit einzubinden.

Man hat dann meistens eine Haupt-ASM Datei, von der aus alle anderen 
Programmteile, Definitionen, Datensegmente mit einbezogen werden.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei es einen erheblichen Unterschied macht, ob man lediglich Code in 
Include-Dateien auslagert oder tatsächlich Libraries verwendet. Eine 
Library ist auch bei Assemblerprogrammierung keine Include-Datei, 
sondern eine Sammlung mehrerer bereits vom Assembler in Objectcode 
übersetzter Programmteile, die je nach Bedarf vom Linker zum Programm 
dazugelinkt werden.

Das erfordert natürlich einen Assembler, der linkbare Objektdateien 
erzeugt und einen Linker, aber hier lassen sich die in gcc enthaltenen 
Werkzeuge nutzen.

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.