Forum: Mikrocontroller und Digitale Elektronik STM32F4 Projekt


von Blurrp (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,

ich bin aktuell dabei mir ein STM32F4xx Template zu erstellen.
Irgendwie habe ich aber noch ein merkwürdigen Fehler:

Wenn ich die makefile aufrufe bekomme ich die Fehlermeldung:
exit.c:(.text.exit+0x16): undefined reference to `_exit'
collect2: error: ld returned 1 exit status

Irgendetwas scheint mit dem Linker nicht zu stimmen. Nach etwas googlen 
wurde in einem Beitrag vorgeschlagen --specs=rdimon.specs zu den 
Linker-Flags zu packen.

Das scheint aber nicht die Lösung zu sein:
(.text+0xe0): undefined reference to `__end__'
collect2: error: ld returned 1 exit status

Bestimmt habe ich einen groben Schnitzer in irgendeiner Datei.

Kann mir da jemand weiterhelfen?


Beste Grüße.

von Meister Propper (Gast)


Lesenswert?

Entweder C Standard Library dazulinken oder Option -nostdlib anwenden.

von Blurrp (Gast)


Angehängte Dateien:

Lesenswert?

Ach, er dachte ich will die exit() aus der stdlib.h benutzen.
Danke!

Ein Problem habe ich noch.
Und zwar möchte ich die
startup_stm32f429_439xx.s
aus dem Verzeichnis
libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/
hinzufügen.

> SRCS += startup_stm32f429_439xx.s
> ...
> CLFAGS += -Ilibraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm
> ...
> OBJS := $(OBJS:.s=.o)

Leider mekert make:
make: *** Keine Regel vorhanden, um das Target 
»build/startup_stm32f429_439xx.o«,
  benötigt von »build/main.elf«, zu erstellen.  Schluss.

Ne Idee?

von Steffen R. (steffen_rose)


Lesenswert?

Willst du wirklich direkt das Template nehmen? Dann immer aufpassen, 
dass du es dort nicht änderst. Zumindest, wenn du die Dateien dort auch 
für andere Projekte nutzt.

-I ist der Inkludepfad, wo der Präprozessor die Header sucht.
Dies hat nichts mit dem Startup Assemblerfile zu tun.

Du willst aber, dass make eine Quelle sucht für:
1
$(OBJDIR)/%.o: %.s

Probiere mal
1
VPATH += libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm

von Blurrp (Gast)


Angehängte Dateien:

Lesenswert?

hum. Ich bin ehrlich gesagt etwas überfordert.

Nun erhalte ich ganz viele Error: bad instruction Fehler.
Ist vpath nicht auch eine sehr unsaubere Lösung?

von Dieter Graef (Gast)


Lesenswert?

arm ist falsch nimm mal:
Probiere mal

VPATH += libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc

von Simon K. (simon) Benutzerseite


Lesenswert?

Lass die main einfach nicht ans Ende laufen, dann will der da auch keine 
Betriebssystemfunktionen aufrufen.

von der echte blurp (Gast)


Lesenswert?

> Blurrp

Du bist eine Schande fuer diesen Nick.
Der haette IAR genommen.

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.