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

stm32f103c8t6 - Błąd No target connected przy programowaniu przez ST-Link v2

HitTive 19 Kwi 2015 21:00 6324 14
REKLAMA
  • #1 14631070
    HitTive
    Poziom 13  
    Posty: 208
    Pomógł: 1
    Ocena: 5
    Witam, próbuję wyszukać mikrokontroler w programie STM32 ST-Link utility,
    lecz pojawia się błąd:
    20:29:37 : No target connected
    20:29:39 : Can not connect to target!
                      Please select "Connect Under Reset" mode from Target->Settings menu and try again.
                      If you're trying to connect to a low frequency application , please select a lower SWD Frequency mode from Target->Settings menu.


    Używam programatora ST-Link2.

    Urządzenia podłączam według schematu:
    stm32f103c8t6 - Błąd No target connected przy programowaniu przez ST-Link v2
    Co może być przyczyną takiego zachowania?
  • REKLAMA
  • #2 14631153
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    Sprawdź połączenia, jakość lutowania i konfiguracje boot.
  • #3 14631301
    HitTive
    Poziom 13  
    Posty: 208
    Pomógł: 1
    Ocena: 5
    Co oznacza konfiguracja boot?
  • #4 14631455
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    Masz chyba piny boot0 i boot1.
  • #5 14646106
    HitTive
    Poziom 13  
    Posty: 208
    Pomógł: 1
    Ocena: 5
    Rozwiązaniem problemu było odpięcie wszystkich kondensatorów i dodanie dławika w szeregu z zasilaniem. Układ zasilam bezpośrednio z programatora. Czy ktoś wie dlaczego układ woli pracować bez kondensatorów?
  • REKLAMA
  • #6 14646127
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 734
    To raczej nie jest prawidłowe zachowanie...
    Programator oryginany czy jakiś klon?
  • #7 14646137
    HitTive
    Poziom 13  
    Posty: 208
    Pomógł: 1
    Ocena: 5
    Kupiłem ten model: (ciach... link alle...) dokładnie od tego samego sprzedającego.
    ST-LINK STLINK V2 STM32 STM8 ARM Cortex
    stm32f103c8t6 - Błąd No target connected przy programowaniu przez ST-Link v2
    Moderowany przez piotrva:

    Linki do portali aukcyjnych są zabronione, ponieważ wygasają - tu uważam, że nie ma sensu scalania z jednym wątkiem, w którym można te linki podawać, więc nanoszę korektę - w przyszłości pamiętaj o tym.

  • REKLAMA
  • #8 14646233
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 734
    1. Może być to problem z programatorem - zasilanie w nieprawidłowy sposób.
    2. Na schemacie nie ma kondensatorów odsprzęgających zasilanie - miałem podobny problem przy ich braku z układem CPLD/FPGA.
    3. W związku z tym, jakie kondensatory usunąłeś?
  • #9 15476375
    MiLupo
    Poziom 12  
    Posty: 102
    Ocena: 17
    HitTive napisał:
    Kupiłem ten model: (ciach... link alle...) dokładnie od tego samego sprzedającego.
    ST-LINK STLINK V2 STM32 STM8 ARM Cortex
    stm32f103c8t6 - Błąd No target connected przy programowaniu przez ST-Link v2


    Mam ten sam ST-Link, ale mój problem polega na tym, że jeśli uruchomię debugowanie to wszystko działa, ale jak robię potem [Terminate and relaunch] to zatrzymuje się poprzednie debugowanie i nie może wskoczyć nowe. W sensie proces cały czas wisi na terminated, na st-linku świeci się czerwona dioda i koniec. Muszę wyciągać donagla z USB, zrobić [remove] i od nowa uruchomić debugowanie. Jest to bardzo uciążliwe - wy też tak macie?
    W Debug mam ustawione: set mem inaccessible-by-default off

    Uruchamiam na klonie maple-mini, eclipse.
  • #10 15476500
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    Chińskiej podórby ST-Linka nie używałe, ale z ST-Link z płytek ST (Nucleo, Discovery nie ma żadnych problemów przy programowaniu mikrokontolerów na dowolnych płytkach, POD WARUNKIEM, że:

    - są połączone masy ;)
    - zasilamy uC docelowy - ST-Link nie ma zasilania 3.3 V na złączu debugowania,
    - ustawimy interfejs SWD (a nie JTAG) i częstotliwość nie większą niż 480 kHz
    - Connet under reset, reset method: SYSRESETREQ
    - nie wyłączyliśmy interfejsu SWD uC docelowego w naszym programie - są zachowane domyślne funkcje PA13 i PA15

    W Keil trzeba jeszcze zaznaczyć Erase sector i Reset and Run w ostatniej zakładce.
  • #11 15476564
    MiLupo
    Poziom 12  
    Posty: 102
    Ocena: 17
    Hmm, tylko że ja korzystam z OpenOCD i eclipse więc tam nie ma za dużo opcji (nie mogę wybrać ani JTAG ani SWD ani pozostałych parametrów o których piszesz. Myślałem, że to coś jest źle skonfigurowane w eclipse. Nigdy wcześniej nie korzystałem z OpenOCD tylko z oryginalnego programatora SEGGER i z nim nie było żadnych problemów.
  • #12 15476605
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    BlueDraco napisał:
    Hmm, tylko że ja korzystam z OpenOCD i eclipse więc tam nie ma za dużo opcji (nie mogę wybrać ani JTAG ani SWD ani pozostałych parametrów o których piszesz. Myślałem, że to coś jest źle skonfigurowane w eclipse.

    Wszystko o czym napisał BlueDraco można skonfigurować w OpenOCD.
  • #13 15476666
    MiLupo
    Poziom 12  
    Posty: 102
    Ocena: 17
    Freddie Chopin napisał:
    BlueDraco napisał:
    Hmm, tylko że ja korzystam z OpenOCD i eclipse więc tam nie ma za dużo opcji (nie mogę wybrać ani JTAG ani SWD ani pozostałych parametrów o których piszesz. Myślałem, że to coś jest źle skonfigurowane w eclipse.

    Wszystko o czym napisał BlueDraco można skonfigurować w OpenOCD.

    Wielkie dzięki za naprowadzenie. Zacząłem przeglądać configi i faktycznie jest tam coś więcej. W konfigu jest tylko info, że STM32F10x obsługuje SWD i JTAG natomiast konfiguracja jest chyba pod JTAG. Nie bardzo wiem jak to pozmieniać. Mógłbyś napisać coś więcej?

    Kod: less
    Zaloguj się, aby zobaczyć kod


    W tym drugim configu jest coś więcej i chyba faktycznie korzysta on z JTAG'a zamiast z SWD ale nie bardzo wiem jak to pozmieniać :(
    Kod: less
    Zaloguj się, aby zobaczyć kod
    [/code]


    ------ EDIT ------
    jeszcze fragment loga z uruchomienia

    Kod: less
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #14 15476996
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Cofnij wszystkie zmiany jakie wprowadziłeś w tych konfigach - wszystko można zmienić przez linię komend, bez modyfikacji tych plików.

    openocd -f ... -f ... -c "adapter_khz 480; reset_config srst_only srst_nogate;"

    Reszty opcji nie zmieniaj.
  • #15 15477249
    MiLupo
    Poziom 12  
    Posty: 102
    Ocena: 17
    Freddie Chopin napisał:
    Cofnij wszystkie zmiany jakie wprowadziłeś w tych konfigach - wszystko można zmienić przez linię komend, bez modyfikacji tych plików.

    openocd -f ... -f ... -c "adapter_khz 480; reset_config srst_only srst_nogate;"

    Reszty opcji nie zmieniaj.


    Niestety po zastosowaniu tych dodatkowych parametrów dostawałem błąd jak poniżej:
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    wywaliłem (nie wiem czy to dobrze) parametr srst_only jak napisano tutaj i zaczęło działać. Niejako przy okazji rozwiązałem połowicznie mój problem polegający na zawieszaniu się stlinka. Odkryłem, że zawiesza się on przy zakończeniu procesu openocd. Wygląda więc na to, że eclipse każdorazowo ubija i uruchamia proces openocd gdy daję relaunch aplikacji. Poradziłem sobie tak, że uruchomiłem openocd z konsolski, a w eclipse wyłączyłem uruchamianie i wszystko działa OK. Rozwiązanie niestety połowicze, ponieważ muszę przełączać się pomiędzy eclipsem a terminalem. Doinstalowałem remote shell plugin do eclipse co pomogło - ale to itak dalej proteza :)

Podsumowanie tematu

✨ Użytkownik napotkał problem z programowaniem mikrokontrolera STM32F103C8T6 za pomocą programatora ST-Link v2, otrzymując komunikat "No target connected". W odpowiedziach zasugerowano sprawdzenie połączeń, jakości lutowania oraz konfiguracji pinów boot0 i boot1. Użytkownik rozwiązał problem, odpinając kondensatory i dodając dławik w szeregu z zasilaniem, co poprawiło stabilność układu. Inni uczestnicy dyskusji podkreślili znaczenie poprawnego zasilania, połączenia masy oraz ustawienia interfejsu SWD. W przypadku korzystania z OpenOCD, zwrócono uwagę na konieczność odpowiedniej konfiguracji, aby uniknąć problemów z programowaniem.
Wygenerowane przez model językowy.
REKLAMA