aTeVaL Board von eHaJo.de DK1HJ

  • Hallo,


    mein eHaJo: aTeVaL Board ist eingetroffen, aufgebaut und es lief sofort.


    Als Programmer stellt man avrisp2 unter der LunaAVR IDE ein.


    Ich verwende für avrdude diese Parameter:

    Zitat

    -P %com -p %dev -c %prog -B %clk -U flash:w:%hex:a


    Vor der ersten Benutzung muss man den avrdude-Modus wechseln, er ist dann auch nach dem Einschalten aktiv.


    avrdude-Modus
    http://dokuwiki.ehajo.de/artik…are_beides#modus_wechseln


    Das kleine Demoprogramm für LunaAVR erzeugt Töne auf dem Summer, über die Taster können verschiedene Modie gewählt werden und die beiden LED zeigen die Tastendrücke an.



    Links:
    http://dokuwiki.ehajo.de/bausaetze:ateval
    http://dokuwiki.ehajo.de/artikel:ateval

  • Hallole,


    jetzt frag ich doch mal hier. Ich wollte das AtEval Board benutzen, um einen Prozessor neu zu flashen, aber soweit komme ich gar nicht.
    Ich verwende AVR-Luna und habe die Installationen gemäss den Anleitungen durchgeführt.
    (udev regeln, sudo etc. ist alles gemacht)


    Aber schon beim 1. Test mit dem Avrdude-Gui komme ich nicht weiter.
    System: Linux Mint AVR-Luna ( incl. avrdude dort wurde wohl keine USB-Unterstützung eingebunden) und avrdude aus den repositories.
    Das Board wurde auf den avrdude modus umgestellt.
    Das Board wird erkannt (dmesg:
    [ 8613.460145] usb 4-1: new full-speed USB device number 4 using uhci_hcd
    [ 8613.635138] usb 4-1: New USB device found, idVendor=03eb, idProduct=2104
    [ 8613.635150] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 8613.635159] usb 4-1: Product: AVRISP mkII
    [ 8613.635166] usb 4-1: Manufacturer: ATMEL
    [ 8613.635173] usb 4-1: SerialNumber: 000200312345


    und lsusb erkennt es auch:
    Bus 004 Device 004: ID 03eb:2104 Atmel Corp. AVR ISP mkII


    In der avrdude.conf wurde als serielle Schnittstelle /dev/ttyS0 eingetragen, aber das ist ja ein USB-Device.
    So habe ich unter den AVR-Luna-Einstellungen Optionen Schnittstelle alle variationen eingetragen dev/port/usb/ dev/port/usb 004/004 etc.


    das Ergebnis ist immer gleich:
    avrdude: ser_open(): can't open device "/dev/port/usb": Not a directory


    Ein Device ttyUSBx ist nicht vorhanden.
    ==============
    So habe ich denn Windows hochgefahren Win7 64bit und gerade XP. Wieder LunaAvr incl. avrdude eingerichtet.
    Die Einstellungen erfolgten nach den Seiten
    http://avr.myluna.de/doku.php?id=de:tutorials,
    http://avr.myluna.de/doku.php?id=de:mikr…_betrieb_nehmen


    Im System taucht auch der libusb-win32 device treiber AVRISP mkII auf.
    Wenn ich das Gui laufen lassen gibt es das Ergebnis:


    avrdude.exe: stk500v2_recv_mk2: error in USB receive
    avrdude.exe: usbdev_send(): wrote -5 out of 1 bytes, err = usb_submit_async: submitting request failed, win error: Das System kann die angegebene Datei nicht finden.
    avrdude.exe: stk500_send_mk2(): failed to send command to serial port


    Danach ist die USB-Schnittstelle verschwunden laufend und es wird nach einem Treiber für ATmega32U2 gefragt.


    Fehlermeldung:
    avrdude.exe: stk500v2_recv_mk2: error in USB receive
    avrdude.exe: usbdev_send(): wrote -5 out of 1 bytes, err = libusb0-dll:err [_usb_reap_async] reaping request failed, win error: Ein an das System angeschlossenes GerΣt funktioniert nicht.
    avrdude.exe: stk500_send_mk2(): failed to send command to serial port


    Unter Windows habe ich in den Einstellungen: als com Schnittstelle "usb" eingetragen.


    Hat jemand eine gelinde Ahnung wo ich noch schrauben darf?


    72 de Hajo

  • Moin Hajo,


    Bei avrispmkii Programmern über USB bekommt avrdude nur die Option -P usb für den Port. Kein /dev oder sonstige Dinge. Beispiel des Aufrufs von avrdude an der console:


    avrdude -F - p <CONTROLLERTYP> -P usb -c avrispmkii -U flash:w:mein_tolles_programm.hex


    73, Tom

  • @Tom
    Habe ich auch schon ausprobiert:
    EW8Wth":ravrdude: usb_open(): cannot read serial number "error sending control message: Operation not permitted"
    avrdude: usb_open(): cannot read product name "error sending control message: Operation not permitted"
    avrdude: usbdev_open(): error setting configuration 1: could not set config 1: Operation not permitted
    avrdude: usbdev_open(): did not find any USB device "usb"


    Da gibt es wohl ein Problem mit der usblib.
    Ich lese gerade Atmel hat ein Program flip da muss mit dem Hex-Editor /sys/port/usb gegen /dev/port/usb ausgetauscht werden. Aber ich habe noch nicht verstanden, was dieses flip machen soll.


    Ich glaube ich baue wieder Gitarren o.ae., das ist einfacher.


    72 de Hajo

  • Hajo, das kann auch ein Problem mit dem DevBoard sein. War Dein letzter Versuch unter Linux?


    Ich hatte mal ganz billige Programmer gekauft für die Monteure eines Kunden. Die Dinger hatten nur Probleme gemacht, weil die Implementierung wohl nicht sauber war. Ein direkter Austausch gegen den avrispmkii von Atmel hat alle Sorgen beseitigt.


    Ruf doch unter Linux mal direkt den avrdude mit meiner Beispielzeile auf.


    73, Tom

  • @Tom Danke - Dein Vorschlag war Klasse.


    Das war mein Originaler Aufruf aus AVRLuna:


    /usr/bin/avrdude -u -B 1.5802469 -C /usr/bin/avrdude.conf -p m328p -P /dev/port/usb/004/002 -c avrispmkii -U flash:w:"/home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex"
    Mit dem Ergebnis:


    /usr/bin/avrdude -u -B 1.5802469 -C /usr/bin/avrdude.conf -p m328p -P /dev/port/usb/004/002 -c avrispmkii -U flash:w:"/home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex":aavrdude: ser_open(): can't open device "/dev/port/usb/004/002": Not a directory


    Das war Dein Vorschlag vom Terminal:
    sudo /usr/bin/avrdude -F -p m328p -P usb -c avrispmkii -U flash:w:"/home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex"


    Und es geht:
    avrdude: AVR device initialized and ready to accept instructions


    Reading | ################################################## | 100% 0.01s


    avrdude: Device signature = 0x1e950f
    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/hjd/lunaavr/Examples/blinkblink/blinkblink.hex"
    avrdude: input file /home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex auto detected as Intel Hex
    avrdude: writing flash (198 bytes):


    Writing | ################################################## | 100% 0.07s


    avrdude: 198 bytes of flash written
    avrdude: verifying flash memory against /home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex:
    avrdude: load data flash data from input file /home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex:
    avrdude: input file /home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex auto detected as Intel Hex
    avrdude: input file /home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex contains 198 bytes
    avrdude: reading on-chip flash data:


    Reading | ################################################## | 100% 0.06s


    avrdude: verifying ...
    avrdude: 198 bytes of flash verified


    avrdude: safemode: Fuses OK


    avrdude done. Thank you.


    ---
    Danke Tom, das war die Lösung.


    Aus lauter Jux und Tollerei habe ich die Schnittstellen Einstellung bei LunaAVR dann auf usb gestellt und LunaAVR mit sudo aufgerufen:


    /usr/bin/avrdude -u -B 1.5802469 -C /usr/bin/avrdude.conf -p m328p -P usb -c avrispmkii -U flash:w:"/home/hjd/lunaavr/Examples/blinkblink/blinkblink.hex":a
    avrdude: stk500v2_command(): command failed
    avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.


    Ich habe noch nicht verstanden wo der Fehler liegt, aber das wird auch noch kommen.


    72 de Hajo

  • Moin Hajo,


    das könnte dann noch ein Problem der Rechte sein. Ich habe fürs udev den avrispmkii wie folgt eingetragen:


    Filename: /etc/udev/rules.d/60-avrisp.rules
    # Atmel Corp. AVRISP mkII
    SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", GROUP="dialout", MODE="0660"
    SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="16c0", ATTR{idProduct}=="2a98", GROUP="dialout", MODE="0660"


    Dann den normalen Benutzer zur Gruppe 'dialout' hinzufügen:


    usermod -a -G dialout hajo


    Damit hat der Benutzer hajo die Rechte, den avrispmkii zu verwenden (aber erst nach einem erneuten Anmelden oder einem 'newgrp dialout').


    So eine krumme Zahl für die Bitclock Option habe ich noch nie verwendet. Meist nehme ich -B 8, das klappt immer
    und auf die 1 oder 2s länger kommt es nicht an. Wenn der Controller bereits mit externem Takt schneller als 4MHz läuft,
    kann man den Wert auch verkleinern. Nur mal als Beispiel für einen Controller mit 16MHz Quarz:


    mega328p mit -B8 und 7319Bytes Programm dauert 2.35s
    mega328p mit -B1 und 7319Bytes Programm dauert 0.64s


    Bei Problemen, also wenn es so scheint als ob der Programmer sich nicht meldet, musst Du mal probieren, diesen
    Wert höher zu setzen. Bei neuen leeren Chips mit 1MHz internem Takt, also noch keine Fuse-Bits gesetzt und kein
    externer Takt vorhanden, wird -B1 meist nicht funktionieren. Und da dies auch die Defaulteinstellung vom avrdude ist,
    dürfte klar sein, warum das so häufig Probleme bereitet ;)


    73, Tom

  • Hallo Tom,


    es geht so lala, 0 und 1, manchmal ja und manchmal nein, - halt digital. Ich nehme jetzt einfach das Terminal und habe so endlich meinem Ultimate 3 die neue Software verpassen koennen.


    Jetzt muss ich nur noch ein Display updaten.


    Nochmals Dank.
    72 de Hajo