GCC libc mit cortex-m0 berursacht einen HardFault

OP #4013933
Lesenswert?
• ▲
▼
Ich vesuche gerade von einem vorherigem Makefile von mir für den 
stm32f103 ein Makefile für den stm32f030 zu schreiben. Dieses compiliert 
jetzt auch ohne Probleme aber wenn ich es auf den Micro draufflashe 
kommt er im Startupfile nur bis zum libc call (bl __libc_init_array) und 
springt dann zum Hardfault Handler (laut gdb  versucht er noch den 
ersten Befehl auszuführen). GCC kompiliert auch ordentlichen C code da 
vor der libc noch die SystemInit Funktion aufgerufen wird, die ohne 
Probleme funktioniert.
Laut gdb ist das der erste Befehl der libc, der ausgeführt wird. Danach 
bleibt er im Hardfault(in einem loop):
1
0x8000b3c <__libc_init_array>           push   {r4, r5, r6, lr}
Der Compileraufruf ist der folgende für .o:
1
arm-none-eabi-gcc -mcpu=cortex-m0 -march=armv6-m -mthumb -mfloat-abi=soft --specs=nosys.specs  -fno-strict-aliasing -fdata-sections -ffunction-sections -mlong-calls -Wall -g -Os  -DSTM32F030x6 -o Src/main.o  -c Src/main.c (Includes)
Fürs Linken:
1
arm-none-eabi-gcc -mcpu=cortex-m0 -march=armv6-m -mthumb -mfloat-abi=soft --specs=nosys.specs  -fno-strict-aliasing -fdata-sections -ffunction-sections -mlong-calls -Wall -g -Os  -DSTM32F030x6 -o main.elf ./Src/main.o (andere .o der Lib usw.) ./startup_stm32f030x6.o -specs=nano.specs -Wl,--gc-sections -Wl,-script="./STM32F030F4_FLASH.ld"
Der ggc ist der aktuellste von Linux Arch.
Hier ist der komplette Ordner:
https://mega.nz/#!HNgBDCCB!OUOFx1H3guuJdCuakYlGDawSm7o4LMpC2PARRXL-rS0

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.