Fórum témák

» Több friss téma
Fórum » Topi-féle AVR programozó Linux alatt
Lapozás: OK   1 / 3
(#) potam hozzászólása Máj 26, 2009 /
 
Sziasztok,

Használja valaki a Topi-féle AVR programozót Linux alatt? Nekem sehogysem sikerült működésre bírnom.
(#) Feri007 válasza potam hozzászólására (») Máj 26, 2009 /
 
Nos, nem a Topi-félét épitettem meg, hanem az AVR Doper-t, de -ha nem tévedek-, kompatibilis kettő. Újraforditott avrdude-dal ment rendesen.
(#) potam válasza Feri007 hozzászólására (») Máj 26, 2009 /
 
Akkor kicsit rákérdeznék a részletekre:
milyen módban használod a programozót?
kötelezően rajta kell lennie a programozandó mikrokontrollernek, vagy a nélkül is rá tud kapcsolódni az avrdude?
hogyan paraméterezed az avrdude-ot?
milyen fájlod keletkezik a /dev alatt? (nekem HID módban /dev/usb/hiddev0, nem HID módban /dev/ttyACM0)
(#) Feri007 válasza potam hozzászólására (») Máj 26, 2009 /
 
Hát, elég rég történt, szégyenszemre az AVR Studiot-t hatékonyabbnak találtam.
- HID mód
- újraforditott avrdude (v.5.5)
- igy inditottam: avrdude -c stk500v2 -P avrdoper -p atmega8 ....
(#) potam válasza Feri007 hozzászólására (») Máj 26, 2009 /
 
Fordítottam 5.6-os avrdude-ot. Rákötöttem a programozóra egy attiny45-ös mikrokontrollert, hogy ne e miatt problémázzon. És akkor:
  1. sudo avrdude -c stk500v2 -P avrdoper -p t45 -e
  2. avrdude: avrdoper_open(): Device not found.


Ha strace-elem szépen látszik, hogy végigpróbálja az összes USB eszközt, de mégsem találja meg. Az eszköz hiddev módban van.

Az a vicc, hogy anno próbáltam, és AVR Studioval megy szépen.
(#) Topi válasza potam hozzászólására (») Máj 26, 2009 /
 
Próbáld ki CDC módban. HID tüske nélkül. -P-hez a megfelelő com-ot írva.
(#) potam válasza Topi hozzászólására (») Máj 27, 2009 /
 
CDC módban keletkezik egy /dev/ttyACM0 eszköz, ez lenne elvileg a virtuális com port. Erre ezt kapom:
  1. sudo avrdude -p  t45 -c stk500v2 -P /dev/ttyACM0 -e
  2. avrdude: ser_send(): write error: Invalid argument

Nem tudom mennyire segít, az strace-ből kb annyi látszik, hogy timeout van:
  1. select(4, [3], NULL, NULL, {0, 250000}) = 0 (Timeout)
  2. write(3, "\33\1\0\1\16\1\24"..., 7)     = -1 EINVAL (Invalid argument)
(#) Topi válasza potam hozzászólására (») Máj 27, 2009 /
 
Toldd meg a végét két verbose-zal "-v -v"
(#) potam válasza Topi hozzászólására (») Máj 27, 2009 /
 
  1. sudo avrdude -p  t45 -c stk500v2 -P /dev/ttyACM0 -e -v -v
  2.  
  3. avrdude: Version 5.6, compiled on May 26 2009 at 16:59:46
  4.          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
  5.  
  6.          System wide configuration file is "/usr/local/etc/avrdude.conf"
  7.          User configuration file is "/home/dexter/.avrduderc"
  8.          User configuration file does not exist or is not a regular file, skipping
  9.  
  10.          Using Port                    : /dev/ttyACM0
  11.          Using Programmer              : stk500v2
  12. avrdude: ser_send(): write error: Invalid argument


Az strace-ben semmi különbség nincs.
(#) potam válasza potam hozzászólására (») Máj 28, 2009 /
 
Sikerült leszűkítenem a problémát: a hiba ott van, amikor az avrdude írni próbál a /dev/ttyACM0 eszközre. Írtam rá én is egy kis C programot, és én sem tudok írni az eszközre. Még nézegetem miért nem.
(#) gtk válasza potam hozzászólására (») Máj 28, 2009 /
 
Jogosultsagok ?
Nezd meg hasznalja-e valami:
  1. ps ax | grep ttyACM0
(#) potam válasza gtk hozzászólására (») Máj 28, 2009 /
 
Rendben vannak, ha root-ként futtatom, akkor sem hajlandó írni rá. Megnéztem, nem foglalt.
(#) potam válasza potam hozzászólására (») Máj 31, 2009 /
 
Úgy tűnik nem sikerül felülkerekednem a problémán. Találtam egy másik programozót, ami garantáltan működik Linux alatt, majd leírom a tapasztalataimat.
(#) potam válasza potam hozzászólására (») Jún 17, 2009 /
 
Megérkezett az új programozóm, ez gond nélkül működik Ubuntu alatt. Akit érdekel, ez az
(#) taj1989 hozzászólása Júl 21, 2009 /
 
hali! megrendeltem ezt a programozót a hestore-ról, összeraktam és amikor bedugom az usb-be azt írja ki h az eszközt nem lehet felismerni. Átnéztem, minden a helyén. Azt nem tudom hogy a kristály polaritása számít-e, de én nem láttam semmilyen megkülönböztető jelet. Lehet h rosszul programozták fel az avrt ami benne van?? Attól hogy kézzel megfogom az avr lábait sérülhet a program benne?
(#) Topi válasza taj1989 hozzászólására (») Júl 21, 2009 /
 
Rosszul nincs programozva egyik sem. Ez vélhetően beültetési vagy hibás forrasztási gond.
Programozást követően minden processzort leellenőriznek külön, működés közben. Ezzel elkerülve az esetleges kellemetlenségeket.
(#) taj1989 hozzászólása Júl 21, 2009 /
 
átnéztem a beültetést, minden a helyén van, de mégsem megy. csak az avr-rel lesz a baj. Az okozhatott gondot hogy multiméterrel méregettem az ellenállásokat meg a szakadást miután már betettem az avr-t? meg talán még az, hogy először fordítva tettem be az avr-t, de nem kapcsoltam be, mert észrevettem, és csak utána dugtam be, de nem ismerte fel. Amúgy a hestore-ról nekem megvan a véleményem... lehet hogy átnézték ők az egészet meg minden, de a 10µF os kondi helyett 1 µF-at tettek. Legutóbb egy erősítő kit-nek a beültetési rajza volt rossz, majdnem leégett mind a négy végtranyó(úgy kb 4ezer lett volna)...jeleztem is nekik h tele van hibával, aztán azóta is intézkednek...
(#) zolee1209 válasza taj1989 hozzászólására (») Júl 21, 2009 /
 
Szia! Ha megnézed a 10µF-os kondi szerepét, akkor láthatod, hogy pufferként szolgál az áramkörben. Mivel a cucc a számítógép tápjáról megy, ami kapcsolóüzemű, és elég kicsi terhelést jelen a programozó a táp számára, így nem igen számít, hogy tíz, vagy egy µF-os a kondi...
Idézet:
„Legutóbb egy erősítő kit-nek a beültetési rajza volt rossz, majdnem leégett mind a négy végtranyó(úgy kb 4ezer lett volna)...jeleztem is nekik h tele van hibával, aztán azóta is intézkednek...

Erre csak annyit:
Idézet:
„először fordítva tettem be az avr-t”
és a mondatokat is rendre kisbetűvel kezded! Mindenki követhet el hibákat szerintem, és nem az az első lépés, hogy a másikat szidalmazzuk! Vagy tévedek?
(#) Slope válasza taj1989 hozzászólására (») Júl 21, 2009 /
 
Egy (makro) fotó és a félreértések tisztázhatóak!
(#) taj1989 hozzászólása Júl 22, 2009 /
 
Köszönöm szépen ZOLINAK csupa nagybetűvel az építő kritikát! Nagyon sokat segítettél. Komolyan mondom, egy nyelvész veszett el benned. Amúgy igenis elvárom hogyha fizetek 8ezret egy erősítőért meg 5ezret egy programozóért hogy az hibátlan legyen. Erről ennyit. Átnéztem, nincs hiba, csak a programmal lesz valami. Szerencsére van soros portom, kerestem is kapcsolási rajzot: Link Úgy gondoltam, hogy az usb-ről kapja majd az 5V-ot, a biztonság kedvéért leveszem a másik két lábat az usb-ről. Az nagyon nagy baj lenne, ha a két zener diódát elhagynám mert nincs itthon és nem tudok beszerezni semmit, csak bonott alkatrészekből gazdálkodok.
(#) Topi válasza taj1989 hozzászólására (») Júl 22, 2009 /
 
Idézet:
„Az nagyon nagy baj lenne, ha a két zener diódát elhagynám mert”


No comment. Vicc a köbön. A processzorban lévő program biztos hogy hibátlan. Saját magam programoztam őket, és egyesével magam is leteszteltem. Valószínűleg az ilyen "lazán építkezünk" stílus nyírta ki a processzort.
Ha a proci hibás lett volna, első körben nálam, második körben pedig a HEStore-ban derült volna ki.
Fotót még mindig várunk... Tudod, hogy segíteni tudjunk.

Erősítő KIT: Jelenleg még egyik ilyen erősítő kit sem saját HEStore gyártás. Mi is vesszük, csomagot kibontani nem bontjuk ki, így ha hiba van benne az a beszállítónál van.

Programozó KIT esetében viszont 100% saját HEStore gyártás, így hogy hibás legyen, szinte kizárt.

Idézet:
„Komolyan mondom, egy nyelvész veszett el benned.”

Benned meg egy ......
(#) zolee1209 válasza taj1989 hozzászólására (») Júl 22, 2009 /
 
Utolsó reagálásként... igazán nincs mit, csupa kis betűvel...
Ami a programozót illeti, valószínűleg elrontottál valamit, mert én is ilyen programozó KIT-et vettem, kettőt, és mindkettő hibátlanul működik!
(#) Lucifer hozzászólása Szept 1, 2009 /
 
Van bárkinek valami ötlete az eredeti kérdéssel kapcsolatban?
Most jutottam el odaáig, hogy ezzel foglakozzak, és nekem is problémáim adódtak.
(#) Feri007 válasza Lucifer hozzászólására (») Szept 1, 2009 /
 
Az eredeti kérdés ugye az, miért nem megy a avrdude-dal (linux alatt) az AVR programozó.
Minden modern linux az ilyen USB alapú eszközöket dinamikusan hozza létre. Eszközön most a /dev alatt lévő (speciális) fájlokat értjük. Meg kellene nézni, hogy a programozót CDC-re állitva létrejön-e a /dev/ttyACM0 ill. bizonyos disztribucióknál /dev/input/ttyACM0, amikor
bedugod az USB dugót.
Érdekes még, mit ir a linux a logba, rendszerint ez a /var/log/messages ill. mit ir a dmesg
(#) Topi válasza Lucifer hozzászólására (») Szept 1, 2009 /
 
Ezt próbáltad már?

Bővebben: Link
(#) Lucifer válasza Feri007 hozzászólására (») Szept 2, 2009 /
 
Próbáltam mindkét módban.

Nem HID módban soros portként látszik, megjelenik a
/dev/ttyACM0. Port jogai rendben. Erre ez jön:
avrdude: ser_send(): write error: Invalid argument.
Valahol olvastam, hogy -c stk500v2 helyett -c stk500hvsp, de az eredmény így is negatív.

HID módban megjelenik a /dev/hidraw0. Jogok ok.
Avrdudenak ha jól sejtem ekkor -P avrdoper kell portként megadni megadni, de ez esetben sem működik.

Windows alatt megy, ua. a panel stk-500-al megy, szóval az eb itt van elhantolva.
(#) Lucifer válasza Lucifer hozzászólására (») Szept 3, 2009 /
 
No lecsapoltam a legújabb avrdudet cvsből, és megkerestem a HID-as mód avrdoper_open függvényét, ami elbukik.

  1. static void avrdoper_open(char *port, long baud, union filedescriptor *fdp)
  2. {
  3.     int rval;
  4.     char *vname = "obdev.at";
  5.     char *devname = "AVR-Doper";
  6.  
  7.     rval = usbOpenDevice(fdp, USB_VENDOR_ID, vname, USB_PRODUCT_ID, devname, 1);
  8.     if(rval != 0){
  9.         fprintf(stderr, "%s: avrdoper_open(): %s\n", progname, usbErrorText(rval));
  10.         exit(1);
  11.     }
  12. }


Namármost a dmesg nekem
  1. [3708.383298] generic-usb 0003:16C0:05DF.0001: hiddev96,hidraw0: USB HID v1.01 Device [obdev.at Hobbielektronika.hu: AVR-Doper] on usb-0000:00:13.0-1/input0

Ír ki.

Topi át lett írva valami az eszköz neve felé?


UPdate
A harmadik avrdude újrapörgetés után rájöttem a megfelelő kombinációra:

  1. static void avrdoper_open(char *port, long baud, union filedescriptor *fdp)
  2. {
  3.     int rval;
  4.     char *vname = "obdev.at";
  5.     char *devname = "Hobbielektronika: AVR-Doper";
  6.  
  7.     rval = usbOpenDevice(fdp, USB_VENDOR_ID, vname, USB_PRODUCT_ID, devname, 1);
  8.     if(rval != 0){
  9.         fprintf(stderr, "%s: avrdoper_open(): %s\n", progname, usbErrorText(rval));
  10.         exit(1);
  11.     }
  12. }


És a dolgok működnek.

Javaslom küldjünk patchet az avrdude készítőinek, illetve javítsuk a cikkben azt, hogy csonk nélkül működik *NIX alatt,
ne szivassunk meg mást ezzel.
(#) Topi válasza Lucifer hozzászólására (») Szept 3, 2009 /
 
Valószínűleg erre nem lesz majd szükség. Az eszköz át lett nevezve, mert volt benne egy nagyon durva hiba, amit én javítottam is és el is küldtem a fejlesztőknek.
Nagyon korrektek voltak, felismerték a dolgot és egy három-négy napra a levelem után meg is jelent az oldalon, hogy az XY verzió súlyos hibát tartalmazott...
Két build-el később beletették már a javított kódomat a csomagba, és már a jó tölthető le az oldalukról.

A hiba nem más, mint hogy volt olyan csomag, amit a programozó a beállított órajeltől függetlenül _mindig_ ugyan olyan sebességgel küldött ki (ott még nem lett átállítva az SPI előosztás). És adott frekvencia alatt ez problémát jelentett. Konkrétan nem lehetett programozni.
Vélhetően azért nem bukkantak rá, mert mondjuk egy 8 megás prociról kipróbálták hogy oké megy 50k-val is, meg vitték lejjebb és ott is működött. De olyan procinál ami mondjuk 400KHz-ről működik, már a device signature-t sem lehetett beolvasni, mert a default előosztásról (115K) ment.

Hát igen. Ismét megbizonyosodott a nyílt forráskód előnye.
(#) Lucifer válasza Topi hozzászólására (») Szept 3, 2009 /
 
Ez eddig szép és jó, a cikkben viszont még mindig az átnevezett verziós hex van.

Igazad van nem lett volna szabad kész binárist letöltenem .

Éljen a bleeding edge.
(#) taj1989 hozzászólása Szept 18, 2009 /
 
Hali!
Bocsi az előzőekért, valószínűleg én rontottam el valamit. Vettem egy új atmega8-16pu-t beletettem, megcsináltam azt a soros programozót, amit linkeltem és a pony proggal beleégettem a programot. Visszaolvasta és sikeres volt az írás de továbbra is azt írja ha bedugom az usb-be hogy nem lehet felismerni. Ezután megpiszkáltam a fuse biteket (kiszedtem a pipát a cksel-ektől) és azóta a program azt írja hogy unknown device és nem is tudom írni. Ugyanez volt az előző atmegával. Hiába próbálom visszaállítani a fuse biteket, csak azt írja h unknown device Ha az ignore-ra megyek akkor beolvassa a biteket és mind ki van pipálva. Most ezzel kinyírtam ezt az avr-t is?
Következő: »»   1 / 3
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem