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
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.
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
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 :-)
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.
nagut, ich zieh meine Frage zurück, rumspielen scheint doch zu reichen
Guten Morgen,
1 | **** Build Finished **** |
2 | |
3 | **** Build of configuration Release for project test **** |
4 | |
5 | cs-make all |
6 | Building file: ../usb/src/em_usbd.c |
7 | Invoking: ARM Sourcery Windows GCC C Compiler |
8 | 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" |
9 | 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:
1 | C:\Users\csander\AppData\Local\Temp\ccuRCnWB.o: In function `INT_Disable': |
2 | em_usbd.c:(.text.INT_Disable+0x2): undefined reference to `INT_LockCnt' |
3 | em_usbd.c:(.text.INT_Disable+0x6): undefined reference to `INT_LockCnt' |
4 | 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.