-
1. Data: 2020-07-02 10:02:01
Temat: Programatory JTAG
Od: Atlantis <m...@w...pl>
Powróciłem ostatnio do przerwanej jakiś czas temu nauki VHDL-a. W jednej
z książek poruszony był temat programowania układów CPLD za
pośrednictwem interfejsu JTAG, w tym również łączenia kilku układów w
"daisy chain" celem ich jednoczesnego programowania (np. jeśli w
projekcie mamy mikrokontroler współpracujący z układem programowalnym).
Niby wiedziałem, że taka możliwość istnieje, ale jakoś się nad tym do
tej pory nie zastanawiałem. Teraz jednak zastanawiam się nad pewną
kwestią, mianowicie większość producentów układów/mikrokontrolerów
oferuje dedykowane dla nich programatory JTAG. Można więc kupić osobne
narzędzia przeznaczone np. dla ARM-ów od konkretnego producenta albo
CLPD/FPGA od Xilinx, Altery czy Latice.
Do tej pory zakładałem, że występują jakieś drobne różnice w
interpretacji i JTAG-iem przeznaczonym do programowania Xlinxów nie
zaprogramuję np. AT91SAM7.
Jednak co w sytuacji, kiedy w projekcie będę miał obydwa te urządzenia,
połączone w daisy chain? Będę musiał programować "na raty", podmieniając
programatory, czy też jedno narzędzie poradzi sobie z obydwoma układami?
-
2. Data: 2020-07-02 10:07:59
Temat: Re: Programatory JTAG
Od: Marek <f...@f...com>
On Thu, 2 Jul 2020 10:02:01 +0200, Atlantis <m...@w...pl>
wrote:
> Powróciłem ostatnio do przerwanej jakiś czas temu nauki VHDL-a. W
> jednej
Szkoda, że się nie ustosunkowales do pytań innych użytkowników z
wątku o Raspi i karcie sd... :(
--
Marek
-
3. Data: 2020-07-02 11:28:22
Temat: Re: Programatory JTAG
Od: Atlantis <m...@w...pl>
On 02.07.2020 10:07, Marek wrote:
> Szkoda, że się nie ustosunkowales do pytań innych użytkowników z wątku o
> Raspi i karcie sd... :(
Hmm... Na twoją wiadomość odpowiedziałem w chwilę po zadaniu powyższego
pytania. Poza tym coś mi umknęło? Bo w wątku widziałem kilka sugestii:
zastosowanie starszego terminalu na x86, kadłubka laptopa albo
bootowanie RasPi z USB. Rozwiązania z laptopem jednak wolałbym uniknąć
ze względu na pobór prądu. Zastanawiam się czy nie pójść faktycznie w
kierunku podpięciu do Maliny dysku SSD przez USB.
-
4. Data: 2020-07-02 19:48:56
Temat: Re: Programatory JTAG
Od: Adam Górski <gorskiamalpawpkropkapeel_@xx>
> Powróciłem ostatnio do przerwanej jakiś czas temu nauki VHDL-a. W jednej
> z książek poruszony był temat programowania układów CPLD za
> pośrednictwem interfejsu JTAG, w tym również łączenia kilku układów w
> "daisy chain" celem ich jednoczesnego programowania (np. jeśli w
> projekcie mamy mikrokontroler współpracujący z układem programowalnym).
> Niby wiedziałem, że taka możliwość istnieje, ale jakoś się nad tym do
> tej pory nie zastanawiałem. Teraz jednak zastanawiam się nad pewną
> kwestią, mianowicie większość producentów układów/mikrokontrolerów
> oferuje dedykowane dla nich programatory JTAG. Można więc kupić osobne
> narzędzia przeznaczone np. dla ARM-ów od konkretnego producenta albo
> CLPD/FPGA od Xilinx, Altery czy Latice.
>
> Do tej pory zakładałem, że występują jakieś drobne różnice w
> interpretacji i JTAG-iem przeznaczonym do programowania Xlinxów nie
> zaprogramuję np. AT91SAM7.
>
> Jednak co w sytuacji, kiedy w projekcie będę miał obydwa te urządzenia,
> połączone w daisy chain? Będę musiał programować "na raty", podmieniając
> programatory, czy też jedno narzędzie poradzi sobie z obydwoma układami?
>
Bardzo ciekawe pytanie.
Teoretycznie, taka jest idea JTAG-a.
Moim zdaniem jest tak że software programujący od różnych producentów
fpga/cpu będzie akceptował inne urządzenia w łańcuchu ale będzie wymagał
dedykowanego programatora od każdego producenta.
Są firmy trzecie dostarczające swoje rozwiązania JTAG, ale czy poza
skanowaniem ścieżki brzegowej potrafią coś więcej ? Nie wiem.
Tutaj pewnie pytanie do firm takich jak xjtag.com bo to kwestia
wbudowania algorytmów programujących. Nie wiem czy X i A byli skłonni
się podzielić.
Tym bardziej że w części przypadków jest to programowanie pośrednie.
Jeśli chodzi wyłącznie o programowanie w czasie produkcji to poszedłbym
jeszcze w inną stronę i każdy z jtagów podłączył do portu IO jakiegoś
innego już istniejącego w projekcie procesora/mikrokontrolera bo
producenci fpga , jak mi się mocno kojarzy, udostępniają źródła w C
prostego programatora po jtag do zastosowań embedded. Altera/Intel na
pewno a Xilinx jak dobrze pamiętam chyba też.
Pozdrawiam
Adam Górski
-
5. Data: 2020-07-02 22:21:49
Temat: Re: Programatory JTAG
Od: Mario <M...@...pl>
W dniu 02.07.2020 o 19:48, Adam Górski pisze:
>
>> Powróciłem ostatnio do przerwanej jakiś czas temu nauki VHDL-a. W jednej
>> z książek poruszony był temat programowania układów CPLD za
>> pośrednictwem interfejsu JTAG, w tym również łączenia kilku układów w
>> "daisy chain" celem ich jednoczesnego programowania (np. jeśli w
>> projekcie mamy mikrokontroler współpracujący z układem programowalnym).
>> Niby wiedziałem, że taka możliwość istnieje, ale jakoś się nad tym do
>> tej pory nie zastanawiałem. Teraz jednak zastanawiam się nad pewną
>> kwestią, mianowicie większość producentów układów/mikrokontrolerów
>> oferuje dedykowane dla nich programatory JTAG. Można więc kupić osobne
>> narzędzia przeznaczone np. dla ARM-ów od konkretnego producenta albo
>> CLPD/FPGA od Xilinx, Altery czy Latice.
>>
>> Do tej pory zakładałem, że występują jakieś drobne różnice w
>> interpretacji i JTAG-iem przeznaczonym do programowania Xlinxów nie
>> zaprogramuję np. AT91SAM7.
>>
>> Jednak co w sytuacji, kiedy w projekcie będę miał obydwa te urządzenia,
>> połączone w daisy chain? Będę musiał programować "na raty", podmieniając
>> programatory, czy też jedno narzędzie poradzi sobie z obydwoma układami?
>>
>
> Bardzo ciekawe pytanie.
>
> Teoretycznie, taka jest idea JTAG-a.
>
> Moim zdaniem jest tak że software programujący od różnych producentów
> fpga/cpu będzie akceptował inne urządzenia w łańcuchu ale będzie wymagał
> dedykowanego programatora od każdego producenta.
>
> Są firmy trzecie dostarczające swoje rozwiązania JTAG, ale czy poza
> skanowaniem ścieżki brzegowej potrafią coś więcej ? Nie wiem.
> Tutaj pewnie pytanie do firm takich jak xjtag.com bo to kwestia
> wbudowania algorytmów programujących. Nie wiem czy X i A byli skłonni
> się podzielić.
W przypadku Xilinxa można przekonwertować wsad do postaci pliku
binarnego, który programuje się dowolnym, programatorem obsługiwanym
przez OpenOCD. Może inne fpga też tak mają.
--
pozdrawiam
MD
-
6. Data: 2020-07-03 11:05:30
Temat: Re: Programatory JTAG
Od: a...@m...uni.wroc.pl
Atlantis <m...@w...pl> wrote:
> Powr?ci?em ostatnio do przerwanej jaki? czas temu nauki VHDL-a. W jednej
> z ksi??ek poruszony by? temat programowania uk?ad?w CPLD za
> po?rednictwem interfejsu JTAG, w tym r?wnie? ??czenia kilku uk?ad?w w
> "daisy chain" celem ich jednoczesnego programowania (np. je?li w
> projekcie mamy mikrokontroler wsp??pracuj?cy z uk?adem programowalnym).
> Niby wiedzia?em, ?e taka mo?liwo?? istnieje, ale jako? si? nad tym do
> tej pory nie zastanawia?em. Teraz jednak zastanawiam si? nad pewn?
> kwesti?, mianowicie wi?kszo?? producent?w uk?ad?w/mikrokontroler?w
> oferuje dedykowane dla nich programatory JTAG. Mo?na wi?c kupi? osobne
> narz?dzia przeznaczone np. dla ARM-?w od konkretnego producenta albo
> CLPD/FPGA od Xilinx, Altery czy Latice.
>
> Do tej pory zak?ada?em, ?e wyst?puj? jakie? drobne r??nice w
> interpretacji i JTAG-iem przeznaczonym do programowania Xlinx?w nie
> zaprogramuj? np. AT91SAM7.
>
> Jednak co w sytuacji, kiedy w projekcie b?d? mia? obydwa te urz?dzenia,
> po??czone w daisy chain? B?d? musia? programowa? "na raty", podmieniaj?c
> programatory, czy te? jedno narz?dzie poradzi sobie z obydwoma uk?adami?
Wydaje mi sie ze wiekszosc "malych" mikrokontrolerow nie
na prawdziwego JTAG-a. Np. SWD logicznie dziala podobnie
do JTAG-a, ale _nie_ ma mozliwosci laczenia "daisy chain".
O ile pamietam jedyna standartowa funkcja JTAG-a jest
"boundary scan", myslalem o tym zeby sie tym pobawic,
ale te mikrokontrolery ktore ogladalem nie implementuja
"boundary scan"...
Czyli pozostaja niestandartowe funkcje producenta. W przypadku
ARM-ow dosc istotna czesc jest standartowa: interfejs pozwala
"przechwycic" szyne SOC-a i debuguje sie przez podlaczone
do niej uklady. Niestety, producenci robia ze szczegolow
tajemnice (o ile wiem pelna dokumentacja jest dostepna
tylko jak sie podpisze NDA (czyli wiazaca obietnice ze sie
nie powie innym)). W praktyce, przez ST-linka (ktory
teoretycznie jest tylko do procesorow ST) udalo mi sie
dostac troche danych z LPC. Ale akurat procedury
programowania sa inne. Tzn. kazdy producent ma swoj
interfejs od flashowania.
Jest zrozumiale ze np. ST nie chce by ich programatory uzywac
do programowania ukladow konkurencji (i podobnie inni producenci).
Sa tez programatory uniwersalne, np. openocd, ale to raczej
od niezaleznych dostawcow...
--
Waldek Hebisch
-
7. Data: 2020-07-03 12:07:38
Temat: Re: Programatory JTAG
Od: Silver Dream ! <s...@n...net>
On 02/07/2020 10:02, Atlantis wrote:
> Jednak co w sytuacji, kiedy w projekcie będę miał obydwa te urządzenia,
> połączone w daisy chain? Będę musiał programować "na raty", podmieniając
> programatory, czy też jedno narzędzie poradzi sobie z obydwoma układami?
Sprzętowo JTAG sprowadza się do czterech linii komunikacyjnych i nie ma
w nich nic szczególnie czarnomagicznego co wymagałoby programatora tego
czy tamtego producenta. Np. w tym projekcie:
https://beamracer.net/site/
(strona ,,nieoficjalna" jeszcze) używamy najzwyklejszego złącza USB, za
którym stoi popularny układ FTDI sterujący liniami JTAG.[*] O czym
trzeba pamiętać przy większej liczbie układów to aby linie miały
odpowiednio zabezpieczone poziomy (pull-up/push-down aka pull-down) gdyż
nie wszyscy producenci wbudowują rezystory wewnątrz układów. To trzeba
wyczytać w specyfikacjach używancyh układów. Tyle po stronie sprzętowej.
Znaczące różnice pojawiają się natomiast w implementacjach protokołu
używanego do programowania układów. Niemniej za to odpowiedzialne jest
oprogramowanie generujące pliki wynikowe.
Nie bardzo też rozumiem jak chciałbyś programować ileś układów
,,jednocześnie". Teoretycznie jestem sobie w stanie wyobrazić taką
możliwość poprzez odpowiednie zmultipleksowanie różnych strumieni ale
praktycznie nie byłoby to ani trywialne ani dodające wartości.
* - trudno wymagać od każdego nabywcy aby w razie potrzeby uaktualnienia
logiki naszego urządzenia kupował programator, instalował kobylaste
oprogramowanie producenta/ów układu/ów, męczył się z konfiguracją,
uruchomieniem, itd.
-
8. Data: 2020-07-03 13:01:57
Temat: Re: Programatory JTAG
Od: stary grzyb <s...@o...pl>
> Nie bardzo też rozumiem jak chciałbyś programować ileś układów
> ,,jednocześnie".
Może nie traktuj pojęcia "jednocześnie" tak dosłownie.
Ja np. mam na płycie 8 procków z identycznym firmware'm. Żeby nie
wyprowadzać pinów JTAG na 8 złącz i nie przełączać programatora między
tymi złączami, połączyłem procki w "daisy chain": jest tylko 1 złącze do
programowania. Programator podłączam tylko raz, a firmware wysyłam 8
razy, wskazując programatorowi (w opcjach) na który procek to ma iść.
Pojęcie "jednocześnie" rozumiałbym więc jako: "korzystając z 1 gniazda
do programowania i z 1 programatora".
Obawiam się, że realizacja tego przy połączeniu w "daisy chain"
podzespołów rożnych producentów będzie bardzo trudna - może wręcz nierealna.
-
9. Data: 2020-07-04 00:54:09
Temat: Re: Programatory JTAG
Od: Silver Dream ! <s...@n...net>
On 03/07/2020 13:01, stary grzyb wrote:
> > Nie bardzo też rozumiem jak chciałbyś programować ileś układów
> > ,,jednocześnie".
> [...]
> Pojęcie "jednocześnie" rozumiałbym więc jako: "korzystając z 1 gniazda
> do programowania i z 1 programatora".
Prawdopodobnie tak ale próbuję się upewnić co poeta miał na myśli ;-)
> Obawiam się, że realizacja tego przy połączeniu w "daisy chain"
> podzespołów rożnych producentów będzie bardzo trudna - może wręcz
> nierealna.
Jeżeli mówimy o ,,jednym programatorze" i oprogramowaniu do sterowania
tymże pochodzącym od konkretnego producenta to nie widzę dużych szans.
Małych zresztą też ;-) Jeżeli nie z innych to przynajmniej z tego
powodu, że takie oprogramowanie stwierdzi ,,brak [swojego] programatora"
kiedy będzie podłączony inny. Być może dałoby się to zrealizować przy
użyciu jakiegoś wolnego oprogramowania, ale nie mam praktycznych
doświadczeń.