Digital-Ghost
23.12.2012, 14:15
Hallo Community,
passend zur Weihnachtszeit habe ich meinen Atmega168 ausgepackt und wollte nochmal ein wenig herumexperimentieren.
Diesmal will ich mal ein Assembler-Programm schreiben und assemblieren.
Ich habe hier im Forum gelesen das man dazu den avr-as benutzen kann doch leider ist die Doku sehr umfangreich und ich habe kein passenden
Beispiele gefunden. Zum Compilieren in C habe ich mir damals ein kleines Script zusammengebastelt
VAR1="main"
VAR2="Main"
rm $VAR2.*
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu$
avr-gcc -Wl,-Map,$VAR2.map -mmcu=atmega168 -o $VAR2".elf" ./$VAR2.o
avr-objdump -h -S $VAR2.elf >$VAR2".lss"
avr-objcopy -R .eeprom -O ihex $VAR2.elf $VAR2".hex"
avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex $VAR2.elf $VAR2$
avrdude -c avrispmkII -p m168 -P usb -e -v -Uflash:w:$VAR2.hex:a
das auch super funktioniert. Jetzt habe ich mir ein Assembler-Beispielprogramm herausgesucht und möchte dieses gerne in eine Hex assemblieren.
Kann mir hierbei einer helfen ich habe überhaupt keinen Ansatz und im Internet habe ich dazu nicht viel gefunden.
Hier mein Programm:
.include "m168def.inc"
Start:
ldi r16,0xFF
out DDRD,r16
ldi r16,0b00000001
out PORTD,r16
Loop:
rjmp Loop
Wie muss ich jetzt den avr-as aufrufen?
Danke für eure Hilfe :)
passend zur Weihnachtszeit habe ich meinen Atmega168 ausgepackt und wollte nochmal ein wenig herumexperimentieren.
Diesmal will ich mal ein Assembler-Programm schreiben und assemblieren.
Ich habe hier im Forum gelesen das man dazu den avr-as benutzen kann doch leider ist die Doku sehr umfangreich und ich habe kein passenden
Beispiele gefunden. Zum Compilieren in C habe ich mir damals ein kleines Script zusammengebastelt
VAR1="main"
VAR2="Main"
rm $VAR2.*
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu$
avr-gcc -Wl,-Map,$VAR2.map -mmcu=atmega168 -o $VAR2".elf" ./$VAR2.o
avr-objdump -h -S $VAR2.elf >$VAR2".lss"
avr-objcopy -R .eeprom -O ihex $VAR2.elf $VAR2".hex"
avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex $VAR2.elf $VAR2$
avrdude -c avrispmkII -p m168 -P usb -e -v -Uflash:w:$VAR2.hex:a
das auch super funktioniert. Jetzt habe ich mir ein Assembler-Beispielprogramm herausgesucht und möchte dieses gerne in eine Hex assemblieren.
Kann mir hierbei einer helfen ich habe überhaupt keinen Ansatz und im Internet habe ich dazu nicht viel gefunden.
Hier mein Programm:
.include "m168def.inc"
Start:
ldi r16,0xFF
out DDRD,r16
ldi r16,0b00000001
out PORTD,r16
Loop:
rjmp Loop
Wie muss ich jetzt den avr-as aufrufen?
Danke für eure Hilfe :)