Programator USB dla AVR i ARM

Witam, zachciało mi się wczoraj przeprogramować układ z AVR, ale natknąłem się na problem. Obecnie żaden z komputerów, do których mam dostęp nie posiada LPT.

Polećcie mi proszę jakiś uniwersalny, sprawdzony (bezproblemowy) programator dla AVR oraz ARM (czy programatory dla ARM są uniwersalne? tzn. obsługują ARM 7 i ARM 9?) pod złącze USB, który będzie działał w Windows 7 x64 oraz pod Linuxem.

Koszt do 130zł max. Żona nie pozwoli na więcej :)

Reply to
Grzegorz
Loading thread data ...

Procesory ARM robione są przez wiele różnych firm. Nie istnieje coś takiego jak uniwersalny programator. Musisz zdecydować się na jakąś konkretną rodzinę. Niektóre procesory mają wbudowany bootloader pozwalający zaprogramować układ przez RS232 lub USB. Nie wymagają więc żadnego programatora.

Paweł

Reply to
Paweł

W dniu 2010-01-24 13:49, Grzegorz pisze:

Od programatora AVRów dla Windows wypadałoby wymagać aby pracował m.in. z AVR Studio - czyli odpadają dziwaczne wynalazki "programowego" udawania USB, które chodzą tylko ze zmodyfikowanym avrdude (a'la wspomniany wcześniej w tym wątku usbasp). Zatem polecam coś emulującego oryginalny atmelowy programator (gadającego protokołem STK500v2), z zintegrowanym sprzętowym konwerterem FTDI (omijaj programatory mające w opisie pracę w klasie USB HID zamiast CDC) no i koniecznie buforem robiącym konwersję napięć.

Ja mam taki i daje radę:

formatting link
Praktycznie wszystko, co pójdzie z AVR Studio, uruchomisz też pod Linuxem (sterowniki usb_serial i ftdi_sio są wbudowane w kernel, do programowania można użyć np. avrdude).

Z drugiej strony jednak, przydałaby się też możliwość debugowania AVRów przez JTAG (też z użyciem AVR Studio) - tutaj musisz szukać klona atmelowej sondy ATJTAGICE (oryginalna jest koszmarnie droga). Coś w tym stylu:

formatting link
Oczywiście są też programatory typu 2-w-1 ale jeszcze droższe.

Do programowania i debugowania ARMów wystarcza natomiast cokolwiek obsługiwanego przez openocd. Dobrze sprawdzają się programatory oparte o układ FT2232 lub jeszcze szybszy FT2232H. Pierwszy z brzegu przykład:

formatting link
Albo na FT2232H (USB 2.0 High Speed):
formatting link

Reply to
Adam Dybkowski

W dniu 2010-01-24 17:39, Paweł pisze:

Praktycznie wszystkie mikrokontrolery z jądrem ARM posiadają wyprowadzony jak najbardziej standardowy interfejs JTAG. I do niego podłącza się właśnie "uniwersalny programator". Służy do programowania i debugowania. Nawet gdy procek nie ma własnej pamięci Flash, można zagadać z dołączoną do niego na zewnątrz pamięcią Flash (umie to m.in. openocd). Na prawdę nie trzeba być zdanym na widzimisię bootloadera szeregowego (co producent to innego).

Reply to
Adam Dybkowski

A ten JTAG w ARM to wedlug jednego standardu, czy znow kazdy producent swoje rejestry umieszcza jak chce ?

J.

Reply to
J.F.

W dniu 2010-01-25 11:43, J.F. pisze:

Jeden... ale rejestry od programowania Flash, to już jak producent chce... Pocieszenie takie, że to już kwestia software do programatora, a nie samego programatora.

pzdr mk

Reply to
mk

Interfejs JTAG jest standardowy. Jednak w praktyce do każdej rodziny procesorów potrzebne jest inny software do programowania i zwykle inny programator.

Paweł

Reply to
Paweł
Reply to
invalid unparseable

W dniu 2010-01-25 11:43, J.F. pisze:

Standard jest jeden, natomiast w kwestii złącza są dwa obozy: jeden preferuje oldskulowe wielgachne złącze 2x10 pinów (zaproponowane lata temu AFAIR przez samą firmę ARM), a drugi skłania się ku minimalizacji do wersji 10-pinowej (to samo tyle że mniej mas). Można spotkać kable programujące z obiema wersjami wtyczek a konkretny wybór zależy od tego, ile masz miejsca na płytce (czasem to trzeba i pójść w jeszcze mniejsze złącza plus przejściówka).

Jeżeli natomiast chodzi o warstwę komunikacji z jądrem procka - standard jest dawno ustalony i niezmienny. Tak samo się robi dostęp do rejestrów i pamięci RAM w każdym ARMie (różne mogą być tylko adresy tego obszaru RAM), podobnie jak i debugowanie (przy czym w niektórych prockach jest ograniczenie np. na liczbę pułapek sprzętowych).

Tak jak w tym wątku ktoś już trafnie zauważył - sprzęt do debugowania/programowania jest wspólny dla wszystkich ARMów, a ewentualne różnice musi obsłużyć soft na komputerze.

Reply to
Adam Dybkowski

W dniu 2010-01-25 18:06, Paweł pisze:

Inny software tak (albo po prostu nieco inny algorytm działania programów pokroju openocd, obsługujących wiele różnych procesorów), ale programator jest dokładnie identyczny. Tym samym sprzętem da się zaprogramować atmelowego AT91SAM7S256, co i dużego AT91RM9200, jak i procki rodziny LPC od NXP czy też od ST.

Podaj przykład mikrokontrolera z jądrem ARM, który wymaga niestandardowego kabla programującego (np. który nie zadziała ze starym dobrym Wiggler'em na LPT).

Reply to
Adam Dybkowski

W dniu 2010-01-25 23:24, Adam Dybkowski pisze:

Wiggler nie obsługuje SWD. Np. LPC1100 i LPC1300 są "SWD only".

pzdr mk

Reply to
mk

Przypominam, że pytający napisał: "Obecnie żaden z komputerów, do których mam dostęp nie posiada LPT."

Paweł

Reply to
Paweł

W dniu 2010-01-26 18:24, mk pisze:

Piszesz o tym?

formatting link
Dobrze wiedzieć o takich nowych "wynalazkach". Mimo to jakoś nie widzę problemu, aby stary dobry Wiggler (po drobnej modyfikacji rezystorem dodającym dwukierunkowość jednej z linii) nie umiał zagadać odpowiednim protokołem - przecież to kwestia oprogramowania na pececie.

Reply to
Adam Dybkowski

W dniu 2010-01-26 18:51, Paweł pisze:

OK, no to odpowiedź uszczegółowiona: kup pierwszy z brzegu programator JTAG na USB, który obsługuje też programowanie z interfejsem SWD. Co prawda w openocd jeszcze nad tym pracują, ale już jest w drodze. :) Wtedy dopiero będzie można powiedzieć, jak sensownie zrobić kabelek z FT2232 aby to śmigało - na razie pozostają domysły lub zakup drogich gotowców "łykających" SWD. Wszystko oczywiście zależy od tego, ile wątkotwórca ma do wydania.

Reply to
Adam Dybkowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.