Skocz do zawartości
wjcust

Problem z programowanie płytki Bluepill - brak połączenia

Pomocna odpowiedź

Napisano (edytowany)

Cześć,

to już któryś z kolei kurs na forbocie, który mi przypadł do gustu - przyjemny i wytłumaczony od deski do deski. Ja jednak używam płytki blue pill i mam problem z STM Studio - nie mogę nawiązać połączenia. Otrzymuję dwa komunikaty, jeden za drugim:
"Error opening target connection"
oraz
"Failure opening connection with target".

Zarówno ST-Link Utility jak i żaden debugger nie ma nawiązanego połączenia z płytką a jednak problem z połączeniem występuje. 

Używam ST-Link v2 i już w ST-Link utility miałem problem. O ile na początku wszystko działało bez problemu - połączenie z płytką i jej zaprogramowanie, tak już na drugi dzień wystąpił problem z połączeniem. Teraz po  wybraniu Target -> Connect, muszę przez około 3 sekundy trzymać wciśnięty przycisk RESET na płytce i dopiero po jego zwolnieniu następuję połączenie, natomiast po zaprogramowaniu połączenie zostaje zerwane, mimo że program został poprawnie wgrany.

Próbowałem powyższej metody w STM Studio, jednak wtedy, po zwolnieniu przycisku RESET, wyrzuca komunikat: 
"Acquisition stopped after 10 consecutive communication errors.".

Dodam, że próbuję wgrać program odczytujący temperaturę z wbudowanego czujnika temperatury a konfiguracja w Cube odbyła się oczywiście pod mój mikrokontroler. 

Wszystkie narzędzia są zaktualizowane do najnowszej wersji, firmware w ST-Linku też.

Ktoś się spotkał z podobnym problemem?

Edytowano przez wjcust

Udostępnij ten post


Link to post
Share on other sites

Pytanie zostało wydzielone z kursu STM32 F4, ponieważ dotyczy innej platformy sprzętowej. Źródło pytania:

 

Udostępnij ten post


Link to post
Share on other sites

Twoje problemy wynikają prawdopodobnie z tego, że nie korzystasz z pinu reset do programowania.

Taki pin ma każdy programator ST-link, niestety te tanie nie korzystają z niego. Należy zatem przy programowaniu i debugowaniu korzystać z programowego resetu.

Żeby wymusić takie działanie w System Workbench należy zmodyfikować skrypt debuggera.

Gdy skompilujesz źródła i uruchomisz Run lub Debug automatycznie tworzony jest plik konfiguracyjny "xxxxx.cfg". Znajdziesz go w głównym katalogu projektu.

Musisz go wyedytować i zakomentować linię:

"reset_config srst_only srst_nogate connect_assert_srst" wpisując # na początku linii.

Uwaga!. Wcześniej należy wejść do:

Menu->Run->Run Configurations, w zakładce Debugger opcja Configuration Script i zmienić na User Defined w przeciwnym razie zmiany w pliku zawsze będą nadpisywane.

Co do samego ST-link Utlity i konieczności "długiego trzymania resetu" to prawdopodobnie masz stary firmware w ST-link, warto go zaktualizować.

Dla zasady czysty Blue Pill powinien dać się zaprogramować przez ST-Link bez żadnych dodatkowych działań. Warto posprawdzać kabelki, sterowniki i firmware.

Dla pewności należy sprawdzić, czy zworki bootloadera są dobrze ustawione.

 

Generalnie pisząc korzystanie z BluePill bywa upierdliwe. Żeby pozbyć się "upierdliwości" warto zainwestować w jakieś Nucleo albo Discovery, gdzie na pokładzie już jest wbudowany ST-link i to bez ułomności, co zwykle ułatwia pracę. 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Też tak mam z ST-link Utlity i Blue Pill. Wersja z   STMDuino bootloader  wymaga użycia przycisku reset, nie jest to ileś tam sekund, po prostu jak nie łączy się to następnym razem używam RST, na czas połączenia do STlink znika port COM. Gdy nie jest podłączony USB można nawiązywać i przerywać połączenie aż do kolejnego odłączenia zasilania.  W innym Blue pill nie mam bootloadera  i łączy się bez problemu. W obu Blue pill zworki ustawione są na 0. Więc tak jak napisał Zealota zależy co masz tam wgrane poprzednio. Pin reset jest na Blue pill i działa, ale nie pomaga jego podłączenie do St-link v2. W STM32F407VET6 mam podłączony pin RST do ST-link i na razie nie miałem nigdy problemu z połączeniem, ale tu też nie wpadłem jeszcze na to jak użyć USB czy bootloadera. 

Po ustawieniu w tym BluePill z bootloaderem zworki boot0 na 1 (ta przy pinie R) nawiązanie połączenia  z ST-link Utlity nie wymaga resetu.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
Dnia 22.05.2019 o 08:59, Zealota napisał:

Musisz go wyedytować i zakomentować linię:

"reset_config srst_only srst_nogate connect_assert_srst" wpisując # na początku linii. 

Też się z tym zmagałem i wystarczyło usunąć drugą pozycję z tej linii. Blue pill  ma też kilka innych niespodzianek np. rezystor podciągający przy A12. Wg. mnie nie powinno go tam być wcale bo być może chciałbym sobie podłączyć tam coś innego niż usb ale skoro już tam jest to powinien być przynajmniej mniejszy niż 10k. Na mojej płytce jest 10k co z kolei uniemożliwia korzystanie z usb przy długim kablu więc pozostaje jedynie albo go wyciągnąć albo dolutować ze 2k równolegle. Co prawda na schemacie jest 4.7k ale na ogół to nieprawda - trzeba sprawdzić miernikiem.  To niestety nie  koniec mankamentów i zaczynam się zastanawiać czy to nie było czasem celowo zrobione. O programowaniu w arduino IDE to już nawet nie wspomnę - graniczy z bezsensem. st-link v2 z nowym firmwarem jako debuger sprawdza się nieźle ale w tych tanich klonach nie ma rs-usb albo nie potrafię tego uruchomić, do samego programowania wystarcza konwerter rs-usb np. prolific i do tego biblioteka unity i też się da żyć.

Udostępnij ten post


Link to post
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!

Gość
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...