mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik GCC - Startupcode und Linkerscript für STM32F103


Autor: Daniel Wolf (wolfhunters)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich bin auf der Suche nach einen Startupcode + Linkerskript für einen 
STM32F103 Microcontroller. Wichtig dabei ist, das ich im Linkerscript 
den Stack und Heap frei konfigurieren kann. Da ich leider nicht sehr 
viel Ahnung von Linkerscripten und Assembler-Startupfiles habe, kann mir 
vielleicht hier jemand helfen.
Als Toolchain nutze ich die SARM-Toolchain von ST mit dem gcc Version 
4.2.3

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab grad was geschrieben...

Beitrag "Re: Einstieg ARM"

Autor: Daniel Wolf (wolfhunters)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du denn schon ein funktionierendes Beispiel, außer das 
Blinky-Programm? Ich habe mir jetzt mühevoll ein Startupcode + 
Linkerscript zusammengestellt bzw. gesucht. WEnn es natürlich auch ohne 
geht, wäre ja besser. Wo kann ich den da Stack und Heap einstellen? 
Brauche ich denn auch gar kein Linkerscript mehr?

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diverse Beispiele für STM32 Anglia Idealist und SARM (Codes im 
Idealist-Packet, Linker-Scripte zumindest teilweise im SARM-Packet). 
Assembler-Startupcode wird bei Cortex-M3 nicht benötigt, ein etwas 
angepasstes Linkerscript schon. Betr. Stack: siehe Cortex-M3 Manual, 
erstes Element im vector-table. Betr. Heap: Implementierungsabhängig. 
Üblicherweise wird per linker-script ein Symbol "end" definiert, ab dem 
die Speicherverwaltung den heap started (bei newlib vgl. sbrk syscall 
Beispielimplementierungen und deren Verhalten beim ersten Aufruf)

Autor: Daniel Wolf (wolfhunters)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so, ich habe jetzt versucht, anstatt des Assambler Startupcodes die 
Vectortabelle zu nutzen. Hier habe ich die Linkerscripte und 
Vectortabelle von RAISONANCE 2007 genommen, die ich hier gefunden habe. 
www.st.com/mcu/forums-cat-6304-23.html
Leider habe ich jetzt das Problem, dass scheinbar alles compiliert, 
gelinkt und zu einer .bin Datei gemacht wird, aber die .bin ist zwischen 
400 - 500MB groß. Also muss da noch ein Fehler drin sein. Wenn ich die 
Datei analysiere mit einem Hex-editor, dann ist der eigentliche Code in 
den ersten ca 85kb (so groß ist der auch mit der Startupcodevariante 
gewesen), aber dann wird der Rest mit Nullen aufgefüllt und am Ende 
erscheinen noch ein paar Zeichen, die wahrscheinlich den "Abschluss" der 
Datei darstellen. Wie aber komme ich jetzt zu einer Datei, die dem 
wirklichen Umfang entspricht?

Hat jemand eine Idee?

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keine BinDatei machen, sondern eine Hex Datei...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.