Hi! Die Frage ist: Ich habe ein Projekt mit Eclipse und GNU ARM Chaintool für den LPC2148 erstellt und funktionert auch. Meine Frage bezieht sich eigentlich auf: Linkerskript, Makefile, Startup-Code => hex-File ab. Meine Überlegung ist: Make all -> 1. Kompilieren (CFiles *.c) => *.o 2. Assembling (StartupFile(s) *.S) => *.o 3. Linking (CFiles.o + Startupfiles.o + Linkerskript) => *.out / *.elf 4. Kopieren? (*.out / *elf) => .hex Unklar: - Bezeichnungen korrekt? - Hab ich was vergessen? (Mapfile?? Wann) - .out und .elf? Was ist der Unterschied? - Was steht in den CFile.o drin? Maschinencode? - Was steht in den Startupfiles.o drin? Mashcinencode? - Was steht im Outputfile drin? Variablen wo sie hingehören? - Was steht im hex drin? Adressbereich wo sie (Variablen etc.) hingehören? Gruß Krugman
Keiner???? -.- Toll. Das is doch nich so schwer, oder doch? grml Gruß Krugman
Denis Krug wrote: > Hi! > > Die Frage ist: > > Ich habe ein Projekt mit Eclipse und GNU ARM Chaintool für den LPC2148 > erstellt und funktionert auch. > > Meine Frage bezieht sich eigentlich auf: > > Linkerskript, Makefile, Startup-Code => hex-File ab. > > > Meine Überlegung ist: > > Make all -> > > 1. Kompilieren (CFiles *.c) => *.o > 2. Assembling (StartupFile(s) *.S) => *.o > 3. Linking (CFiles.o + Startupfiles.o + Linkerskript) => *.out / *.elf Übliche Dateiendung ist .elf (gelegentlich auf axf), weil es elf-Format ist. Ist aber nur Konvention, Standard der toolchain ist .out. Aber .willi funktioniert auch, sofern konsistent. > 4. Kopieren? (*.out / *elf) => .hex eher konvertieren (obwohl objcopy genutzt wird). Aus der elf-Datei wird per objcopy der Maschinencode extrahiert. > Unklar: > > - Bezeichnungen korrekt? > - Hab ich was vergessen? (Mapfile?? Wann) Map-File ist optional, muss nicht sein. > - .out und .elf? Was ist der Unterschied? Falls es um die Dateiendung des Link-Ergebnisses geht: s.o. > - Was steht in den CFile.o drin? Maschinencode? Objectcode, nicht gelinkt > - Was steht in den Startupfiles.o drin? Mashcinencode? dito. > - Was steht im Outputfile drin? Variablen wo sie hingehören? "gelinkter" code unter Anderem, evtl. auch Debugcode also auch Variablennamen und Addressen. V.a. aber der Maschinencode, den man per objcopy in andere Formate konvertieren kann. > - Was steht im hex drin? Adressbereich wo sie (Variablen etc.) > hingehören? Der Maschinencode und wo er hingehört, wie in der Controller "sieht" und die Initialwerte der Variablen, die bei flash-target beim startup aus dem flash-speicher ins RAM kopiert werden. >-.- Toll. Das is doch nich so schwer, oder doch? Warum wird gefragt, wenn es einfach ist, oder doch? Tatsächlich gibt es 1001 Dokumente im Internet, die das Zusammenspiel der Toolchain beschreiben. Man suche z.B. nach gnupro user's guide >grml Tippfehler, sollte wohl google heissen.
gg Danke! Das Ende gefällt mir besonders hihi
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.