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?
Gast
#2854012
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 | |
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.
Gast
#2854405
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.
Gast
#2854518
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?
Gast
#2855352
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
Gast
#2855353
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.