Forum: Compiler & IDEs Assembler Datei eincompilieren


von Benno Müller (Gast)


Lesenswert?

Hi!

Kurze Frage: Kann ich mehrere Assembler-Dateien eincomplilieren?
Wie hat das im Makefile auszusehen?

BM

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?


von Benno Müller (Gast)


Lesenswert?

Jaja das habe ich gelesen. Die Frage bezog sich auf das mehrere.

Das ich eine Asm-Datei mit kompilieren kann ist schon klar, aber kann 
ich auch 2 oder 3 ... einkompilieren?

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Dürfte kein Problem sein, einfach die Dateinamen im Makefile mit 
Leerzeichen trennen.

von Benno Müller (Gast)


Lesenswert?

Super! Funktioniert!

Was mich noch interessieren würde wäre die Sichtbarkeit von Variablen, 
Präprozessoranweisungen, etc. in den einzelnen Files.

Also zum Beispiel habe ich hier ein SoftwareUART für einen GPS Empfänger 
(suart_gps.s) und ein Software UART für eine GSM-Leitung (suart_gsm.s). 
Beide besitzen die selbe Funktion, sind jedoch unterschiedlich 
konfiguriert. Die GPS-Leitung mit 9600bps, 8n1, auf Pin C2 (TxD) und Pin 
C3 (RxD) und die GSM-Leitung mit 4800bps, 8n1 auf Pin D5 (TxD) und Pin 
D4 (RxD). Und die Funktionen haben natürlich noch unterschiedliche 
Namen:
suart_getc_gps(), suart_setc_gps()
suart_getc_gsm(), suart_setc_gsm()

Könnte ich Probleme bekommen das z.B. die Variable in der der Delay 
berechnet wird (Präpozessoranweisung) von der anderen überschrieben 
wird?!

Mir scheint das das bisher glatt ging (außer von einem anderen kleinen 
Problem, welches aber sicher nicht diese Ursache hat g).

von Jonas Diemer (Gast)


Lesenswert?

soweit ich weiß werden die files einzeln compiliert/assembliert und dann 
in .o dateien gepackt. erst am schluss wird gelinkt. d.h. die variablen 
sind nur in einem file definiert (nicht übergreifend).

von Peter (Gast)


Lesenswert?

Die in den Assembler-Funktionen verwendeten Variablen sind lokal, d.h. 
sie werden bei Aufruf der Funktion kreiert und anschliessend nach 
Verlassen wieder gelöscht bzw. freigegeben.

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.