logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak przeprogramować Xilinx XCF01S bez kabla, emulując JTAG na ATmega128?

krolmrowek 28 Maj 2007 22:43 2103 4
REKLAMA
  • #1 3930814
    krolmrowek
    Poziom 10  
    Posty: 20
    Witam. Mam do rozwiązania następujący problem: mam na płytce- AVR ATmega128 oraz pamięć Flash XCF01S programującą bitstreamem FPGA Spartan3. Sa one połączone łańcuchem JTAG. Normalnie aby przeprogramować Flasha wpinam w łańcuch(zamykając go) na goldpiny ISP JTAG i programuje pamięć iMPACTem. Chodzi mi o zmodyfikowanie układu, mianowicie o to aby móc przeprogramować Flasha bez wpinania kabla. Sciślej mówiąc procesor ma emulować interfejs JTAG i wysterowując pamięć Flash w odpowiedni stan(odpowiednia instrukcja JTAG) przeprogramować ją(FPGA jest wtedy w stanie BYPASS, a na goldpinach zworka by zamknąć łańcuch). I tu pojawia się problem. Nigdzie nie moge znaleść jakiegoś datasheeta na temat programowania pamięci XCF01S emulując interfejs JTAG. Wszędzie jest tylko pokazane jak zaprogramować tą pamięć in-system przy pomocy kabla i iMPACTa. Nie moge nawet znaleść opisu instrukcji JTAG tej pamięci innych niż standardowe. Może ktoś zajmował się czymś takim i wie gdzie to znaleść lub mógłby mnie naprowadzić jakoś na trop?
  • REKLAMA
  • REKLAMA
  • #3 3931184
    krolmrowek
    Poziom 10  
    Posty: 20
    Father napisał:
    Nie lepiej zrobić to tak jak tu https://www.elektroda.pl/rtvforum/topic628098.html


    Rozumiem, że chodzi Ci o to by programować FPGA bezpośrednio z mikrokontrolera? Też myślę, że tak byłoby najłatwiej bo na ten temat znalazłem nawet sporo na stronie Xilinxa. Ale problem jest taki, że płytka z taka konfiguracją jak podałem(FPGA programowane automatycznie przy starcie z pamięci Flash i to wszystko połączone w łańcuchu JTAG z AVR ATmega128) juz fizycznie istnieje. Ja dostałem tą płytke by spróbować zmodyfikować programowanie FPGA tak jak opisałem. Można by teoretycznie programować FPGA z mikrokontrolera, a w tym czasie wprowadzić Flash w stan BYPASS, ale rozumie, że w takim przypadku pamięć Flash staje się zbędna i po każdym włączeniu zasilania od nowa FPGA jest programowane przez mikrokontroler?
  • REKLAMA
  • #4 3931818
    Father
    Poziom 26  
    Posty: 681
    Pomógł: 88
    Ocena: 13
    Dokładnie, w takim przypadku konfiguracja FPGA jest przechowywana w pamięci mikrokontrolera, a pokażdorazowym włączeniu zasilania mikrokontroler programuje FPGA.
  • #5 3936028
    krolmrowek
    Poziom 10  
    Posty: 20
    Znalazłem juz odpowiedz na nurtujące mnie pytanie więc opisze rozwiązanie bo może kiedyś komuś się przyda.
    Na początek znalazłem dokument Xilinxa zatytułowany "Xilinx In-System Programming Using an Embedded Microcontroller"

    www.xilinx.com/bvdocs/appnotes/xapp058.pdf

    Jednak w tym dokumencie nie było żadnej wzmianki, że uniwersalne moduły udostępnione przez Xilixa napisane w C obsługują też pamięć Flash XCFxxS, była natomiast wymieniona inna pamięć PROM oraz układy FPGA i CPLD(zresztą nigdzie nie było żadnej wzmianki jak to robić z pamięcią XCFxxS). Po ściągnięciu tych gotowych modułów spakowanych Zipem

    ftp://ftp.xilinx.com/pub/swhelp/cpld/eisp_pc.zip

    okazało się, że w środku siedzi zwykły plik tekstowy w którym jest opisane jak bezpośrednio programować tą pamięć z mikrokontrolera :].... Ech nie ma to jak dobrze napisane datasheety i spójność informacji...
REKLAMA