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 :)
Didn't find your answer? Ask the community — no account required.
P
Paweł
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ł
A
Adam Dybkowski
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
A
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).
J
J.F.
A ten JTAG w ARM to wedlug jednego standardu, czy znow kazdy producent swoje rejestry umieszcza jak chce ?
J.
M
mk
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
P
Paweł
Interfejs JTAG jest standardowy. Jednak w praktyce do każdej rodziny procesorów potrzebne jest inny software do programowania i zwykle inny programator.
Paweł
I
invalid unparseable
U¿ytkownik "Grzegorz" snipped-for-privacy@maila.pl napisa³ w wiadomo¶ci news:hjhfle$74h$ snipped-for-privacy@news.onet.pl...
Podepnê siê do tematu... Czy sprawdza³ kto¶ ten projekt
formatting link
mo¿e s± jakie¶ lepsze? Akurat dysponujê porem LPT, ale na okazjonalnie przyda³by siê programator z USB. U¿y³bym popularnego kabla z uk³adem PL2303, ¿eby nie bawiæ siê w kupowanie, p³ytkê i lutowanie FT323. Oczywi¶cie trzeba zrezygnowaæ z pierwszego programowania za pomoc± "BitBang loading". Czy STK500 V2 wymaga od czasu do czasu upgrade firware? Czy s± jakie¶ wersje z automatycznym upgrade z poziomu AVR Studio (self programming)?
Micha³
A
Adam Dybkowski
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.
A
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).
M
mk
W dniu 2010-01-25 23:24, Adam Dybkowski pisze:
Wiggler nie obsługuje SWD. Np. LPC1100 i LPC1300 są "SWD only".
pzdr mk
P
Paweł
Przypominam, że pytający napisał: "Obecnie żaden z komputerów, do których mam dostęp nie posiada LPT."
Paweł
A
Adam Dybkowski
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.
A
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.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.