Forum: Mikrocontroller und Digitale Elektronik Funktion von include-Dateien


von Dussel (Gast)


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.

von Karl H. (kbuchegg)


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?

von Dussel (Gast)


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.

von Karl H. (kbuchegg)


Lesenswert?

Wie gesagt: Schau mal in eine reine.
Ist sehr aufschlussreich.

von Uli (Gast)


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.

von Hannes L. (hannes)


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).

...

von Jörn P. (jonnyp)


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??" ;-)

von Dirk H. (arm-dran)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

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.