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

ST-Link/V2 czy zadziała z Eclipse (STM32)

byrrt 29 Wrz 2011 21:52 3257 6
  • #1 29 Wrz 2011 21:52
    byrrt
    Poziom 21  

    Witam!

    Wiem, że temat nie raz się przewijał ale wszystkie informacje jakie znalazłem na forum są z 2009 lub 2010 roku a w tej kwestii jak wiemy dużo się zmienia.

    Czy orientujecie się (może kolega Freddie Chopin?) czy udało się zmusić JTAG'a ST-Link/V2 do pracy z Eclipse (przez OpenOCD lub GDB Server).

    Szukam JTAG'a możliwie szybko tak aby można go kupić na firmę i wchodzi w grę albo ST-Link albo J-Link Seager'a (klon). Czy ten 2gi działa z OpenOCD?

    Pozdrawiam

    0 6
  • #2 29 Wrz 2011 21:59
    Freddie Chopin
    Specjalista - Mikrokontrolery
  • #3 29 Wrz 2011 22:15
    byrrt
    Poziom 21  

    Dzięki za odpowiedz, nie cieszy mnie ona ale ok..
    Z ciekawości może Ty się orientujesz - czy jest na sieci gdzieś wsad do J-Linka? W pracy używałam przez krótki czas kiedyś takiego klona z allegro i po czasie padł (zima, komp go nie widzi, nic się nie grzeje, nie pobiera więcej prądu, zasilanie ma - wygląda na wyczyszczonego flasha lub procek odjechał). Padł na stole - bez jakiś przepięć itp. Gdyby był gdzieś na sieci wsad może dałoby go radę ożywić - i tak już leży dobre 1,5 roku w szafce.. Boję się też, żeby z następnym z allegro nie było tak samo.
    ps. pisałem do Ciebie zapytanie przez Twoją stronę odnośnie Twojego JTAGa

    0
  • Pomocny post
    #4 29 Wrz 2011 22:48
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Jest na elektrodzie gdzieś temat o tych JLinkach z allegro - z tego co pamiętam, to sprzedawca podsyła wsad do ożywienia układu, ale to musiałbyś sobie znaleźć ten temat.

    4\/3!!

    0
  • #5 04 Paź 2011 08:40
    byrrt
    Poziom 21  

    Faktycznie znalazłem dyskusję i udało mi się ożywić mojego J-Linka :) Super. Ponieważ jest to klon ma pełne licencje GDB i poprzez GDB chciałbym połączyć się z Eclipse. Staram się podążać za tuorial'em z Twojej strony i teraz w opisie konfiguracji Debuger'a masz tak: wybrać projekt (OK), pliku wykonywalnego, który będzie debuggowany i teraz który to? bin, hex, elf? Żadnego mi nie proponuje w "Search Projekt". Być może podstawowe pytanie ale dla mnie te środowisko to nowość niestet - czy jakieś komendy inicjalizacji trzeba dodać (Startup>Inicialization Commands)?
    Teraz jeszcze najgłupsze pytanie - jak po skonfigurowaniu zaprogramować procesor? Można jakoś to na przycisk wyciągnąć w Eclipse?
    Serdecznie pozdrawiam i daje punkt za pomoc z J-Linkiem..

    Dodano po 13 [minuty]:

    Aha ważna chyba informacja - mam płytkę z STM32F101RCT6.

    0
  • #6 04 Paź 2011 10:14
    Freddie Chopin
    Specjalista - Mikrokontrolery

    byrrt napisał:
    Ponieważ jest to klon ma pełne licencje GDB i poprzez GDB chciałbym połączyć się z Eclipse. Staram się podążać za tuorial'em z Twojej strony i teraz w opisie konfiguracji Debuger'a masz tak: wybrać projekt (OK), pliku wykonywalnego, który będzie debuggowany i teraz który to? bin, hex, elf? Żadnego mi nie proponuje w "Search Projekt". Być może podstawowe pytanie ale dla mnie te środowisko to nowość niestet - czy jakieś komendy inicjalizacji trzeba dodać (Startup>Inicialization Commands)?
    Teraz jeszcze najgłupsze pytanie - jak po skonfigurowaniu zaprogramować procesor? Można jakoś to na przycisk wyciągnąć w Eclipse?

    Ściągnij przykład dla STM32 i tam wszystko jest skonfigurowane. Plik wykonywalny to .elf. W initialization commands dajesz "monitor reset halt" jedynie.

    Co do wyciągania na jeden przycisk, to można zrobić skrót do OpenOCD który z odpowiednimi komendami w wywołaniu zrobi wszystko co trzeba - nie ma potrzeby angażowania do tego GDB.

    4\/3!!

    0
  • #7 05 Paź 2011 15:06
    byrrt
    Poziom 21  

    Ok, jestem na etapie działającego wsadu ze skompilowanymi bibliotekami st. Program wgrywam przez Eclipse > Debug > GDB Server J-Linka. Nie korzystam z OpenOCD. Niestety działa to wg. mnie dziwnie, nawet nie umiem określić jak..
    W inicjalization command musiałem trochę pozmieniać bo nie chciało to ruszyć:

    Code:
    target remote localhost:2331
    
    monitor speed 1000
    monitor flash device=STM32F101RC
    monitor flash download = 1
    load
    monitor reg r13 = (0x00000000)
    monitor reg pc = (0x00000004)

    Odpalam GDB Server J-Linka, ten znajduje targer i czeka na połączenie. Odpalam Debugowanie, procek się programuje i program staje.
    Code:
    target remote localhost:2331
    
    0x00000000 in ?? ()
    monitor speed 1000
    monitor flash device=STM32F101RC
    monitor flash download = 1
    monitor reg r13 = (0x00000000)
    monitor reg pc = (0x00000004)
    tbreak main

    I teraz co dalej? Program stoi na startup.S na pierwszej linice, co bym nie zrobił otwiera mi się nowa zakładka tam gdzie są źródła a w niej No source available for ""
    Kliknięcie przycisku resume nic nie daje. Terminate rozłącza z GDB ale target nie wstaje (trzeba go zresetować). Czasem terminate kończy się komunikacie o błędzie i trzeba zamykać wszystko na chama łącznie z GDB. Większość z moich pytań wynika ze zwyczajnej niewiedzy. Czy prawidłowo, że omijam OpenOCD? Jak zacząć sensownie korzystać z narzędzia debug w eclipse razem z J-Linkiem? Czym się różni obsługa J-Linka przez GDB od OpenOCD?

    Dodano po 33 [minuty]:

    Aha - próba kliknięcia któregoś z przycisków Step Into, Step Over, Step Return itp powoduje wywalenie komunikatu "Target request failed: Cannot find bounds of current function" ew. "Warning:\nCannot insert breakpoint 0.\nError accesing memory adress 0x71010008:(undocumented errno -1).\n

    Podaje to w takim chaotycznym składzie, ale ja tu nie widzę zależności..

    0