Na wstępie może podam 2 linki:
https://www.elektroda.pl/rtvforum/topic996737.html
https://www.elektroda.pl/rtvforum/topic1019038.html
ponieważ osób chętnych jest już dosyć sporo, to zdecydowałem się rozpocząć projekt NOWEJ i LEPSZEJ wersji JTAGa do ARMa <: odpowiednio dziwaczna nazwa jeszcze nie została wymyślona [;
O CO CHODZI
Przedmiotem projektu jest JTAG do ARMa podłączany do komputera przez port USB. JTAG taki współpracować będzie z KAŻDYM rdzeniem ARM - ograniczeniem jest program na komputer PC, który tego JTAGa obsługuje - jedli znajdzie się stosowny software, to da rade debugować nawet ARM58 (; JTAG ten oparty będzie - jak poprzednio - na kostce FT2232, a JTAGi takie obslugiwane sa przez oprogramowanie, które korzysta z GDB (czyli wszystko co używa GCC) za pomocą OpenOCD oraz m.in. CrossWorks. JTAG taki na pewno nie działa w IAR i w Keilu, to są firmy nastawione na klientów, których stać na kompilator za xxxx zl + JTAG za drugie tyle.
podobnie jak ostatnio plan jest taki, ze zaprojektuje plytke i zorganizuje zamowienie grupowe na plytki, czesci, obudowy, ...
CO SIE ZMIENI W STOSUNKU DO POPRZEDNIEJ WERSJI
JTAG opisany w powyzszych dwoch tematach oparty zostal o projekt Turtelizer2. projekt turtelizera nie jest oczywiscie zly, niemniej jednak pare rzeczy mogloby byc lepszych. zdecydowalem sie oprzec aktualny projekt o Amontec JTAG Key, glownie z ponizszych dwoch powodow
- JTAG Key ma dwie osobne linie resetu SRST i TRST - Turtelizer2 mial je zwarte
- JTAG Key umozliwia sterowanie liniami resetu albo push-pull albo open-drain - w Turtelizerze jest to tylko open-drain (w moim projekcie open-collector [; )
dzieki tym dwóm zmianom debuggowanie jest wygodniejsze - mozna na przyklad podlaczyc sie JTAGiem do pracujacego sobie targeta w dowolnej chwili, albo debuggowac targeta od pierwszej instrukcji (nie wszystkie sie da, ale to juz nie kwestia JTAGa)
pozatym chcialbym dodac kilka zmian funkcjonalnych, ktore sprawia, ze urzadzenie bedzie wygodniejsze i bardziej wszechstronne
- w JTAGach takich spotyka sie zwykle konwerter USB-UART, ale jest on albo TTL albo RS-232, czemu by nie zrobic 2w1 <: wybor przy uzyciu zworki lub automatyczny - zobaczymy jeszcze
- mozliwosc zasilenia buforow konwertujacych bezposrednio z JTAGa - nie ma wtedy potrzeby dolaczania napiecia targeta do JTAGa - napiecie ustalone 3.3V, ewentualnie mozliwosc regulacji. co za tym idzie - w przypadkach o niewielkim poborze energii istnieje mozliwosc zasilenia targeta z JTAGa
- przydaloby sie poprawic kilka bledow, ktore wkradly sie do poprzedniej wersji [;
PO CO W OGOLE TEN TEMAT
po pierwsze:
nie chce, zeby byl to tylko moj projekt, bo - jak wiadomo - co dwie glowy to nie jedna, a jak glow jest kilkanascie, to szanse na jakies bledy lub glupie rozwiazania maleja exponencjalnie [; chce tutaj przedstawiac projekt w poszczegolnych etapach i licze na konstruktywna krytyke, ktora pozwoli na stworzenie najlepszego JTAGa do ARMa w okolicy [;
po drugie:
aby zebrac chetnych na grupowe zamowienie - wiadomo ze im wiecej tym taniej [;
ZALOZENIA
jak juz powiedziane zostalo, JTAG zostanie oparty o Amontec JTAG Key, a co za tym idzie, elementy musza sie troche zmienic w stosunku do poprzedniej wersji <: najwazniejsza zmiana jest to, ze potrzebne sa zupelnie inne bufory konwertujace, obecnie jestem zdecydowany na uklady 74LVC1G125 (5 sztuk - pojedynczy bufor trojstanowy) + 74LVC2T45 (1 sztuka - podwojny dwukierunkowy transceiver konwertujacy napiecia). ewentualnie (zalezy czy bedzie potrzeba zmniejszyc uklad czy ciac koszty) zamiast 5 ukladow 74LVC1G125 mozna uzyc 2 ukladow 74LVC2G125 (podwojne bufory trojstanowe) + 1 ukladu 74LVC1G125. uklady te sa trudno dostepne w PL (chyba, nie szukalem duzo), za to mozna je bez problemu kupic w farnellu - jedyna niedogodnosc to koniecznosc placenia karta kredytowa, pozatym cena przesylki jest znosna (5€). Z tego wzgledu przy zamowieniu czesci bedzie mozna zamowic sobie tylko te scalaczki albo komplet wszystkiego co trzeba. Zaleta uzycia tych ukladow jest mozliwosc bezproblemowej pracy z ukladami zasilanymi napieciem z zakresu 1.65V - 5.5V (bez naruszania rekomendowanych parametrow pracy). o ile pojscie powyzej 3.3V w ARMach ma male zastosowanie (jest chyba tylko jedna rodzina zasilana napieciem 5V - STR73x albo STR75x, nie mowiac juz o wyzszych napieciach [; ), za to pojscie w dol ma wielkie znaczenie w dobie expansji Cortexow, ktore pracuja zwykle z napieciem od 2 do 3.6V. ARM9, ARM11 rowniez pracuja na bardzo niskich napieciach zasilania. uwazam ze warto - uklady nie sa jakos szczegolnie drogie (koszt 5 sztuk 1g125 i 1 sztuki 2t45 to jakies 6.5zl) a w zamian zyskuje sie mozliwosc nieskrepowanej i bezpiecznej pracy z ukladami zasilanymi bardzo niskimi napieciami.
poniewaz raczej nie bedzie rewolucji w wielkosci ukladu, przypuszczalnie bedzie sie go dalo zamknac w tej samej obudowie co ostatno, czyli Z-24 z kradexa, ale to moze sie jeszcze zmienic.
pozatym naprawie swoj bardzo wielki blad polegajacy na uzyciu gniazda USB-A i tym razem grzecznie uzyje USB mini-B [;
zlacze JTAG standardowo - IDC-20, a co do UARTa - raczej rowniez tak jak ostatnio - na tasmie dopinane gniazdo RS-232 oraz IDC-10 do standardu TTL (choc 10 pinow nie wykorzystam, bo w TTLu nie ma sensu uzywac wiecej niz 4 linii + zasilanie i masa, to nie ma mniejszych wtyczek niz IDC-10 dostepnych dla smiertelnikow). RS-232 w ukladzie bedzie 100% pelny - 8 linii - wiec mozna podlaczyc wszystko, wlacznie z dziwnymi modemami itp. ewentualnie - jesli uwazacie, ze nie ma sensu uzywania pelnego RS-232 mozna uzyc tylko 4 najpopularniejszych linii i dzieki temu zastosowac mniejszy (i tanszy) transceiver
podobnie jak ostatnio, dla osob chetnych zamowie grupowo czesci, scalaki, obudowy, kable USB. przewiduje nastepujace opcje do wyboru (w nawiasie przypuszczalna cena, naprawde ciezko mi ocenic jaka bedzie dokladnie, ale to mniej wiecej ten zakres)
- plytka (20-25)
- glowny scalak ft2232 (25, zalezy gdzie sie go uda kupic)
- scalaczki do konwersji poziomow napiec (6.5)
- komplet pozostalych czesci (rezystory, kondensatory, gniazda, diody, ...) ( ? 10-15 ? )
- scalak max3243 (jesli ktos chce miec RS-232 w ukladzie (7-15 zalezy gdzie uda sie kupic)
- obudowa przezroczysta (4)
- kabel usb mini-b (8)
plytki tym razem drozsze beda, bo nie bede juz zamawial plytek w Gamie nigdy, a w innych firmach jest drozej. niektore rzeczy rowniez beda pewnie drozsze niz ostatnio, bo kryzys sprawil, ze euro jest troche przydrogawe obecnie
uklad bedzie - jak icd2 ostatnio - 99% SMD - przewlekane bedzie kilka elementow. jak ktos chce - moge mu poskladac na gotowo uklad - szczegoly na priv'a
NA ZAKONCZENIE PIERWSZEGO POSTU
czekam na wasze opinie co do moich zalozen, czekam tez na info jesli ktos sie pisze na zamowienie - mysle ze lista bedzie zamykana dopiero za jakis tam czas - gdy bede juz zamawial plytki. pewnie gdzies pod koniec stycznia. do wszystkich osob, ktore juz mam na liscie zaraz wysylam PMa z informacja o tym temacie - jesli go dostales, oznacza to, ze mam cie na liscie. jesli ktos chce sie na tej liscie znalezc - pisac na priv'a, coby niepotrzebnie tematu nie zasmiecac. ewentualnie - jesli komus sie nudzi - moze sie zadeklarowac juz od razu co by go interesowalo, choc przedstawiony powyzej podzial moze sie jeszcze zmienic.
4\/3!!
https://www.elektroda.pl/rtvforum/topic996737.html
https://www.elektroda.pl/rtvforum/topic1019038.html
ponieważ osób chętnych jest już dosyć sporo, to zdecydowałem się rozpocząć projekt NOWEJ i LEPSZEJ wersji JTAGa do ARMa <: odpowiednio dziwaczna nazwa jeszcze nie została wymyślona [;
O CO CHODZI
Przedmiotem projektu jest JTAG do ARMa podłączany do komputera przez port USB. JTAG taki współpracować będzie z KAŻDYM rdzeniem ARM - ograniczeniem jest program na komputer PC, który tego JTAGa obsługuje - jedli znajdzie się stosowny software, to da rade debugować nawet ARM58 (; JTAG ten oparty będzie - jak poprzednio - na kostce FT2232, a JTAGi takie obslugiwane sa przez oprogramowanie, które korzysta z GDB (czyli wszystko co używa GCC) za pomocą OpenOCD oraz m.in. CrossWorks. JTAG taki na pewno nie działa w IAR i w Keilu, to są firmy nastawione na klientów, których stać na kompilator za xxxx zl + JTAG za drugie tyle.
podobnie jak ostatnio plan jest taki, ze zaprojektuje plytke i zorganizuje zamowienie grupowe na plytki, czesci, obudowy, ...
CO SIE ZMIENI W STOSUNKU DO POPRZEDNIEJ WERSJI
JTAG opisany w powyzszych dwoch tematach oparty zostal o projekt Turtelizer2. projekt turtelizera nie jest oczywiscie zly, niemniej jednak pare rzeczy mogloby byc lepszych. zdecydowalem sie oprzec aktualny projekt o Amontec JTAG Key, glownie z ponizszych dwoch powodow
- JTAG Key ma dwie osobne linie resetu SRST i TRST - Turtelizer2 mial je zwarte
- JTAG Key umozliwia sterowanie liniami resetu albo push-pull albo open-drain - w Turtelizerze jest to tylko open-drain (w moim projekcie open-collector [; )
dzieki tym dwóm zmianom debuggowanie jest wygodniejsze - mozna na przyklad podlaczyc sie JTAGiem do pracujacego sobie targeta w dowolnej chwili, albo debuggowac targeta od pierwszej instrukcji (nie wszystkie sie da, ale to juz nie kwestia JTAGa)
pozatym chcialbym dodac kilka zmian funkcjonalnych, ktore sprawia, ze urzadzenie bedzie wygodniejsze i bardziej wszechstronne
- w JTAGach takich spotyka sie zwykle konwerter USB-UART, ale jest on albo TTL albo RS-232, czemu by nie zrobic 2w1 <: wybor przy uzyciu zworki lub automatyczny - zobaczymy jeszcze
- mozliwosc zasilenia buforow konwertujacych bezposrednio z JTAGa - nie ma wtedy potrzeby dolaczania napiecia targeta do JTAGa - napiecie ustalone 3.3V, ewentualnie mozliwosc regulacji. co za tym idzie - w przypadkach o niewielkim poborze energii istnieje mozliwosc zasilenia targeta z JTAGa
- przydaloby sie poprawic kilka bledow, ktore wkradly sie do poprzedniej wersji [;
PO CO W OGOLE TEN TEMAT
po pierwsze:
nie chce, zeby byl to tylko moj projekt, bo - jak wiadomo - co dwie glowy to nie jedna, a jak glow jest kilkanascie, to szanse na jakies bledy lub glupie rozwiazania maleja exponencjalnie [; chce tutaj przedstawiac projekt w poszczegolnych etapach i licze na konstruktywna krytyke, ktora pozwoli na stworzenie najlepszego JTAGa do ARMa w okolicy [;
po drugie:
aby zebrac chetnych na grupowe zamowienie - wiadomo ze im wiecej tym taniej [;
ZALOZENIA
jak juz powiedziane zostalo, JTAG zostanie oparty o Amontec JTAG Key, a co za tym idzie, elementy musza sie troche zmienic w stosunku do poprzedniej wersji <: najwazniejsza zmiana jest to, ze potrzebne sa zupelnie inne bufory konwertujace, obecnie jestem zdecydowany na uklady 74LVC1G125 (5 sztuk - pojedynczy bufor trojstanowy) + 74LVC2T45 (1 sztuka - podwojny dwukierunkowy transceiver konwertujacy napiecia). ewentualnie (zalezy czy bedzie potrzeba zmniejszyc uklad czy ciac koszty) zamiast 5 ukladow 74LVC1G125 mozna uzyc 2 ukladow 74LVC2G125 (podwojne bufory trojstanowe) + 1 ukladu 74LVC1G125. uklady te sa trudno dostepne w PL (chyba, nie szukalem duzo), za to mozna je bez problemu kupic w farnellu - jedyna niedogodnosc to koniecznosc placenia karta kredytowa, pozatym cena przesylki jest znosna (5€). Z tego wzgledu przy zamowieniu czesci bedzie mozna zamowic sobie tylko te scalaczki albo komplet wszystkiego co trzeba. Zaleta uzycia tych ukladow jest mozliwosc bezproblemowej pracy z ukladami zasilanymi napieciem z zakresu 1.65V - 5.5V (bez naruszania rekomendowanych parametrow pracy). o ile pojscie powyzej 3.3V w ARMach ma male zastosowanie (jest chyba tylko jedna rodzina zasilana napieciem 5V - STR73x albo STR75x, nie mowiac juz o wyzszych napieciach [; ), za to pojscie w dol ma wielkie znaczenie w dobie expansji Cortexow, ktore pracuja zwykle z napieciem od 2 do 3.6V. ARM9, ARM11 rowniez pracuja na bardzo niskich napieciach zasilania. uwazam ze warto - uklady nie sa jakos szczegolnie drogie (koszt 5 sztuk 1g125 i 1 sztuki 2t45 to jakies 6.5zl) a w zamian zyskuje sie mozliwosc nieskrepowanej i bezpiecznej pracy z ukladami zasilanymi bardzo niskimi napieciami.
poniewaz raczej nie bedzie rewolucji w wielkosci ukladu, przypuszczalnie bedzie sie go dalo zamknac w tej samej obudowie co ostatno, czyli Z-24 z kradexa, ale to moze sie jeszcze zmienic.
pozatym naprawie swoj bardzo wielki blad polegajacy na uzyciu gniazda USB-A i tym razem grzecznie uzyje USB mini-B [;
zlacze JTAG standardowo - IDC-20, a co do UARTa - raczej rowniez tak jak ostatnio - na tasmie dopinane gniazdo RS-232 oraz IDC-10 do standardu TTL (choc 10 pinow nie wykorzystam, bo w TTLu nie ma sensu uzywac wiecej niz 4 linii + zasilanie i masa, to nie ma mniejszych wtyczek niz IDC-10 dostepnych dla smiertelnikow). RS-232 w ukladzie bedzie 100% pelny - 8 linii - wiec mozna podlaczyc wszystko, wlacznie z dziwnymi modemami itp. ewentualnie - jesli uwazacie, ze nie ma sensu uzywania pelnego RS-232 mozna uzyc tylko 4 najpopularniejszych linii i dzieki temu zastosowac mniejszy (i tanszy) transceiver
podobnie jak ostatnio, dla osob chetnych zamowie grupowo czesci, scalaki, obudowy, kable USB. przewiduje nastepujace opcje do wyboru (w nawiasie przypuszczalna cena, naprawde ciezko mi ocenic jaka bedzie dokladnie, ale to mniej wiecej ten zakres)
- plytka (20-25)
- glowny scalak ft2232 (25, zalezy gdzie sie go uda kupic)
- scalaczki do konwersji poziomow napiec (6.5)
- komplet pozostalych czesci (rezystory, kondensatory, gniazda, diody, ...) ( ? 10-15 ? )
- scalak max3243 (jesli ktos chce miec RS-232 w ukladzie (7-15 zalezy gdzie uda sie kupic)
- obudowa przezroczysta (4)
- kabel usb mini-b (8)
plytki tym razem drozsze beda, bo nie bede juz zamawial plytek w Gamie nigdy, a w innych firmach jest drozej. niektore rzeczy rowniez beda pewnie drozsze niz ostatnio, bo kryzys sprawil, ze euro jest troche przydrogawe obecnie
uklad bedzie - jak icd2 ostatnio - 99% SMD - przewlekane bedzie kilka elementow. jak ktos chce - moge mu poskladac na gotowo uklad - szczegoly na priv'a
NA ZAKONCZENIE PIERWSZEGO POSTU
czekam na wasze opinie co do moich zalozen, czekam tez na info jesli ktos sie pisze na zamowienie - mysle ze lista bedzie zamykana dopiero za jakis tam czas - gdy bede juz zamawial plytki. pewnie gdzies pod koniec stycznia. do wszystkich osob, ktore juz mam na liscie zaraz wysylam PMa z informacja o tym temacie - jesli go dostales, oznacza to, ze mam cie na liscie. jesli ktos chce sie na tej liscie znalezc - pisac na priv'a, coby niepotrzebnie tematu nie zasmiecac. ewentualnie - jesli komus sie nudzi - moze sie zadeklarowac juz od razu co by go interesowalo, choc przedstawiony powyzej podzial moze sie jeszcze zmienic.
4\/3!!