www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IAR (MSP430): Fehlermeldung wegen Entry...


Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

bin grade dabei, auf einem MSP430 ein Prog zum Ansprechen einer SD-Card
zu schreiben. Da bietet es sich ja an, mehrere Files zu verwenden (Nicht
nur main.c). Nur ist das mit dem #include so eine Sache. Ich hab' mehr
Zeit damit verbraucht, das Zeugs in der richtigen Reihenfolge zu
includen als ich für den eigentlichen Code benötigt habe. Nun kann er
zwar alles kompilieren, aber dann kommt dieser Fehler:
Error[e27]: Entry "SD_Init" in module SDCard ( C:\Dokumente und
Einstellungen\Administrator\Eigene Dateien\
Developing\MSP430 - Test\F1121\SD-Card\Debug\Obj\SDCard.r43 )
redefined in module main ( C:\Dokumente und
Einstellungen\Administrator\Eigene Dateien\Developing\MSP430 -
Test\F1121\SD-Card\Debug\Obj\main.r43 )

Kann mir irgendwer sagen, was das bedeuten soll und noch wichtiger, wie
man den Fehler behebt?

Includerei sieht so aus:
1. main.c -> include msp430x16x.h
2. main.c -> include SDCard.c
3. SDCard.c -> include SDCard.h
4. SDCard.h -> include msp430x16x.h

Punkt vier ist auch etwas seltsam. Wenn ich den Include-Befehl
rausnehme, dann kennt er in der SDCard.c die Definitionen nicht mehr,
die dort eigentlich drinstehen sollten. Obwohl des File ja schon von
main.c geladen wird.

Ich wäre froh, wenn mir jemand sagen könnte, was der oben genannte
Fehler bedeuten soll und wie man ihn wegkriegt.
Besten Dank im Voraus und Gruss
Philipp

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kenn denn niemand diesen Fehler?

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich mach mir immer eine include.h wo alle #include Sachen drinne
stehen. Dann brauch ich in jeder .c Datei nur immer #include
"include.h" schreiben und alles ist gut.

Alle .h Dateien bekommen folgendes rein:
#ifndef NAME_DER_DATEI_H
#define NAME_DER_DATEI_H 1
.
.
Code
.
#endif

Damit ist sichergestellt das es keine doppelten Einbindungen gibt, was
wohl bei dir passiert ist.

Autor: ehde76 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kenn diese Meldungen aus der IAR, wenn man .c-Dateien includen möchte,
IAR mag das nicht (wird auch sonst nicht gern gesehen, da schlechter
Stil)... schreib ein ordentliches Headerfile, oder mach eine Funktionen
aus der SDCard.c mit dem "extern Befehl" in der main.c bekannt...

ganz nebenbei, müsste das ganze sogar funzen, wenn du aus .c einfach
ein .h machst...

gruß ehde76

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke euch beiden, werde ich mal probieren :)

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert jetzt. Danke nochmal, es lag wohl wirklich daran, dass ich
.c-Dateien eingebunden habe.

Autor: Martin Gate (martin_gate)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp Burch schrieb:
> Funktioniert jetzt. Danke nochmal, es lag wohl wirklich daran,
> dass ich
> .c-Dateien eingebunden habe.

Hi Philip,

ich habe gerade auch das Problem Error[e27].

kannst du mir bitte kurz zeigen, wie du das Problem behoben hast?
was und wo musstest du also im Programm schreiben?

Besten Dank im Voraus und Grüß,
Martin

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin Gate schrieb:
> kannst du mir bitte kurz zeigen, wie du das Problem behoben hast?

Glaubst Du, daß Philip hier nach nur NEUN JAHREN noch mitliest?

Autor: Linker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im ersten Post unter 2. wird ein c file includiert, dass noch im Projekt 
aufgenommen wird. Alle Symbole sind daher doppelt vorhanden, z. B. 
Funktionen und globale Variablen. Der Linker steht jetzt vor der Qual 
der Wahl, und gibt auf: Error …

Das ist nicht IAR spezifisch, sondern führt bei jedem Compiler/Linker zu 
einem Abbruch.

Autor: Martin Gate (martin_gate)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Linker schrieb:
> Im ersten Post unter 2. wird ein c file includiert, dass noch im
> Projekt
> aufgenommen wird. Alle Symbole sind daher doppelt vorhanden, z. B.
> Funktionen und globale Variablen. Der Linker steht jetzt vor der Qual
> der Wahl, und gibt auf: Error …
>
> Das ist nicht IAR spezifisch, sondern führt bei jedem Compiler/Linker zu
> einem Abbruch.


welche Symbole sind daher doppelt vorhanden?

der Fehler sieht bei mir so aus (siehe Bild)

Autor: Linker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin Gate schrieb:
> welche Symbole sind daher doppelt vorhanden?

"finetune"

Mach dich aml über die richtige Verwendung von Headern schlau. ;-)

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.