Hallo liebe Leser, ich brauche eure Hilfe um mein Projekt zu kompilieren/linken. Also ich besitze folgende Dateien in meinem Ordner: -main.c -startup.S -linkerskript.ld -gpio.h //Header mit allen µC-spezifischen Defines -core_cm4.h -core_cm4_simd.h -core_cmInstr.h -core_cmFunc.h Die ARM-Toolchain ist eingerichtet (arm-none-eabi-gcc-4.7.2)! Ich habe einen Cortex-M4, also nehme ich die Einstellungen: >>arm-none-eabi-gcc-4.7.2 -mcpu=cortex-m4 -mthumb -I./ -c -o main.o main.c >>arm-none-eabi-gcc-4.7.2 -mcpu=cortex-m4 -mthumb -I./ -c -o startup.o startup.o Und nun weiß ich nicht wie ich den Linker korrekt aufrufe mit allen Extras! Bzw. ist oben schon was falsch? PS: Gibt es gute Literatur/Websites zum Thema gcc bzw. ARM?
Ich würde lieber gleich von Anfang an ein Makefile benutzen. http://fun-tech.se/stm32/OlimexBlinky/mini.php
James Bonddraht schrieb: > Die ARM-Toolchain ist eingerichtet (arm-none-eabi-gcc-4.7.2) > Ich habe einen Cortex-M4, also nehme ich die Einstellungen: >>arm-none-eabi-gcc-4.7.2 -mcpu=cortex-m4 -mthumb -I./ -c -o main.o main.c >>arm-none-eabi-gcc-4.7.2 -mcpu=cortex-m4 -mthumb -I./ -c -o startup.o startup.o Nö: >>> ... -c -o startup.o startup.S > PS: Gibt es gute Literatur/Websites zum Thema gcc bzw. ARM? Für GCC list du das GCC-Manual. Auch wenn du es nicht "gut" findest ist es ein Muss: http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/ Zur Angabe des ld-Skripts beim Linker findest du dann unter "3.13 Options for Linking" -T:
1 | arm-none-eabi-gcc-4.7.2 -mcpu=cortex-m4 -mthumb -o main.elf startup.o main.o -Tlinkerskript.ld ... |
Johann L. schrieb: > Für GCC list du das GCC-Manual. Auch wenn du es nicht "gut" findest ist > es ein Muss: Danke für deine Antwort. Die Doku finde ich schon sehr informativ, nur leider kann man nicht abschätzen welche Optionen nur für den Spezialisten sind und welche ich benötige. Eine Übersicht über häufige Optionen würde ich begrüßen.
Hallo, ich arbeite mich im Moment auch tiefer in die Materie ein. Ich würde dir empfehlen entweder eclipse mit GNUARM, oder atmel studio 6 zu installieren, dort kannst du jeweils schauen wie die das build aufrufen und welche optionen als optional wichtig angesehen werden. bei eclipse projekt erstellen dann unter proberties C/C++ buld unter settings einfach mal reinschauen. ATMEL STUDIO 6 weiß ich es gerade nicht hab ich an der Arbeit.
Schon einmal daran gedacht eine IDE zu verwenden? Da brauchst du dich nicht mit linkerscripts und diversen herumschlagen. Gibts natürlich kommerzielle (teure), aber auch z.B. eine freie. Nämlich CooCox IDE, ist gerade eine neue Version herausgekommen, die den STM32F4xx besser unterstützt.
Jetzt hab ich obiges ausgeführt und folgende Fehler-Meldungen: cannot find crti.o: No such file or directory cannot find crtbegin.o: No such file or directory cannot find -lgcc Woher bekomme ich die Object-Files?
Diese Dateien denkt sich der Compiler nicht selber aus, die Referenzen darauf stehen vermutlich im linkersscript. Da solltest du mal dort nachschauen, wo du das script her hast. Oliver
Ich fürchte so als "Quereinstieg" wird das nichts. Am Besten arbeite erst einmal meinen link von oben durch. Alternativ ist evtl. wirklich eine IDE die bessere Wahl für dich. Woher hast Du die Dateien in deinem Verzeichnis? Da war sicher noch mehr.
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.