STM32 Projekte für gcc + make / Portierung von IAR

Gast #2352781
Lesenswert?
• ▲
▼
Hallo,

ich bin noch relativ neu in der ARM Welt und versuche gerade, ein 
Beispielprojekt von ST (in-application-programming over ethernet) zum 
Laufen zu kriegen.
Allerdings basieren alle ST Beispiele auf IAR, ich möchte aber die 
gcc+make Toolchain nutzen (möglichst ohne Eclipse).

Mittlerweile compiliert und linkt das ganze, aber vermutlich fehlt der 
Startup Code. Die Interrupt Vector Table hab ich manuell eingehängt, der 
Stack wird also initialisiert, er hat den Einsprungpunkt in main() und 
die ISR für den SysTick.

Trotzdem hängt sich der Code kurz nach dem Start auf. Die 
Initialisierung der Clocks, WaitStates etc. funktioniert.

Aber wo werden z.B. Variablen initialisiert, wenn bei deren Definition 
ein Initwert angegeben ist? Der Original Assemblercode von IAR springt 
im Resetvector in __main. Ich springe in main().

Ist das denn unüblich, mit reinem gcc und make zu arbeiten, ganz ohne 
IDE? Ich tue mich schwer, Beispiele zu finden.

Ich würde mich über Links zu Beispielen freuen, und natürlich über 
konkrete Hinweise, was mein Code im Startup alles tun muss, was 
normalerweise von IAR hinter den Kulissen erledigt wird.

Danke, Sven

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.