- LiTime Speicher und Akkus         
Ergebnis 1 bis 5 von 5

Thema: Linux + AVR

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    11.12.2005
    Ort
    Chemnitz
    Alter
    35
    Beiträge
    87

    Linux + AVR

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Guten Morgen,
    bin gerade dabei ein wenig zu Lernen mit Linux zu arbeiten.
    Den Eagle hab ich jetzt schon drauf.
    Das nächste Ziel ist, meinen Mega32 programmieren zu können unter Linux.
    Brauch ich wohl einen GCC Compiler, die Libraries und ein Übertragungsprogramm dazu.
    Wie heissen die Programme unter Linux?
    Ich benutze Kubuntu.

    Mfg Basti
    Signatur:
    Bild hier  

    Sowas find ich absolut faszinierend!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    suchmal nach avr-gcc und avrdude

    Gruß Sebastian

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    11.12.2005
    Ort
    Chemnitz
    Alter
    35
    Beiträge
    87
    gcc-avr hab ich jetzt gefunden. Wie benutze ich den?
    AVRdude kennt er nicht. Habe dafür grade avrp und avrprog gezogen, weiss aber nicht wie ich das bediene... Kann mir jemand helfen?

    Danke für den GCC.
    Basti
    Signatur:
    Bild hier  

    Sowas find ich absolut faszinierend!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Wie benutze ich den?
    1. Anlaufstelle http://www.nongnu.org/avr-libc/user-manual/index.html
    2. Anlaufstelle https://www.roboternetz.de/wissen/index.php/Avr-gcc

    Die Reihenfolge ist natürlich beliebig.


    AVRdude kennt er nicht.
    Das Programm heißt avrdude und nicht AVRdude, kennen müßte es jede gute Distri
    Am sonsten hier runterladen, entpacken, kompilieren, freuen.

    avrp und avrprog kenn ich nicht, es gibt aber 2 Anhaltspunkte für Dich:
    1. man avrp bzw avrprog
    2. avrp --help bzw. avrprog --help

    Gruß Sebastian

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    11.02.2006
    Alter
    44
    Beiträge
    48
    Zitat Zitat von dark_flash01
    gcc-avr hab ich jetzt gefunden. Wie benutze ich den?
    Hi,

    damit es benutzbar wird, brauchst Du noch die avr-libc. Sie enthält die Grundfunktionen,
    die Du zum Programmieren brauchst.

    Unter http://www.mikrocontroller.net/artic...R-GCC-Tutorial gibt es ein gutes Tutorial.

    Für meine eigene Installation habe ich http://www.tldp.org/linuxfocus/Deuts...ticle352.shtml als
    Vorgabe genommen.

    hier übrigens mein erstes Testprogramm:
    Code:
    /*
            einfaches Testprogramm, das eine LED an PB0
            blinken laesst.
    
            J. Uhrmann, 02.02.2006
    */
    
    #include <avr/io.h>
    
    #define F_CPU 1000000 /* Takt: 1MHz */
    #include <util/delay.h>
    
    void main(void)
    {
            /* Initialisierung */
    
            /* Port PB0 als Ausgang definieren */
            DDRB |= _BV(PB0);
    
            /* in einer Endlosschleife blinken lassen */
            while (1)
            {
                    /* Ausgang auf LOW */
                    PORTB &= ~_BV(PB0);
    
                    _delay_ms(500);
    
                    /* Ausgang auf HIGH */
                    PORTB |= _BV(PB0);
    
                    _delay_ms(500);
            }
    }
    und hier das Makefile, das die hex-Datei erstellt und mit make load auch gleich mit uisp auf den Controller lädt.
    Code:
    # Erstellungsregeln fuer das Beispielprogramm
    
    .PHONY: load clean
    
    # Zielgerät ist ein ATMega16
    MCU=atmega16
    
    # Programmiert wird er mit einem Parallelportkabel (bsd-Style, siehe Homepage von uisp)
    PROGTYPE=bsd
    
    CC=avr-gcc
    OBJCOPY=avr-objcopy
    CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues
    
    blink.hex: blink.out
    
    load: blink.hex
            uisp -dprog=$(PROGTYPE) --upload if=$^
    
    
    %.hex: %.out
            $(OBJCOPY) -R .eeprom -O ihex $^ $@
    
    %.out: %.o
            $(CC) $(CFLAGS) -o $@ -Wl,-Map,$@.map $^
    
    %.o: %.c
            $(CC) $(CFLAGS) -Os -c $^
    
    clean:
            -rm *.o *.hex *.map
    Grüße,

    Hans

Berechtigungen

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

LiTime Speicher und Akkus