Forum: Mikrocontroller und Digitale Elektronik STM32L Discovery: startup code Problem


von Walter S. (avatar)


Lesenswert?

ich versuche gerade ein Hello world zum laufen zu bringen.
Compiler ist gcc-arm-none-eabi-4_7

Das Programm geht natürlich nicht, kommt gar nicht zum main und rennt in 
eine exception.
Wenn ich es debugge komme ich bis dahin, das ist im startup code:

   0x08001922 <+4>:     bcc.w   0x8001918 <FillZerobss>
   0x08001926 <+8>:     bl      0x80002f4 <SystemInit>
=> 0x0800192a <+12>:    blx     0x8001ab8 <__libc_init_array>
   0x0800192e <+16>:    bl      0x8001814 <main>

wenn ich jetzt weiter steppe lande ich in der exception??
wenn ich __libc_init_array im Projekt suche finde ich es nirgends, wo 
kommt das denn her?

Wahrscheinlich (hoffentlich) was einfaches, aber ich komme da als 
ARM-Neuling nicht weiter

von Daniel B. (dbuergin)


Lesenswert?

Kann viele Ursachen haben. Gewöhn Dir an, etwas mehr Angaben zu liefern, 
sonst ist es schwierig Dir zu helfen.
- Eclipseprojekt ?
- Natives Makefile Projekt ?
- Coocox / Chibios usw Projekt ?
- Wenn möglich ein Minimalprojekt erstellen, und dieses als ZIP File 
hochladen.

In der Vergangenheit gab es diverse Probleme mit dem GCC 4.7 für den 
STM32. Ich weiss nicht, wie der aktuelle Stand ist, aber mit GCC 4.6 
(Codesourcery 2011.09 hast Du hier erstmal keine Probleme.

Ansonsten würde ich mal eines der Projekte von 
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index_cortex.html 
nehmen. Da siehst Du den Aufbau der verschiedenen Files, welche es 
braucht. Startupfile, Interruptroutinen usw.

Im Thread Beitrag "STM32F4 - Transistor schalten" hast Du am 
Schluss ein kleines Demo-Projekt von mir: Aber Achtung, das ist für den 
STM32F4. Aber darin siehst Du eine mögliche minimale Umgebung für einen 
STM32 Proz.

DB

von Walter S. (avatar)


Lesenswert?

Hallo Daniel

Daniel B. schrieb:
> Wenn möglich ein Minimalprojekt erstellen, und dieses als ZIP File
> hochladen.

ich wollte eigentlich niemandem zumuten meinen ganzen Kram zu debuggen,
ich hatte ja schon das __libc_init_array als Problem erkannt und wollte 
wissen was das macht bzw. wo es zu finden ist

Daniel B. schrieb:
> am Schluss ein kleines Demo-Projekt von mir

habe ich mir mal angeschaut und da ist __libc_init_array auskommentiert,
werde ich auch so probieren,

bis zum nächsten Problem schon Mal vielen Dank
Walter

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.