Linken usw in der Eingabeafforderung

Gast #616986
Lesenswert?

Guten Tag

Ich habe noch immer das Problem mit dem Linken usw.(benutze myAVR 
Workpad und einen ATMEGA8)
Nun ist mir aber zu Ohren gekommen, dass ich dies auch über die 
Eingabeaufforderung in Windows machen kann.

Nun ist meine Frage wie die Befehle lauten?

Vielen Dank

Willy
Gast #617215
Lesenswert?

Ich hab keinen Plan wie das gehen soll!

Das Komplimieren Linken usw. macht ja normalerweise dein Programm!
Bei mir nun mal nicht!

Nun will ich das ganze mal über die Eingabeaufforderung von Windows 
schritt für schritt machen! Habe geöhrt, das das irgendwie geht!

Nun ist meine Frage wie!
Persönliche Seite #617252
Lesenswert?

Normalerweise benutzt man dazu ein Makefile (s. komplettes leeres 
Testprojekt im Anhang, aufzurüfen mit make all), in dem

1/ die Abhängigkeiten der einzelnen Dateien untereinander
2/ die Art und Konfiguration, Taktrate des µC
3/ die gewünschte Art der Übersetzung (Optimierung) und Ausgabeformat 
(Zieldatei)
4/ die Befehlsfolgen für den Übersetzungsprozess

stehen.

Man kann das von Hand zu Fuss eintippen. Dann sind die Befehle so 
einzugeben (Beispiel atmega128, 8 MHz, platzsparende Optimierung):

Compiling C: test.c
avr-gcc -c -mmcu=atmega128 -I. -gdwarf-2 -DF_CPU=8000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=./test.lst  -std=gnu99 -Wundef -MMD -MP 
-MF .dep/test.o.d test.c -o test.o

Linking: test.elf
avr-gcc -mmcu=atmega128 -I. -gdwarf-2 -DF_CPU=8000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=test.o  -std=gnu99 -Wundef -MMD -MP -MF 
.dep/test.elf.d test.o --output test.elf -Wl,-Map=test.map,--cref 
-lm

Creating load file for Flash: test.hex
avr-objcopy -O ihex -R .eeprom test.elf test.hex

Creating load file for EEPROM: test.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex test.elf 
test.eep || exit 0

Creating Extended Listing: test.lss
avr-objdump -h -S test.elf > test.lss

Creating Symbol Table: test.sym
avr-nm -n test.elf > test.sym

Wie geschrieben, man kann das von Hand zu Fuss machen - du wärst dann 
allerdings der erste den ich kenne, der das auch macht ;-)
Persönliche Seite #617282
Lesenswert?

Troll Blaubär wrote:
> Simon Küppers wrote:
>> Wer sagt, dass es um C geht? ;)
>
> Vermutlich der Betreff.
> Denn wer in AVR-Assembler werkelt, braucht kein Workpad und linkt
> (üblicherweise) nicht.
>
> MfG, Heidel- ääähhh, Blaubär

Jaja, der ";)" hatte schon seine Bedeutung :-)

Es wird mit hoher Wahrscheinlichkeit um C gehen. Muss aber nicht. 
Vielleicht gibts schon eine unbekannte Underground-Programmiersprache, 
die die gleichen Merkmale aufweist? ;) (<--!)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren