Anzeige:
Ergebnis 1 bis 7 von 7

Thema: myAVR unter Linux

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38

    myAVR unter Linux

    Hi

    Also ich möchte Assembler lernen und baue gerade an einer Schaltung wo Assembler nötig ist.
    Um diese Sprache zu lernen , hab ich mir von myAVR .de den Bausatz gekauft.
    Läuft unter Win soweit gut.
    Nur möchte ich das Ganze unter Linux betreiben. Gibt es hier welche , die den gleichen Vogel haben und sowas unter Linux betreiben ?

    Ein Problem habe ich , dass das Parallportkabel was ich ans AVR-Board stecke die Schaltung blockiert. Das Prog im ATMEGA8 läuft nicht an.
    Also ist Linux Schuld. Na sowas

    Kann ich die Reset-Leitung manuel zurück setzen ? Wenn ja wie ?

    avrdude -p m8 -c sp12 erkennt das Board . Ob richtig weis ich noch nicht.

    Der AVR Part stimmt schon mal.

    avrdude> part
    >>> part

    AVR Part : ATMEGA8
    Chip Erase delay : 9000 us
    PAGEL : PD7
    BS2 : PC2
    RESET disposition : dedicated
    RETRY pulse : SCK
    serial program mode : yes
    parallel program mode : yes
    Memory Detail :

    Page Polled
    Memory Type Paged Size Size #Pages MinW MaxW ReadBack
    ----------- ------ ------ ---- ------ ----- ----- ---------
    eeprom no 512 0 0 9000 9000 0xff 0xff
    flash yes 8192 64 128 4500 4500 0xff 0xff
    lfuse no 1 0 0 2000 2000 0x00 0x00
    hfuse no 1 0 0 2000 2000 0x00 0x00
    lock no 1 0 0 2000 2000 0x00 0x00
    calibration no 4 0 0 0 0 0x00 0x00
    signature no 3 0 0 0 0 0x00 0x00

    avrdude>
    Geändert von Sachse (10-02-2005 um 17:13 Uhr)
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  2. #2
    Registrierter Benutzer Avatar von r00t043
    Registriert seit
    11.01.2004
    Beiträge
    38
    Zitat Zitat von Sachse
    Hi

    Also ich möchte Assembler lernen und baue gerade an einer Schaltung wo Assembler nötig ist.
    AVRs sind auf Hochsprachen optimiert ( laut Werbung ). Normalerweise duerfte da Assembler unoetig sein.
    Zitat Zitat von Sachse
    [...]
    Gibt es hier welche , die den gleichen Vogel haben und sowas unter Linux betreiben ?
    Zwar nicht den Bausatz, aber die uCs...
    Zitat Zitat von Sachse
    Ein Problem habe ich , dass das Parallportkabel was ich ans AVR-Board stecke die Schaltung blockiert. Das Prog im ATMEGA8 läuft nicht an.
    Also ist Linux Schuld. Na sowas
    Das ist eigentlich egal, da du das Kabel eh nur zum Programieren brauchst
    ( wobei die Frage ist, ob du ein stk200 plagiat hast oder DAPA machst )
    Zitat Zitat von Sachse
    Kann ich die Reset-Leitung manuel zurück setzen ? Wenn ja wie ?
    avrprog kann das, wenn ich mich Recht ensinne, ansonsten^^^
    Zitat Zitat von Sachse
    [...]
    Ich benutze uisp, das fand ich seiner Zeit schoener.

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    Bin jetzt bei avrdude gelandet.
    Ein Prob habe ich ncoh. Schau mal. Vieleicht kanst du ja was damit anfangen.

    Code:
    ralf@linux:~> avrdude   -c sp12 -p m8  -F -U flash:w:/home/ralf/HEX/Write.hex -P /dev/parport0 -v
    
    avrdude: Version 4.4.0
             Copyright (c) 2000-2004 Brian Dean, bsd@bsdhome.com
    
             System wide configuration file is "/etc/avrdude.conf"
             User configuration file is "/home/ralf/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port            : /dev/parport0
             Using Programmer      : sp12
             AVR Part              : ATMEGA8
             Chip Erase delay      : 9000 us
             PAGEL                 : PD7
             BS2                   : PC2
             RESET disposition     : dedicated
             RETRY pulse           : SCK
             serial program mode   : yes
             parallel program mode : yes
             Memory Detail         :
    
                                         Page                       Polled
               Memory Type Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ------ ------ ---- ------ ----- ----- ---------
               eeprom      no        512    0     0  9000  9000 0xff 0xff
               flash       yes      8192   64   128  4500  4500 0xff 0xff
               lfuse       no          1    0     0  2000  2000 0x00 0x00
               hfuse       no          1    0     0  2000  2000 0x00 0x00
               lock        no          1    0     0  2000  2000 0x00 0x00
               calibration no          4    0     0     0     0 0x00 0x00
               signature   no          3    0     0     0     0 0x00 0x00
    
             Programmer Type : PPI
             Description     : Steve Bolt's Programmer
               VCC     = 0x7c = pins 4,5,6,7,8
               BUFF    = 0x00 (not used)
               RESET   = 3
               SCK     = 2
               MOSI    = 9
               MISO    = 11
               ERR LED = 0
               RDY LED = 0
               PGM LED = 0
               VFY LED = 0
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0xffffff
    avrdude: Yikes!  Invalid device signature.
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "/home/ralf/HEX/Write.hex"
    avrdude: input file /home/ralf/HEX/Write.hex auto detected as Intel Hex
    avrdude: writing flash (22 bytes):
    
    Writing | ################################################## | 100% 0.02s
    
    avrdude: 22 bytes of flash written
    avrdude: verifying flash memory against /home/ralf/HEX/Write.hex:
    avrdude: load data flash data from input file /home/ralf/HEX/Write.hex:
    avrdude: input file /home/ralf/HEX/Write.hex auto detected as Intel Hex
    avrdude: input file /home/ralf/HEX/Write.hex contains 22 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.01s
    
    avrdude: verifying ...
    avrdude: verification error, first mismatch at byte 0x0000
             0x0f != 0xff
    avrdude: verification error; content mismatch
    
    avrdude done.  Thank you.
    Ich kann zwar lesen aber nicht schreiben der verify ist sch.....
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  4. #4
    Registrierter Benutzer Avatar von r00t043
    Registriert seit
    11.01.2004
    Beiträge
    38
    Vermutlich ist dein prommer nicht Richtig mit deiner Schaltung verbunden.

  5. #5
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    Doch muss . UnterWinXP mit Bascom läuft da Ding.
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  6. #6
    jhamel
    Gast

    myavr funktioniert mit avrdude

    Hallo, bei mir funktioniert der myavr mit folgenden Parametern. Ich habe das ganze in ein Script gepackt und kann dis einfach aufrufen:

    avr.sh upload filename

    #!/bin/bash

    EXEC="avrdude -P /dev/parport0 -p m8 -c sp12 -E noreset,vcc "

    case $1 in

    upload) $EXEC -U flash:w:$2

    ;;

    download) $EXEC -U flash:r:$2

    ;;

    verify) $EXEC -U flash:v:$2

    ;;

    erase) $EXEC -e
    ;;


    terminal) $EXEC -t
    ;;


    *) echo " use $0 upload | download | verify Filename "

    ;;

    esac


    Allerdings gibt es evtl. Schwierigkeiten . Bei mir läuft das ganze auf einen Rechner mit 2.4.20 kernel, mein anderer Rechner mit 2.6.8 ist nicht zum Arbeiten zu bewegen, dieselbe Fehlermeldung ( verify error ) , terminal geht, aber schreiben definitiv nicht.

    Ich werde weiter suchen, um dieses Verhalten zu erforschen.
    ( Meine Vermutungen zur Zeit : Entweder kernel 2.6.x oder acpi )

    Ciao
    JH

  7. #7
    ByTE
    Gast

    Es darf kein RESET gesendet werden...

    Wenn die Software ein RESET an den ISP sendet, muss der Programmer erst vom Rechner abgeklemmt werden, bevor der Chip anfaengt zu arbeiten. Da wir ja InSystemProgramming betreiben wollen, geben wir z.B. avrdude oder avrprog den Parameter "-E noreset" mit, wie in jhamel's script! Dann sollte auch das Uploaden des Codes unter Linux/Unix funktionieren!

Lesezeichen

Berechtigungen

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