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

AT91SAM7XC256 - Eclipse+openocd+GDB+JTAG lock pick - nie widzi programatora

15 Mar 2013 22:08 2037 6
  • Poziom 10  
    Witam,
    niestety znowu musiałem przeinstalować system i próbuję od nowa postawić środowisko na eclipse i standardowo nie obyło się bez problemów. Wydaję mi się, że wszystko zostało poprawnie zainstalowane ale po uruchomieniu openocd (bez względu czy przez eclipse czy z konsoli) otrzymuję taki komunikat:

    Code:

    Open On-Chip Debugger 0.7.0-dev-00196-g700e760 (2013-03-15-21:25)
    Licensed under GNU GPL v2
    For bug reports, read
       http://openocd.sourceforge.net/doc/doxygen/bugs.html
    Info : only one transport option; autoselect 'jtag'
    srst_only srst_pulls_trst srst_gates_jtag srst_open_drain connect_deassert_srst
    adapter speed: 1000 kHz
    Error: libusb_open() failed with -3
    Error: no device found
    Error: unable to open ftdi device with vid 0403, pid cff8, description 'Amontec JTAGkey' and serial '*'
    in procedure 'init'


    Openocd uruchamiane jest z argumentami:
    Code:

    -f interface/ftdi/jtagkey.cfg -f target/at91sam7x256.cfg -c "adapter_khz 1000" -c "init; reset halt"


    Dodam, że całość próbuję uruchomić na Ubuntu 12.04.
    Mam pewne podejrzenia, że przy instalacji openocd były podane złe argumenty, ale postępowałem według opisu ze strony Link z tą różnicą, że nie użyłem argumentu: --with-ftd2xx-linux-tardir="../libftd2xx1.0.4" ponieważ nie chciało mi się to konfigurować. Ewentualnie podejrzewam biblioteki libusb albo libftdi ale googlowanie nie pomogło.
  • Specjalista - Mikrokontrolery
    Spróbuj zamiast "interface/ftdi/jtagkey.cfg" użyć "interface/jtagkey.cfg" - jeśli zadziała, to masz coś ze sterownikami/bibliotekami. A może po prostu udev? Na szybko sprawdź co będzie jak uruchomisz OpenOCD jako root (chyba tyle wystarczy, choć nie jestem pewny).

    4\/3!!
  • Poziom 10  
    No jasne, aż dziwię się, że sam o tym nie pomyślałem. Uruchomienie jako root pomogło, z tym że nie bardzo wiem co może być nie tak, bo uprawnienia w openocd mam ustawione prawidłowo.
  • Specjalista - Mikrokontrolery
    Ale czy przez "uprawnienia w openocd" rozumiesz ustawienia udev? Bo wg mojej wiedzy domyślnie "dziwne" (wszystkie?) urządzenia USB są root-only i OpenOCD nie ma tu nic do gadania, bo to jest opcja systemu (właśnie udev).

    W źródłach OpenOCD są jakieś przykłady udev (w contrib?), zapewne coś znajdziesz też w manualu. Z tego co pamiętam trzeba dodać OpenOCD do grupy aplikacji które mogą używać USB, ale z racji tego, że na Linuxie się raczej nie znam, to nie będę już filozofował <:

    4\/3!!
  • Poziom 10  
    Miałem na myśli uprawnienia plików w openocd, a z tym udev to muszę coś poszukać na ten temat.
  • Pomocny post
    Specjalista - Mikrokontrolery
  • Poziom 10  
    Wielkie dzięki Freddie, jak zwykle Twoja pomoc była szybka, trafna i nieodzowna. Trochę miałem z tym problemów bo w ubuntu, właśnie od wersji 12.04, inaczej konfiguruje się pliki udev. Tak dla potomnych, trzeba utworzyć plik o nazwie "46-jtagkey.rules" w katalogu /etc/udev/rules.d/ i wkleić to:
    Code:

    SUBSYSTEM=="usb", ACTION=="add" , ATTR{idProduct}=="cff8", ATTR{idVendor}=="0403", MODE="664", GROUP="plugdev"


    Dodatkowo dodać swojego użytkownika do grupy "plugdev", ja w sumie już nie musiałem tego robić bo domyślnie należałem do tej grupy. Najlepiej restart i powinno działać.