Fórum témák
» Több friss téma |
Sziasztok,
Használja valaki a Topi-féle AVR programozót Linux alatt? Nekem sehogysem sikerült működésre bírnom.
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.
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)
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 ....
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:
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.
Próbáld ki CDC módban. HID tüske nélkül. -P-hez a megfelelő com-ot írva.
CDC módban keletkezik egy /dev/ttyACM0 eszköz, ez lenne elvileg a virtuális com port. Erre ezt kapom:
Nem tudom mennyire segít, az strace-ből kb annyi látszik, hogy timeout van:
Az strace-ben semmi különbség nincs.
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.
Jogosultsagok ?
Nezd meg hasznalja-e valami:
Rendben vannak, ha root-ként futtatom, akkor sem hajlandó írni rá. Megnéztem, nem foglalt.
Ú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.
Megérkezett az új programozóm, ez gond nélkül működik Ubuntu alatt. Akit érdekel, ez az
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?
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.
á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...
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: é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? „először fordítva tettem be az avr-t”
Egy (makro) fotó és a félreértések tisztázhatóak!
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.
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 ......
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!
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.
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
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.
No lecsapoltam a legújabb avrdudet cvsből, és megkerestem a HID-as mód avrdoper_open függvényét, ami elbukik.
Namármost a dmesg nekem
Í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:
É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.
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.
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.
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? |
Bejelentkezés
Hirdetés |