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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.