Skocz do zawartości

Niemożność zaprogramowania STM32F103 - uszkodzony?


Kucharskov

Pomocna odpowiedź

Witam! 
Mam mikorkontroler STM32F103C8T6 (którego morduję tutaj już na forum któryś raz) oraz konwerter FTDI. Podpinam wszystko zgodnie z wszystkimi prawidłami w Internecie: 

GND - GND 
VCC (konwerter ma ustawione również 3.3Volta) - 3.3V 
RX - TX (pin A9) 
TX - RX (pin A10) 
Zworkę BOOT0 przestawiam na 1.

Niestety po podpięciu zasilania na mikrokontrolerze zapala się czerwona dioda PWR oraz mruga bez przerwy dioda opisana jako PC13. Ważne, ze nie mruga jak przy przykładowym skeczu Arduino Blink, tylko szybciej, ale wciąż rytmicznie. Problem jest następnujący: Nie można ani wgrać szkicu przez Arduino IDE, ani bootloadera z obsługą USB przez Flash Loader Demonstrator - kończy się komunikatem "No response from the target, the boot loader can not be started. Please verify the boot mode configuration and the flash protection status, Reset your device then try again". 

Co może być przyczyną tego stanu rzeczy? Uprzedzając:

  • Sprawdzałem sam konwerter FTDI zwierając RX z TX i tworząc loopback - PuTTy odbiera wysyłane znaki poprawnie co oznacza że konwerter jest sprawny.
  • Zworki na pewno są dobrze ustawione: BOOT0 - 1, BOOT1 - 0.
  • Pomierzyłem piny zworek i te od "0" są zwarte z GND, a na tych od "1" jest dokładnie 3.3V czyli goldpiny są poprawnie przylutowane, a ścieżki dobre bo przy próbie "przedzwonienia" sygnał dźwiękowy jest pewny a nie "trzeszczący".

Wygląda to tak jakby mikrokontroler nie wchodził w tryb bootowania z bootloadera. I nie mam pojęcia dlaczego. Razem z konwerterem przyszedł drugi mikrokontroler od innego chińczyka - ten po przestawieniu zworki i resecie gasi mrugającego leda (ale nie próbowałem go programować bo jeszcze goldpina nie przylutowałem)

Z góry dzięki!

Link do komentarza
Share on other sites

Jak masz dwa egz. to już masz z górki by sam sprawdzić czy to wina płytki czy Twoich działań. Zacznij od przylutowania goldpinów do drugiego i przetestuj. A tak dla formalności to nowa płytka wyjęta z opakowania i podłączona do zasilania zachowuje się tak jak opisujesz, miga ze 2,5 razy na sekundę i świeci się led POWER. Po przełożeniu zworki boot0 na 1 i zrobieniu resetu świeci już tylko led POWER - czeka na wsad. A jak się uruchomi zworką boot1 na 1 to zachowuje się znowu jak wyjęta z pudełka. Boot0 to wg Ciebie ta zworka zewnętrzna czy bliżej środka? U mnie np. nie mają opisu i można się pomylić. Jest też opis tu na forum: 

 

Link do komentarza
Share on other sites

Dzięki za szybką odpowiedź. Goldpinów nie będę przelutowywał bo wolę mieć chociaż jedną działająca płytkę. 

No i co do tego mrugania. Wszystko się zgadza co do tego nowego kontrolera, nawet przybliżona częstotliwość mrugania. 

BOOT0 to dla mnie ta żółta zworka po prawej (dalej od przycisku) zgodnie z poniższym zdjęciem. 

1*etp3_d50qXURqgutedaA5A.jpeg

I strasznie mnie dziwi, że jak bym zworek na omawianym kontrolerze nie ustawił to zawsze się zachowuje jak cyt. "nowa płytka wyjęta z pudełka".

Link do komentarza
Share on other sites

No ale tej drugiej przecież nie musisz nawet lutować by sprawdzić, czy zachowuje się tak jak opisałem. Problemem może być nawet zworka, może blaszki w środku nie ma? A jak mierzysz stan środkowego pinu w zworkach to zmierz go od spodu płytki.

Edit: Nie musisz lutować w sensie, że po prostu podepnij do zasilania kablem USB i popatrz jak miga.

Edytowano przez kaczakat
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

(edytowany)

Ogólnie zworka zwiera pin srodkowy albo do GND albo do 3.3V. Po zdjęciu zworek mierzone od piny od tyłu płytki GND i 3.3V sa poprawne. Po założeniu zworki (a próbowałem ich kilka) poprawnie pojawia sie 3.3 dla pozycji "1" i 0 dla "0". Działający mikrokontroler wykazuje identyczne własności pinów ze zworkami wiec problem pewnie leży gdzie indziej. Tylko gdzie?

Edit: Nie wiem czy warto wspominać ale felerna płytka nie reagowała na zworki od samego początku (czyli ze 2 tygodnie) zanim jeszcze przelutowywałem goldpiny. Czy może być tak że po prostu chińczyk z aliekspresu sprzedał uszkodzoną sztukę tak na amen ze jej nie odratuje? Czy moze cos glebiej w systemie siedzi i moznaby spróbować jakoś wykonać reflash?

