- LiFePO4 Speicher Test         
Ergebnis 1 bis 2 von 2

Thema: Assemblieren mit avr-as unter Linux

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29

    Assemblieren mit avr-as unter Linux

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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

    Code:
    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:

    Code:
    .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

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Beiträge
    51
    Hallo,
    leider kann ich deine Frage nicht beantworten, da ich avr-as noch nie verwendet habe. Ich nutze immer "avra", das ist ein sehr einfach zu bedienender Assembler, der per Kommandozeile aufgerufen wird und aus der *.asm-Datei direkt eine *.hex-Datei erstellt. Probier mal:

    sudo apt-get install avra

    Bei der Include-Datei "m168def.inc" kann es sein, dass du dann alle Zeilen, die mit "#define" beginnen, auskommentieren musst, weil avra damit nicht umgehen kann. Ansonsten läuft damit alles super!

Ähnliche Themen

  1. avr-gcc unter linux
    Von donni im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 06.04.2006, 21:57
  2. AVR unter Linux programmieren?
    Von jagdfalke im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 20.03.2006, 20:48
  3. Bascom-AVR unter Linux?
    Von raptor_79 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 17.01.2006, 11:17
  4. Problem mit ./configure bei Installation avr-lib unter Linux
    Von ricola im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 09.08.2005, 12:56
  5. gcc-avr unter Linux
    Von bluebrother im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 03.01.2005, 21:54

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress