Grzegorz
Guest
Sun Jan 24, 2010 1:49 pm
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 :)
--
Pozdrawiam, Grzegorz.
Paweł
Guest
Sun Jan 24, 2010 5:39 pm
Quote:
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.
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ł
Gusioo
Guest
Sun Jan 24, 2010 5:55 pm
On 24 Sty, 13:49, Grzegorz <b...@maila.pl> wrote:
Quote:
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
Co prawda tylko dla AVR, ale złożyłem sobie to:
http://www.fischl.de/usbasp/
Może Ci się przyda.
Pozdrawiam,
Jacek.
--
http://gusioo.blogspot.com/
Adam Dybkowski
Guest
Mon Jan 25, 2010 2:36 am
W dniu 2010-01-24 13:49, Grzegorz pisze:
Quote:
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.
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ę:
http://www.allegro.pl/item887379833_programator_avr_usb_4w1_stk500v2_avr910_rs232_gen.html
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:
http://www.allegro.pl/item896579444_usb_avr_jtag_debugger_zgodny_z_jtag_ice.html
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:
http://www.allegro.pl/item883735269_jtag_na_usb_dla_arm_programator_rs232.html
Albo na FT2232H (USB 2.0 High Speed):
http://www.joernonline.de/contrexx2/cms/index.php?page=129
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Adam Dybkowski
Guest
Mon Jan 25, 2010 2:41 am
W dniu 2010-01-24 17:39, Paweł pisze:
Quote:
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.
Procesory ARM robione są przez wiele różnych firm. Nie istnieje coś
takiego jak uniwersalny programator. Musisz zdecydować się na jakąś
konkretną rodzinę.
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).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
J.F.
Guest
Mon Jan 25, 2010 11:43 am
On Mon, 25 Jan 2010 02:41:00 +0100, Adam Dybkowski wrote:
Quote:
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".
A ten JTAG w ARM to wedlug jednego standardu, czy znow kazdy producent
swoje rejestry umieszcza jak chce ?
J.
mk
Guest
Mon Jan 25, 2010 3:10 pm
W dniu 2010-01-25 11:43, J.F. pisze:
Quote:
A ten JTAG w ARM to wedlug jednego standardu, czy znow kazdy producent
swoje rejestry umieszcza jak chce ?
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
Paweł
Guest
Mon Jan 25, 2010 6:06 pm
Quote:
Procesory ARM robione są przez wiele różnych firm. Nie istnieje coś
takiego jak uniwersalny programator. Musisz zdecydować się na jakąś
konkretną rodzinę.
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).
Interfejs JTAG jest standardowy. Jednak w praktyce do każdej rodziny
procesorów potrzebne jest inny software do programowania i zwykle inny
programator.
Paweł
Michał Lankosz
Guest
Mon Jan 25, 2010 9:49 pm
Użytkownik "Grzegorz" <brak@maila.pl> napisał w wiadomości
news:hjhfle$74h$1@news.onet.pl...
Quote:
Polećcie mi proszę jakiś uniwersalny, sprawdzony (bezproblemowy)
programator dla AVR oraz ARM (czy programatory dla ARM są uniwersalne?
Podepnę się do tematu...
Czy sprawdzał ktoś ten projekt
http://www.tuxgraphics.org/electronics/200510/article05101.shtml
czy 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ł
Adam Dybkowski
Guest
Mon Jan 25, 2010 11:21 pm
W dniu 2010-01-25 11:43, J.F. pisze:
Quote:
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".
A ten JTAG w ARM to wedlug jednego standardu, czy znow kazdy producent
swoje rejestry umieszcza jak chce ?
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.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Adam Dybkowski
Guest
Mon Jan 25, 2010 11:24 pm
W dniu 2010-01-25 18:06, Paweł pisze:
Quote:
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".
Interfejs JTAG jest standardowy. Jednak w praktyce do każdej rodziny
procesorów potrzebne jest inny software do programowania i zwykle inny
programator.
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).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
mk
Guest
Tue Jan 26, 2010 6:24 pm
W dniu 2010-01-25 23:24, Adam Dybkowski pisze:
[quote:d1b25456c3]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).
[/quote:d1b25456c3]
Wiggler nie obsługuje SWD.
Np. LPC1100 i LPC1300 są "SWD only".
pzdr
mk
Paweł
Guest
Tue Jan 26, 2010 6:51 pm
[quote:1c7ea42825]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).
[/quote:1c7ea42825]
Przypominam, że pytający napisał:
"Obecnie żaden z komputerów, do których mam dostęp nie posiada LPT."
Paweł
Adam Dybkowski
Guest
Thu Jan 28, 2010 1:06 am
W dniu 2010-01-26 18:24, mk pisze:
Quote:
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).
Wiggler nie obsługuje SWD.
Np. LPC1100 i LPC1300 są "SWD only".
Piszesz o tym?
http://www.arm.com/products/solutions/SWD.html
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.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Adam Dybkowski
Guest
Thu Jan 28, 2010 1:11 am
W dniu 2010-01-26 18:51, Paweł pisze:
Quote:
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).
Przypominam, że pytający napisał:
"Obecnie żaden z komputerów, do których mam dostęp nie posiada LPT."
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.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.