Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Nowy JTAG do ARMa na USB - wstęp do projektu

Freddie Chopin 29 Cze 2010 21:01 89532 353
  • #241
    polprzewodnikowy
    Poziom 26  
    Code:
    polprzewodnikowy@HP:~$ lsusb
    
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 004: ID 0403:cff8 Future Technology Devices International, Ltd
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    polprzewodnikowy@HP:~$


    /etc/udev/rules.d/45-jtagkey.rules:

    Code:
    BUS=="usb", ACTION=="add", SYSFS{idProduct}=="CFF8", SYSFS{idVendor}=="0403", MODE:="0666", GROUP:="users"


    /usr/local/share/openocd/scripts/interface/jtagkey.cfg:

    Code:
    #
    
    # Amontec JTAGkey
    #
    # http://www.amontec.com/jtagkey.shtml
    #

    interface ft2232
    ft2232_device_desc "Amontec JTAGkey"
    ft2232_layout jtagkey
    ft2232_vid_pid 0x0403 0xCFF8


    Użytkownik nie był w grupie users ale po dodaniu go do grupy nic to nie zmienia.
  • Computer Controls
  • Computer Controls
  • #243
    polprzewodnikowy
    Poziom 26  
    Code:
    polprzewodnikowy@HP:~$ lsusb
    
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 006: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    polprzewodnikowy@HP:~$


    Wszędzie pozmieniałem na 6010 i nic.

    Na windowsie z ATmegą32 (na configu megi128) JTAG działa jak marzenie (oczywiście PID Amonteca bo sterowniki libusb-win32 działają tylko z nim):

    Nowy JTAG do ARMa na USB - wstęp do projektu
  • #244
    polprzewodnikowy
    Poziom 26  
    Już działa, wystarczyło zainstalować pakiet libftdi-dev i skompilować openocd z uwzględnieniem układu FT2232:

    Code:
    ./configure --enable-ft2232_libftdi --enable-usbprog
    
    make
    make install


    Poza tym, jak zrobić aby móc korzystać z JTAG'a nie tylko pod root'em ale też i pod zwykłym użytkownikiem?
  • #245
    gaskoin
    Poziom 38  
    openocd korzysta ze sprzętu linuxowego jak każdy inny program, czyli dobiera się do /dev zwykły użytkownik nie ma prawa dostępu do tego katalogu.

    BTW, można by skleić jakiś tutorial dla linuKSowców, w sensie jak to w ogóle odpalić. Z PIDem Amonteca dalej walcze z RSem/UARtem :P
  • #246
    Longos
    Poziom 11  
    Jak powinien wyglądać interfejs JTAG po stronie procesora ? Z książki "PLC2000. Mikrokontrolery z rdzeniem ARM7" wyciągnąłem taki schemat:
    Nowy JTAG do ARMa na USB - wstęp do projektu
    O ile oczywiście odpowiednie piny są podłączone, o tyle mam wątpliwości co do rezystorów podciągających do masy i zasilania... Właśnie trafiłem w EP na inną konfigurację wspomianych rezystorów :/

    Tymczasem OpenOCD uparcie woła:
    Code:
    C:>openocd.exe -f interface/jtagkey.cfg -f target/lpc2148.cfg
    
    Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)
    Licensed under GNU GPL v2
    For bug reports, read
            http://openocd.berlios.de/doc/doxygen/bugs.html
    RCLK - adaptive
    jtag_nsrst_delay: 200
    jtag_ntrst_delay: 200
    trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
    Info : RCLK (adaptive clock speed) not supported - fallback to 500 kHz
    Error: JTAG scan chain interrogation failed: all ones
    Error: Check JTAG interface, timings, target power, etc.
    Error: JTAG scan chain interrogation failed: all ones
    Error: Check JTAG interface, timings, target power, etc.
    Command handler execution failed
    Warn : jtag initialization failed; try 'jtag init' again.

    Ponieważ połączenia są w porządku stąd pytanie - gdzie leży przyczyna niemożności nawiązania łączności ?
  • #247
    Freddie Chopin
    Specjalista - Mikrokontrolery
    To czy sygnał wymaga pull-upa / pull-downa jest opisane w manualu (rozdział o pinach), więc nie ma co patrzeć po książkach. Przy okazji można się dowiedzieć co trzeba jak ustawić początkowo, aby JTAG ruszył.

    Tak czy siak - ponownie to piszę - "all ones" / "all zeroes" oznacza w 99% przypadków problem sprzętowy: zimny lut, brak połączenia, zwarcie, ... Nie aktywowanie interfejsu JTAG w targecie też się do tego wlicza.

    4\/3!!
  • #248
    yooz
    Poziom 10  
    Witam,

    Czy będzie wznawiany temat zamawiania płytek dla JTAG-lock-pick Freddiego?
    A może ktoś ma już zmontowany układzik i chciałby odsprzedać?
    Zaczynam zabawę z STM32 i rozglądam się za programatorem - na razie na celowniku jest ST-Link, ale może...

    I jeszcze szybkie pytanko - czy z ST-Link zadziała toolchain, który Freddie opisał w innym wątku? Z tego co czytam nie ma powodów by nie zadziałał (ST-Link obsługuje m.in. TrueStudio, które jest de facto obciętym gcc).

    Pozdrawiam

    yooz
  • #249
    Freddie Chopin
    Specjalista - Mikrokontrolery
    yooz napisał:
    Czy będzie wznawiany temat zamawiania płytek dla JTAG-lock-pick Freddiego?

    Być może będzie, zastanawiam się nad tym. Na chwilę obecną nie mam już więcej JTAGów, jeśli zamówienie zostanie ponowione, to najprawdopodobniej zamówię montaż na automatach i wycinanie obudów na frezarkach. Myślę na co się zdecydować, myślę, myślę, ale jakoś co kilka dni mi się zmienia nastawienie (; Zobaczymy, trzeba będzie się zdecydować wkrótce. Zasadniczo pomóc w decyzji może mi informacja, że wciąż jest zainteresowanie, więc jak ktoś jest chętny, to niech da mi znać (;

    Cytat:
    I jeszcze szybkie pytanko - czy z ST-Link zadziała toolchain, który Freddie opisał w innym wątku? Z tego co czytam nie ma powodów by nie zadziałał (ST-Link obsługuje m.in. TrueStudio, które jest de facto obciętym gcc).

    Nie zadziała, OpenOCD nie obsługuje tego układu, na razie nic nie słyszałem o czyichkolwiek planach zmiany tego stanu. A że jest jakieś tam TrueStudio... No cóż, jest też demo wersja Keila, IARa czy CrossWorksa, ale to chyba nie o to chodzi, żeby mieć jakieś bezsensowne ograniczenia, skoro można mieć coś za darmo bez takowych.

    4\/3!!
  • #250
    atom1477
    Poziom 43  
    Freddie Chopin: Czy zgodzisz się żebym zamówił w Chinach ze 20 płytek do Twojego JTAGa?
    I tak zamawiam kilkanaście innych projektów to bym i to zamówił. Przesyłka była by prawie free z tego powodu.
    Bo widzę że koszt jest dla Ciebie największym problemem. A dla mnie by nie był. Mogę zaryzykować zamówienie kilkunastu płytek.
    I od razu mówię ż firma w której zamawiam robi rewelacyjne płytki.
    Rozumiem że kilku chętnych z elektrody by było. Tak?
  • #251
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Na razie nie ma takiej potrzeby. Jakby co to zgadamy się na priv, ale ogólnie koszty płytek to nie jest problem (; Możesz mi zresztą podesłać info o tej firmie jeśli jest lepsza niż pcbcart (;

    4\/3!!
  • #252
    yooz
    Poziom 10  
    Kurczaczek, jak nie ma potrzeby jak jest :) A na poważnie - jeśli by były gotowce do kupienia, to ja chętnie wezmę, no i podejrzewam, że nie tylko ja.

    Ale znając życie to jeszcze dużo wody w Wiśle upłynie, no i trzeba będzie kupić coś komercjalnego. A tak BTW - co sądzicie o KT-Linku firmy Kristech? Z tego co czytałem, również jest na bazie układu FT2232.

    Pozdrawiam

    yooz
  • #253
    Freddie Chopin
    Specjalista - Mikrokontrolery
    yooz napisał:
    Ale znając życie to jeszcze dużo wody w Wiśle upłynie, no i trzeba będzie kupić coś komercjalnego.

    Skąd taki pesymizm? (; Myślę że jakbym się zdecydował to jest kwestia miesiąca. Tylko trzeba się zdecydować (;

    4\/3!!
  • #254
    mikkel
    Poziom 13  
    Witam
    Projektowałem kilka miesięcy temu debuger do procesora DSP rodziny 56300 właśnie na FTDI. Sam schemat sprowadza się do 2 układów + ewentualny bufor. W sumie najwięcej zachodu było z zaprogramowaniem eproma tak aby całość była odpowidnio widziana przez system.

    Mam pytanie: jak można zaprogramować flesza w ARM'ie za pomocą darmowych narzędzi?
  • #255
    yooz
    Poziom 10  
    Chyba jednak powinieneś zapytać w innym dziale... albo użyć szukajki.
  • #256
    yego666
    Specjalista PLD
    Jak dotad zajmowalem sie programowaniem FPGA, wiec korzystalem z nieco innych narzedzi niz w swiecie procesorow ARM.
    Zycie zmusilo mnie jednak do zajecia sie rowniez i ta dziedzina.
    Przebrnalem przez tutorial popelniony przez Kolege Freddie Chopin.
    Na razie jeszcze nie mam na jego temat zadnej opinii, ale mam pytanie.
    Jesli padlo gdzies wczesniej to przepraszam za swoja nieuwage, niemniej trudno jest przeczytac wszystko co zostalo napisane ab ovo.

    Jako uzytkownik ukladow FPGA Xilinxa korzystalem z kabelka JTAG potocznie zwanego "Parallel Download Cable", ktory laczy interface JTAG programowanego ukladu z oprogramowaniem iMpact ( do programowania FPGA ) poprzez port rownolegly komputera.

    Moje pytanie zatem brzmi: Czy programowanie poprzez taki kabel jest mozliwe i wspierane w srodowisku opisanym w tutorialu kol. Freddie Chopin czy raczej trzeba miec kabel JTAG dzialajacy poprzez port USB ?
    Czy moze ktorys z kolegow uzywa takiego wlasnie kabla w swoim zestawie ?
  • #257
    gaskoin
    Poziom 38  
    openocd go nie wspiera, to czy działa na usb, na com, na lpt czy na slocie ISA nie ma najmniejszego znaczenia
  • #258
    danrok
    Poziom 13  
    Witam!
    Czy ktoś walczył w CrossWorks z opcją STARTUP_FROM_RESET?
    Zmieniłem w pliku STM32F10x_Startup.s fragment:

    #ifdef STARTUP_FROM_RESET
    .word reset_handler
    #else
    .word reset_wait
    #endif /* STARTUP_FROM_RESET */

    na

    .word reset_handler

    jednak nawet wtedy procesor nie startuje po zaprogramowaniu i wciśnięciu na
    płytce reset. Automatycznie startuje jednak zawsze, obojętnie od tego czy
    opcja STARTUP_FROM_RESET jest zdefiniowana czy nie, jeśli odłącze napięcie
    i podłącze je ponownie. Dodam też, że w CrossWorks po wciśnięciu reset
    wykonane zostaje kilka tysięcy cykli procesora, po czym stoi. Jeśli dam
    "attach debugger", to widać, że procesor stoi na adresie pamięci 00000000.
    Mogę go ruszyć, odciskając "pause", wtedy przycisk reset także działa
    niezależnie od tego, czy opcja STARTUP_FROM_RESET jest zdefiniowana.
    Czy takie zachowanie może wymuszać JTAG? Nie znalazłem w opcjach Amonteca
    nic, co pozwoliłoby zdefiniować zachowanie procesora po zaprogramowaniu ...
    Miał ktoś podobny problem? Procesor to Cortex M3 STM32F103VET6. Płytka
    rozwojowa gotowa zakupiona i Jtag od Freddiego.

    Może ktoś ma pomysł co możnaby sprawdzić?

    Z góry dzięki za odpowiedź,
    Pozdrawiam.
  • #259
    dominik.maj
    Poziom 1  
    To mój pierwszy post - proszę o wyrozumiałość.

    Pożyczyłem właśnie JTAG-lock-pick od kolegi i mam problem z instalacją sterowników do samego konwertera pod Windowsem XP.
    Posługuję się manualem z freddiechopin.info.

    Ściągnąłem oryginalne sterowniki ze strony FTDI (wersja 2.08.02) w postaci pliku exe i zainstalowałem używając gotowego instalatora. Na liście urządzeń nie pojawiły się porty COM, jedyne urządzenie z wymienionych przez Freddiego, które jest na liście, to "Urządzenie kompozytowe USB".
    Po podłączeniu urządzenie jest wykrywane jako Amontec JTAGkey, a Windows uruchamia instalator nowych urządzeń, ale nie umie znaleźć sterownika.
    Po ściągnięciu driverów bez instalatora i podaniu ścieżki do nich w windowsowym instalatorze, instalator ten stwierdza, że nie są to właściwe sterowniki i że nie może zainstalować urządzenia.

    Próbowałem tego samego z driverem w wersji 2.06.00 po ręcznym odinstalowaniu driverów 2.08.02, ale bez skutku.

    Jakieś sugestie?
  • #260
    Dexter77
    Poziom 28  
    JTAG ma zaprogramowany inny PID i VID dlatego Windows mowi ze to sterowniki nie od tego. Sciagnij sterowniki ze strony Freddiego.
  • #261
    gaskoin
    Poziom 38  
    dominik.maj napisał:

    Posługuję się manualem z freddiechopin.info.


    chyba jakąś inną wersją niż wszyscy. Jest tam jak wół napisane, że wymagają sterowników libftdi do debugingu
  • #262
    gaskoin
    Poziom 38  
    polprzewodnikowy napisał:
    Już działa, wystarczyło zainstalować pakiet libftdi-dev i skompilować openocd z uwzględnieniem układu FT2232:

    Code:
    ./configure --enable-ft2232_libftdi --enable-usbprog
    
    make
    make install


    Poza tym, jak zrobić aby móc korzystać z JTAG'a nie tylko pod root'em ale też i pod zwykłym użytkownikiem?


    znowu trzeba dodać regułę :P

    Code:
    SYSFS{idVendor}=="0403", MODE="666", GROUP="users"
    


    i siebie do grupy users - albo wpisać tam grupę do której już należymy
  • #263
    gaskoin
    Poziom 38  
    po wielu bojach, pod linuxem odpaliłem też uarta z JTAGa :) jądro nie zna product id więc trzeba załadować moduł do jądra z odpowiednimi parametrami:

    Code:
    sudo modprobe ftdi_sio vendor=0x0403 product=0xcff8
  • #264
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #265
    Matejkos
    Poziom 20  
    Będę zaczynał swoją przygodę z ARM-ami więc także czekam na sygnał na temat JTAGów.
    Pozdrawiam Matejkos
  • #266
    Freddie Chopin
    Specjalista - Mikrokontrolery
    No więc kolejna seria (tym razem jedynie JTAGi w wersji FULL składane na automatach, w obudowach wycinanych na frezarkach) właśnie się rozpoczyna [;

    Najlepiej wyślijcie mi PMem swoje adresy e-mail.

    4\/3!!
  • #267
    volt_1
    Poziom 12  
    A jaki koszt takiego Fulla?
    Może bym sobie taki prezent mikołajkowy sprawił?:D
  • #268
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Z tym będzie problem, bo przed tym świętem na pewno nie zdążę - raczej okolice przełomu roku. Podeślij mi na PW swojego maila, to wyślę Ci wszystkie potrzebne informacje.

    4\/3!!
  • #269
    ekojax
    Poziom 2  
    Chętnie dołączę do ludzi potrzebujących. Też bym sobie takie coś sprezentował. Szukam jeszcze do procków Infineon C16X. Pozdrawiam
  • #270
    Freddie Chopin
    Specjalista - Mikrokontrolery