Edytowano przez Kucharskov
Link do komentarza
Share on other sites

Kup sobie ten programator STlink, o którym pisałem, jakiś 2$. Wgrywa inną metodą, powtarzanie w kółko tych samych czynności w końcu traci sens. Zasiliłeś te płytki z USB porządnym kablem? Mam rozumieć, że tak zachowują się obie płytki, które posiadasz czy tylko ta jedna lutowana? Ja mam ich kilkanaście z różnych źródeł i każda była OK, może faktycznie masz pecha. A i jeszcze jedno, jak programujesz to zasilasz płytkę do pinu 5V z 5V?

Edita: na pewno wciskasz RESET po daniu zasilania? Normalnie nie programowałem przez uart i nie zwróciłem na to uwagi, ale RESET musi być wciśnięty po podłączeniu do zasilania w opcji z zabawą zworkami. Pomimo że po daniu zasilania u mnie LED przestaje migać jakby już czekał na wsad wywala error, po resecie jest OK.

Edytowano przez kaczakat
Link do komentarza
Share on other sites

(edytowany)

Migająca płytka jest tylko jedna, druga po przestawieniu zworki i resecie automatycznie przestaje mrugać. Zasilam płytkę z pinów RaspberryPi, bo tak mi wygodnie ale podejmowałem tez próby z zasilaniem z kabla USB. Co do guzika reset to jeżeli go TRZYMAM to dioda na tej felernej płytce nie mruga - gaśnie. Jednak chyba nie w tym problem, bo próbowałem się połączyć Flash Loader Demonstratorem dusząc przycisk resetu, jak i próbowałem go klikać czy puszczać na moment przed/po próbie połączenia.

Mam możliwość dostania płytki STM32 Discovery gdzie są wyprowadzone piny programatora STLink. Czy posiadając taki programator można spróbować wykonać reflash całego urządzenia gdyby okazało się, że chińczyki coś w software namieszały?

Edit: Z nudów, bo widze, że ciężko z tym kontrolerem postanowiłem po prostu "szczepić dupami" dwa kontrolery zachowując poprawne spięcie pinów. Sądziłem, że może ten zdrowy uleczy chorego. Pomimo, że oba kontrolery (i ten dobrze działający i ten źle) były ustawione BOOT0 - 1, BOOT1 - 0 to oba mrugały non stop nie przechodząc w tryb bootloadera. Nie ważne którymi tymi samymi stronami bym je pospinał.

Warte uwagi jednak jest to, że uszkodzony kontroler czasami przestawał migać gdy powoli wsuwałem goldpiny w drugiego. Może to coś podpowie żeby udzielić mi pomocy? Nie wiem czy to wina że coś zwierałem, czy może cudowne "uzdrowienie"?

Załączam fotkę "kontrolerów szczepionych dupami"

IMG_20181011_180442_BURST2.jpg

Edytowano przez Kucharskov
Link do komentarza
Share on other sites

Jak przestaje migać po naciśnięciu to tylko oznacza, że przycisk reset jest przylutowany prawidłowo, taki problem też przerabiałem tylko akurat w Arduino Mega. Płytka o której mówisz musi mieć możliwość odłączenia programatora od swojej drugiej połówki z właściwym układem, np. nucleo f401re ma dwie zworki, dwa pozostałe piny to 3.3V i GND. Wtedy podłączasz ją do PC, instalujesz sterowniki, jak wykrywa prawidłowo to programujesz, wtedy nie przestawiasz zworek, tak samo jakbyś używał bootloadera USB. Nie wiem czy to pomoże, zależy co jest uszkodzone. Nie spotkałem się z takim problemem, z tego co wiem bootloader w STM32 nie jest taki jak w AVR Arduino, coś co można zapomnieć wgrać lub wykasować. Ktoś na forum STM wspominał, że to jest wgrane już do chipa w fabryce. Jedyna nadzieja to zimny lut, te zworki spinają odpowiednie piny procka do VCC lub GND. Możesz przedzwonić miernikiem czy sygnał dochodzi do pinów. Jak już wiesz, że druga zachowuje się inaczej, to ta ma faktycznie jakąś wadę. 

Link do komentarza
Share on other sites

(edytowany)

Jako że na działającą płytkę udało mi się wgrać bootloader USB to to uszkodzone pieroństwo chętnie bym nawet podpal. Jeżeli jedyną nadzieją jest zimny lut to jedynym rozwiąaniem jest wypieczenie w piekarniku. Poczekam do późnego wieczora bo może ktoś jeszcze spróbuje uratować tą płytkę, w międzyczasie doczytam jak ustawić piecyk 😛 

Napisałem do sprzedawcy i kasa na paypalu pojawiła się w niecałe 10 minut, więc można się bawić 😄 Może jakieś sugestie?

Edytowano przez Kucharskov
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.