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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.