www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eclipse c/c++ cortex m3 managed project.hilfe.


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: BANANA BANANA (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,
ich hab mein projekt derzeit mit eclipse, codesourcery g++ lite als 
makefile c projekt am laufen. Da ich die Vorteile von makefile 
projekten, übergeordnete mit einzubeziehen, nicht brauche, würde ich 
gern ein managed projekt draus machen. Und genau da fangen meine 
Probleme an, im makefile projekt konnte ich unter poject-> properties -> 
c/c++ build den build command auf cs-make umstellen/eintragen wie es 
codesourcery benötigt, bei einem managed projekt, also einem normalen 
projekt, ist die Option nicht änderbar.
ein anderer Punkt der damit wohl zusammenhängt ist: beim erstellen des 
makefile projekt wähle ich als toolchain "other toolchain" 
(auswahlmöglichkeit ist "other toolchain" und "mingw"), beim 
normalen/managed projekt hab ich nur mingw als Auswahlmöglichkeit.

ich hoffe mir kann da jemand weiterhelfen, kenn mich mit eclipse nicht 
sehr gut aus.

Grüße oder schönen Start ins (für manche) lange wochenende,
Chris

Autor: 900ss D. (900ss)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Du brauchst das ARM-Plugin für Eclipse. So wie es sich anhört, hast du 
das nicht eingebunden.
Der STM32 Artikel sollte dir weiterhelfen.

Autor: BANANA BANANA (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Danke,
das hat die genannten Probleme tatsächlich gelöst. Es kommen allerdings 
noch Fehler beim compilieren, weil ich wohl die Projekteinstellungen für 
ein managed Projekt noch nicht ganz richtig angepasst habe. Vielleicht 
kann mir ja nochmal jemand weiterhelfen. Ich habe folgenden Ausschnitt 
aus dem alten makefile, diese definiert den verwendeten controller, 
welches innerhalb eines header files (mittels #if defined(EFM..)) 
abgefragt wird. Wo trag ich das in einem managed Projekt ein?

DEVICE = EFM32GG990F1024
...

...
# Add -Wa,-ahld=$(LST_DIR)/$(@F:.o=.lst) to CFLAGS to produce assembly 
list files
CFLAGS += -D$(DEVICE) -mcpu=cortex-m3 -mthumb -ffunction-sections 
-fdata-sections \
-mfix-cortex-m3-ldrd -fomit-frame-pointer -Wall -DDEBUG_EFM  $(DEPFLAGS)
...

...
# Default build is debug build
all:      debug

debug:    CFLAGS += -DDEBUG -O0 -g3
debug:    $(OBJ_DIR) $(LST_DIR) $(EXE_DIR) $(EXE_DIR)/$(PROJECTNAME).bin

release:  CFLAGS += -DNDEBUG -O3
release:  $(OBJ_DIR) $(LST_DIR) $(EXE_DIR) $(EXE_DIR)/$(PROJECTNAME).bin


Viele Grüße,
Chris

Autor: bananarama (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
In deinem Projekt drückst du "Alt + Enter" oder übers Kontextmenü 
"Eigenschaften/Properties" -> C/C++ Build -> Settings

Sowas findet man durch "rumspielen" heraus oder einfach mal die 
Eclipse-Hilfe bemühen, schäm dich :-)

Autor: BANANA BANANA (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
bananarama schrieb:
> In deinem Projekt drückst du "Alt + Enter" oder übers Kontextmenü
> "Eigenschaften/Properties" -> C/C++ Build -> Settings
>
> Sowas findet man durch "rumspielen" heraus oder einfach mal die
> Eclipse-Hilfe bemühen, schäm dich :-)

Ja, da bin ich durch rumspielen schon hingekommen, und hab schon 
Kleinigkeiten wie den Processor auf "cortex-m3" umgestellt, allerdings 
eben noch nicht alles dort gefunden was ich suche.

Autor: BANANA BANANA (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
nagut, ich zieh meine Frage zurück, rumspielen scheint doch zu reichen

Autor: BANANA BANANA (Gast)
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Guten Morgen,
**** Build Finished ****

**** Build of configuration Release for project test ****

cs-make all 
Building file: ../usb/src/em_usbd.c
Invoking: ARM Sourcery Windows GCC C Compiler
arm-none-eabi-gcc -DEFM32GG990F1024 -DDEBUG_EFM -I"C:\Users\csander\Neuer Ordner\test\EFM32GG\Include" -I"C:\Users\csander\Neuer Ordner\test\emlib\inc" -I"C:\Users\csander\Neuer Ordner\test\usb\inc" -I"C:\Users\csander\Neuer Ordner\test\CMSIS\Include" -I"C:\Users\csander\Neuer Ordner\test" -I"C:\Users\csander\Neuer Ordner\test\bsp" -I"C:\Users\csander\Neuer Ordner\test\drivers" -I"C:\Users\csander\Neuer Ordner\test\drivers\fatfs\src" -O0 -ffunction-sections -fdata-sections -Wall -Wextra -mfix-cortex-m3-ldrd -fomit-frame-pointer -MMD -MP -MF"usb/src/em_usbd.d" -MT"usb/src/em_usbd.d" -mcpu=cortex-m3 -mthumb -DNDEBUG -o "usb/src/em_usbd.o" "../usb/src/em_usbd.c"
c:/program files (x86)/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol _start; defaulting to 0000800c

ich quäl mich schon seit gestern Mittag mit dieser Warnung rum. Laut 
google, welches mich zu vielen Websiten einschließlich 
mikrocontroller.net geführt hat, fehlt dem Linker das *.ld File. Dieses 
habe ich aber eingebunden (siehe Bild). Nach dem Warning kommen noch 
weitere Fehlermeldungen, hier ein kurzer Ausschnitt:

C:\Users\csander\AppData\Local\Temp\ccuRCnWB.o: In function `INT_Disable':
em_usbd.c:(.text.INT_Disable+0x2): undefined reference to `INT_LockCnt'
em_usbd.c:(.text.INT_Disable+0x6): undefined reference to `INT_LockCnt'
em_usbd.c:(.text.INT_Disable+0x12): undefined reference to `INT_LockCnt'

Ich habe auch mal das makefile meines Makefile-Projects (lauffähig) und 
das makefile welches vom normalen/managed Project generiert wird (spuckt 
die genannten Fehlermeldungen).

HIIILLLFFEEEEE,
Chris

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net