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
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?
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)
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?
keine BinDatei machen, sondern eine Hex Datei...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.