STM32F4xx + Keil µVision Linker Error L6411E

Gast #2786854
Lesenswert?

Moin!

Ich versuche mich gerade an nem ARM Cortex M4 mittels Keil µVision IDE 
zu programmieren, jedoch bekomme ich egal ob ich ein bestehendes 
Template, wie aus diesem Forum, lade oder mein selbst programmiertes 
Projekt kompilieren möchte folgenden Fehler:

LED.axf: Warning: L6310W: Unable to find ARM libraries.
LED.axf: Error: L6411E: No compatible library exists with a definition 
of startup symbol __main.

Beide Files sind in der Source Group und im gleichen Ordner vorhanden 
und im Reset_Handler ist __main zu finden.

Linker Cntrl String:

--cpu Cortex-M4 *.o --strict --scatter "LED.sct"
--summary_stderr --info summarysizes --map --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
 --list ".\LED.map"
-o "LED.axf"

Ich hoffe es kann mir jemand einen Tipp geben?

C-Programm:
1
#include <stm32f4xx.h>
2

3
int main(void) 
4
{
5
  SystemInit();
6
   
7
  while(1);
8

9
}
Startup File von Keil:

Siehe Anhang

MfG
Angehängte Dateien:
Persönliche Seite #2937418
Lesenswert?

Habe mal ein Projekt erstellt.

New Project, STM32F4, add startup code? yes.
File new, Code vom TO reinkopiert (den call nach SystemInit() gelöscht), 
save as: main.c
Copy "C:\Keil\ARM\Startup\ST\STM32F4xx\system_stm32f4xx.c" in meinen 
projektordner
Doppelclick auf die Group im project tree (zweiter eintrag), Add files:
main.c
system_stm32f4xx.c

compile
Program Size: Code=856 RO-data=424 RW-data=20 ZI-data=1636

fertig :-)
Angehängte Dateien:
Gast #2937419
Lesenswert?

Zu dem Startup File 'startup_stm32f4xx.s' gehört auch ein passendes 
'system_stm32f4xx.c'. Ich sehe nicht, dass das compiliert wird.
Die Funktion SystemInit() wird normalerweise bereits durch das assembler 
startup File aufgerufen. Es braucht nicht am Anfang von 'main()' 
aufgerufen werden. Wo ist diese Funktion?

Funktioniert denn das Builden eines der standard Beispiele? z.B.
C:\Keil\ARM\Boards\Keil\MCBSTM32F400\Blinky\Blinky.uvproj
Gast #2937524
Lesenswert?

Problem gelöst:

Bei mir war das Folder für den Compiler geändert. Ich musste dazu unter: 
Project -> Manage -> Components, Environment and Books -- im Reiter 
Folders/Extensions das RealView Folder auf: .\ARMCC\bin\  zurücksetzen.
Ggf. müsst ihr einfach euren richtigen Compiler-bin Ordner angeben!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren