Forum: Mikrocontroller und Digitale Elektronik EMIDE Link Fehler


von HAL9000 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute!

Ich habe hier ein größeres Problem und bin langsam am verzweifeln.
Ich habe ein Projekt für einen STM32 entwickelt. Ich habe dazu bisher
Rowley Crossworks für ARM benutzt. Das ganze hat auch wunderbar 
funktioniert.
Nur leider habe ich auf diese IDE keinen Zugriff mehr. Ich habe mir dann
EMIDE V2.20 besorgt, die machte zunächst einmal einen guten Eindruck. 
Ich habe dann ausgehend von dem Blinky-beispiel die Dateien eingespielt. 
Das sind
ca. 100 Files. Die einzelnen Files werden auch alle ohne Warnungen bzw.
Fehler übersetzt. Nur beim Linken werden 31 angeblich undefinierte 
Referenzen
gemeldet. Die Funktionen befinden sich in 3 C-Files, die Teil des 
projektes sind. Man kommt auch über die rechte Maustaste und "Find 
implementation" zur
Quelle der Funktionen. Hat da jemand vielleicht eine Idee was die
Ursache dafür sein könnte.

MFG

von hp-freund (Gast)


Lesenswert?

HAL9000 schrieb:
> Die Funktionen befinden sich in 3 C-Files, die Teil des
> projektes sind.

Werden die 3 auch mit gebaut?

Project -> Properties... -> Build Targets -> Build target files

Stehen sie in der Liste und sind markiert?

von HAL9000 (Gast)


Lesenswert?

Hi

Ja die werden mitgebaut. Sieht man am Buildlog, die entsprechenden Haken
sind auch gesetzt. Ich habe das projekt jetzt mal mit einer Demoversion 
IAR IDE gebaut. Das geht bis auf das gemecker wegen >32K Flashgröße. Das 
Importieren von dem Projekt geht überhaupt nicht. Wenn man dem Import 2*
versucht gibt es einen Bluescreen. Ich weiss auch nicht was ich jetzt
noch machen soll. EMIDE scheint ja einfach nur Murks zu sein.

von hp-freund (Gast)


Lesenswert?

HAL9000 schrieb:
> EMIDE scheint ja einfach nur Murks zu sein.

So etwas vermute ich immer erst gaaanz zuletzt ;-)

Wenn das Projekt nicht geheim ist kannst Du es ja mal als zip anhängen, 
dann probier ich mal...

von HAL9000 (Gast)


Lesenswert?

Hi

dazu ist es zuviel, ich werde mal versuchen das ganze zu minimieren.
Ich habe mittlerweile das Projekt mal auf CooCox portiert, da kommen
die selben Fehler!. Das muss irgendwie an den Compilereinstellungen
liegen, ich fürchte da wird einfach was wegoptimiert. Kann man das
dem GCC nicht einfach abgewöhen was wegzulassen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

HAL9000 schrieb:
> Nur beim Linken werden 31 angeblich undefinierte Referenzen
> gemeldet.

Dann wirst Du Dir den genauen Linkeraufruf ansehen müssen, ob da auch 
wirklich die Objektdateien der Module, in denen die fehlenden Funktionen 
definiert sind, übergeben werden.

Als static hast Du die Funktionen nicht zufälligerweise deklariert?

von HAL9000 (Gast)


Lesenswert?

Hi

Static ist da nix. Ich mache jetzt bei dem CooCox weiter, der scheint
zugänglicher zu sein. Der legt jedenfalls eine MAP Datei an, und da
sind die Funktionen definitiv drin, hier ein Auszug:

text._Z5murkshmlllhh
                0x080151c0       0x10 ..\obj\IOSIM.o
                0x080151c0                murks(unsigned char, unsigned 
long, long, long, long, unsigned char, unsigned char)

Der CooCox hat da noch ein Häkchen "discard unused Sections". Wenn ich
den anwähe Expoldieren die Fehler, da ist dann so ziemlich alles was
in anderen Files steckt unreferenced.

Man kommt aber bei dieser IDE offensichtlich nicht an den Compiler 
Kommandostring ran. Oder hat jemand eine Ahnung wie das geht?

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.