mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit indirekter pfadangabe beim AVR Studio


Autor: Multi Kulti (multikulti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,
ich habe angefangen den Queltext meiner Programme in Module 
zusammenzufassen und diese dann per .include einzubinden. Das soll das 
ganze übersichtlicher halten. Da ich alles auf einem USB-Stick habe weil 
ich an verschiedenen Rechnern arbeite, sollten es indirekte Pfadangaben 
sein.
Die includes sind folgendermaßen eingebunden:

.include "stack_init.asm"

stack_init.asm liegt in dem fall im selben Projektordner. Ich bekomme 
jedoch die fehlermeldung:
F:\AVR Projekte\Macros\Macros.asm(8): error: Cannot find include file: 
/stack_init.asm

Habe ich es falsch formuliert, oder sind relative pfadangaben beim 
Assembler nicht möglich?

mfg

Multikulti

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
haben include Files nicht die Endung .inc? Bin mir jetzt nicht 100% 
sicher aber benenne mal dein .asm Datei um die eingebunden werden soll.

Ansonsten schau mal unter Assembler Options unter additional include 
path, also ein zusätzlicher Pfad der immer durchsucht bzw. eingebunden 
wird.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Irgendwie verstehe ich dein Problem nicht. Wenn sích Projekt und 
Programmfiles im gleichen Ordner befinden brauchst du keine relativen 
Pfade.

>haben include Files nicht die Endung .inc?

Das ist Wurst, wie die heissen. Du must nur den Namen richtig schreiben.

MfG Spess

Autor: Multi Kulti (multikulti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Irgendwie verstehe ich dein Problem nicht.
Das problem ist, wenn ich einen absoluten Pfad angebe, wie z.b:
.include "F:/AVR Projekte/Macros/stack_init.asm" und ich den USB Stick 
auf dem das Projekt gespeichert ist in einen anderen PC stecke, ändert 
sich meistens der Laufwerkbuchstabe. Ich müsste jedesmall alle includes 
umschreiben.

spess53 schrieb:
> Programmfiles im gleichen Ordner befinden brauchst du keine relativen
> Pfade

Hm, wie denn?
Ist meine Schreibweise nicht richtig?

Thomas O. schrieb:
> haben include Files nicht die Endung .inc?

Die endung ist egal. Es muss nur eine Textdatei sein die im Assembler 
format geschrieben ist.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ist meine Schreibweise nicht richtig?

Eigentlich nicht.

Also ich habe vorhin noch einmal vorsichtshalber ein Projekt mit mehrern 
Dateine auf einen Stick kopiert und den originalen Ordner verschoben. 
Das Projekt lässt sich problemlos öffnen und assemblieren. Alles ohne 
Benutzung von Pfadangaben.

Andere Frage: Welchen Assembler benutzt du? AVR-Assembler oder 
AVR-Assembler2 ?

MfG Spess

Autor: Multi Kulti (multikulti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
>>Ist meine Schreibweise nicht richtig?
>
> Eigentlich nicht.

Wie wirds denn richtig geschrieben?

spess53 schrieb:
> Andere Frage: Welchen Assembler benutzt du? AVR-Assembler oder
> AVR-Assembler2 ?

AVR Assembler 2

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>>>Ist meine Schreibweise nicht richtig?
>>
>> Eigentlich nicht.

>Wie wirds denn richtig geschrieben?

Entschuldige. Ich meinte: 'Eigentlich ja '.

Wie gesagt, ich kann verschobene Projekte problemlos öffnen und 
assemblieren.

MfG Spess

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

Bewertung
0 lesenswert
nicht lesenswert
Steffen P. schrieb:
> spess53 schrieb:
>>>Ist meine Schreibweise nicht richtig?
>>
>> Eigentlich nicht.
>
> Wie wirds denn richtig geschrieben?

Sollte eigentlich so passen wie du das hast.
Sicher dass sich da nicht doch ein / irgendwo eingeschlichen hat?

Du kannst auch mal probieren:

.include "./stack_init.asm"

Und auch wenn das mitlerweile kein Thema sein sollte, aber leider immer 
noch ab und zu eines ist:

F:/AVR Projekte/Macros/stack_init.asm

"AVR Projekte"

Wer in Pfad oder Dateinamen Leerezeichen einbaut, hat es nicht besser 
verdient als das er Ärger bekommt.

Leerzeichen, Umlaute, seltene Sonderzeichen (also alles was nicht _&-~%& 
ist, vielleicht noch ein paar mehr)
das sind die Zutaten, die Banker in Pfad und Dateinamen benutzen, wenn 
sie ihre Powerpoint-Präsentationen so ablegen müssen, das sie oder ihre 
Sekretärin sie wiederfinden können.

Für Softwareentwickler, die das eine oder andere mal schon auch noch auf 
alte Commandline Tools angewiesen sind, gilt:
* Keine Leerzeichen
* Keine Umlaute
* Keine Sonderzeichen ausser _ - und ab und an vielleicht noch ein + 
oder ein % und $. Aber auf keinen Fall / \ ? . , : *
Die Gefahr ist einfach zu groß, dass irgendein Commandline Parser diese 
Zeichen als Option misversteht bzw einen Dateinamen an einem Leerzeichen 
in 2 Teile auseinanderreisst.

Weder im Pfadnamen, noch im Dateinamen.
Tus einfach nicht und du hast weniger Probleme, die dir den Tag 
blödsinnig versauen können.

Autor: Multi Kulti (multikulti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohje, ich habs raus.
Ich hab ein include in ein include verschachtelt. Die Struktur sieht 
folgendermaßen aus:

F:/AVR Projekte/ProjektTralala
darin waren die makros eingebunden
F:/AVR Projekte/Macros/Macros.asm
in Macros.asm war ein Modul eingebunden
F:/AVR Projekte/Macros/stack_init.asm

Der Witz bei der sache war jetzt, das ich den relativen Pfad im 
Macros.asm vom Standpunkt des "ProjektTralala" angeben musste, obwohl 
stack_init.asm eigentlich im selben ordner liegt wie Macros.asm

Das heißt: .include "/Macros/stack_init.asm" Also, obwohl die beiden 
Dateien im ordner Macors wahren musste ich um sie ineinander zu 
verschachteln den pfad vom Projekt aus angeben.

Naja, wieder ein Tag schlauer. Danke für eure Hilfe.

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.