MPLABX - Projekt auf mehrere ASM- Files verteilen, und diese einbinden.

OP #3759226
Lesenswert?

Hallo alle zusammen,

folgendes möchte ich gerne wissen:

Wie kann ich am besten im MPLABX, den ASM- Code für ein Projekt, auf 
mehrere Files verteilen.
Im Ordner Projects -> "Source Files" einfach mehrere .asm- Dateien 
anlegen, und diese mit #include XY.asm einbinden?

Danke schon mal, für Eure Antworten.

L.G.

Micha
#3759505
Lesenswert?

Mit #include schonmal nicht. Das funktioniert zwar technisch, ist aber 
unnötig und auch kein guter Stil.

Leg die Dateien unter Projects>Source Files ganz normal an, mehr braucht 
es erstmal nicht. Wenn du Einsprungpunkte und/oder Variablen in mehreren 
Dateien benötigst, musst du dich mit den Keywords GLOBAL und EXTERN 
beschäftigen, einfach mal in die Hilfe-Datei von MPLABX schauen.
Gast #3759968
Lesenswert?

Hi,
>#include XY.asm
also ich mache das so, allerdings für AVR. Ob das jetzt kein guter Stiel 
ist kann ich nicht sagen. Für mich wird es übersichtlicher und die 
Position lege ich fest, sonst keiner. Ob das nun bei MPLABX nicht 
sinnvoll ist kann ich nicht sagen, aber mehrere Versionen sind dann 
bestimmt schlecht.

viel Erfolg, Uwe
OP #3760734
Lesenswert?

Meister Eder schrieb:
> Leg die Dateien unter Projects>Source Files ganz normal

Hallo,

als .asm oder.inc?
Lege ich sie als .asm an, bekomme ich beim build jede menge 
Fehlermeldingen,

"Executable code and data must be defined in an appropriate section"

Lege ich sie als .inc an, bleiben die Fehlermeldungen schon mal aus.
Mit der Verwendung von "extern" und "global", verschwanden auch die 
Fehlermeldungen, dass das Symbol xy nicht definiert sei.
Nun bleibt nur noch eine Fehlermeldung übrig:

"Error - could not find definition of symbol 'init_lcd' in file 
'build/default/production/DDS_Gen_V0.01.o'."

Hätte da jemand noch einen Rat?

L.G.

Micha

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren