Skocz do zawartości

STM32 problem z połączeniem


deuther

Pomocna odpowiedź

Cześć, od jakiegoś czasu rozpoznaje sobie STM32f3discovery. Wszystko szło pięknie, fajnie do momentu kiedy pojawił się błąd: "No target connected", a potem "flash download failed target dll cancelled".

Błąd z flashem męczył mnie kiedyś, wystarczyło pozmieniać odpowiednie ustawienia w Keilu i działało, teraz problem jest chyba poważniejszy.

Połączenie przestało działać gdy zaingerowałem w pin PA13 (do TIM4), potem sprawdziłem w dokumentacji, że pin ten odpowiada również za SWD. Czy możliwe, że to wpłynęło na problemy z połączeniem?

Przeszukałem internet w poszukiwaniu rozwiązania. Trafiłem na poradę aby BOOT0 ustawić na High. W przypadku tej płytki jest to mostek SB19 i jest tam wlutowany rezystor na pull-down. Rozumiem, że musiałbym wylutować rezystor i podać tam 3v?? Dajcie znać zanim coś spalę😉

Z drugiej strony nie wierzę, że jest to jedyne rozwiązanie, chyba nie możliwe, żebym programowo mógł coś aż tak zepsuć.

Proszę kolegów o wyrozumiałość i pomoc, może ktoś miał podobny problem.

Link do komentarza
Share on other sites

Cześć 🙂

1. Co znaczy zingerowałem w pin PA13?

2. Przy programowaniu układu używasz SWD czy JTAG?

Proponuję zainstalowanie/odszukanie na dysku programu STM32 ST-LINK Utility - może za jego pomocą będzie można przeprowadzić całkowity erase flash'a procka? Jeżeli nie to faktycznie będziemy musieli się pobawić opcjami bootowania.

Link do komentarza
Share on other sites

Da się programowo zablokować możliwość połączenia SWD. Sam to przerabiałem. Jednak trzeba się natrudzić. Najlepszym ratunkiem jest wgranie czystego kodu przez bootloader, tak jak piszesz 😉

Link do komentarza
Share on other sites

Dzięki za zainteresowanie

Używam SWD. Faktycznie niejasno się wyraziłem, po prostu ustawiłem PA13 na wyjście. Dla tego trochę mnie dziwi zachowanie płytki, chyba powinna być w tym stopniu idioto-odporna;)

Możecie poradzić jak to zrobić bootowaniem krok po kroku? Nigdy tego nie robiłem, a zestaw trochę kosztuje.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

To jeszcze chyba nie jest aż tak źle 😉

Nie powinieneś mieć problemów z wyczyszczeniem flash'a przez STM32 ST-LINK Utility. Spróbuj się połączyć z urządzeniem: jeżeli się uda to jestśmy w domu! Wybierasz opcję Target->EraseChip i problem zażegnany. Jeżeli się nie połączy, to będziemy musieli pobawić się opcjami bootowania. Daj znać co z tego wyszło 🙂

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dzięki Miszczu! Faktycznie zadziałało za pomocą STM32 ST-LINK Utility;)

Jakby ktoś w przyszłości miał podobny problem:

dokładnie co musiałem zrobić to Target -> Settings ->wybrać Connect Under Reset (w moim wypadku SWD) OK

Target->Erase Chip->śmiga

Dodatkowo napiszę, że usunąłem kod ustawiający PA13 na OUT i działa normalnie (dafug?)

Link do komentarza
Share on other sites

To ja dla ciekawostki dodam jak wyłączyć SWD i zablokować możliwość programowania 🙂

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
Link do komentarza
Share on other sites

To ja dla ciekawostki dodam jak wyłączyć SWD i zablokować możliwość programowania 🙂
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

Chyba się mylisz:

1. Nadal jest bootloader i można programować przez bootloader

2. Z tego co wiem (nie próbowałem) wystarczy podpiąć pod boot0 "1" żeby włączyć bootloader i wtedy normalnie SWD działa i można skasować pamięć bez faktycznego użycia bootloadera do czegokolwiek... (po prostu uruchamiając bootloader nie wywołujemy komeny remappingu z kodu... )

Link do komentarza
Share on other sites

MirekCz, masz rację. Miałem na myśli możliwość zaprogramowania przez SWD. Oczywiście Bootloader działa i można nim "odratować" procesor 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.