Skocz do zawartości

Wgranie bootloadera STM32 za pomocą Raspberry Pi


Kucharskov

Pomocna odpowiedź

Witam!

Zaciekawiony tanią płytką STM32F103C8T6 na AliExpress postanowiłem pobawić się tą platformą. Niestety nie doczytałem, że do katowania płytki przez USB potrzeba konwertera USB2TTL aby podmienić bootloader. Ów konwerter do mnie leci, ale mam ze 3 tygodnie żeby spróbować inaczej wgrać bootloader.

Zgodnie z tym co pisał użytkownik @deshipu tutaj albo co można zobaczyć na tym filmie na YouTube, możliwe jest użycie portu szeregowego RaspberryPi aby przeflaszować bootloader na tej płytce STM32. Niestety nie może być tak kolorowo. Podpinam zgodnie z instrukcją, zworka BOOT0 na 1, konfiguruję RPi zgodnie z instrukcjami, pobieram kod stm32flash'era z nowego repozytorium, wszystko pięknie się kompiluje. Jednak przy próbie nawiązania połączenia wyskakuje błąd "Error probing interface 'serial_posix'", zaś gdy wymuszę komendę z sudo wyskakuje "Failed to init device." co przedstawiam na poniższym screenie terminala:

42219607_2243211222419084_1338736409900482560_n.thumb.jpg.502b53412b760ddb8e281b297bb6e4a9.jpg

Próbówałem już prawdopodobnie wszystkiego: od kombinacji z konfiguracją maliny w config.txt i odpowiednim core_freq, enable_uart=1, po inne kabelki, kody źródłowe flashera i inne cuda na kiju typu osobne zasilanie nawet odpowiednio podpięte 5V.

Dwie różnice rzucają się w oko, które warto tutaj zaznaczyć:

  • Na filmie gość używa RPi w wersji 3+, ja używam Zero W, która jednak jest nowym modelem i nie powinna bardzo odstawać od trójki.
  • Pomimo przestawienia zworki BOOT0 na 1, po podpięciu zasilania mruga dość szybko zielona dioda tak samo jak i bez przestawienia zworki. Może płytka jest uszkodzona?

Może ktoś podrzuci jakiś pomysł co może być przyczyną problemu wgrania bootloadera? Ewentualnie w jaki magiczny sposób go wgrać pomijając próbowane już przeze mnie sposoby? Warto zaznaczyć, że mimo iż to mój pierwszy post tutaj to sporo siedzę i w Malinowym środowisku, potocznych "kabelkach" czy programowaniu więc miło by było nie traktować mnie jak zupełnego nowicjusza.

Z góry dzięki!

Edytowano przez Kucharskov
Link do komentarza
Share on other sites

Sprawdź czy z Rpi z USART wychodzi to co chcesz i kiedy chcesz. Piszesz, że próbowałeś

enable_uart=1

Domyślnie właśnie UART jest przeznaczony na konsolę. Aby używać UART musisz go wyłączyć dla konsoli.

Dlaczego walczysz z Rpi? Nie masz "normalnego" komputera i konwertera USB-TTL? Nigdzie? Takie konwertery są często stosowane w wielu urządzeniach, wystarczy poszukać. Masz go choćby w większości Arduino. Wystarczy wymusić reset na uC i konwerter jest do użytku. Nawet w glukometrach używają takich konwerterów (CH34x).

Link do komentarza
Share on other sites

Brawo za celny strzał dotyczacy posiadania cukrzycy 😛 na czas pisania tematu nie miałem dostępu dp żadnego konwertera. Później okazał się ze w klonie arduino CH340 tez nie mógł dać rady (zakładałem nawet temat dot. testu petli zwrotnej). Ostatecznie okazało się że STM32 jest uwalony i za żadne skarby nie chcial się przelaczy w tryb bootloader.

Link do komentarza
Share on other sites

12 godzin temu, Kucharskov napisał:

Brawo za celny strzał dotyczacy posiadania cukrzycy

Okres pewnie też mam, bo kupowałem OB.

12 godzin temu, Kucharskov napisał:

Ostatecznie okazało się że STM32 jest uwalony i za żadne skarby nie chcial się przelaczy w tryb bootloader.

A SWD lub JTAG działa?

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

Temat został wyczyszczony z 13 postów, które nie były związane z głównym tematem dyskusji. Raz jeszcze proszę o zachowanie zdrowego rozsądku i nie wdawanie się w bezsensowne zaczepki i dyskusje. Proponuję zastosować się do prostej zasady: jak jakiś post Wam nie odpowiada lub się z nim nie zgadzacie to wybierzcie jedną z opcji:

  1. Zaraportujcie wiadomość.
  2. Wystawcie negatywną ocenę za pomocą reakcji (do wyboru po najechaniu na ikonkę serca w prawym dolnym rogu posta).
  3. Idźcie na spacer złapać trochę świeżego powietrza.

W skrajnych sytuacjach można również łączyć powyższe metody. Nie rozumiem jaki sens mają prywatne zaczepki. Nie szkoda Wam czasu? Przez zdecydowaną większość czasu na naszym forum panuje przyjazna atmosfera i są prowadzone ciekawe dyskusje. Takie przepychanki tylko psują atmosferę, sami się nakręcacie. Zamiast robić coś ciekawego i wymieniać się wiedzą to obrzucacie się błotem jak dzieci... Uwaga szczególnie to użytkownika @es2, który lubi generować konfliktowe sytuacje.

  • Lubię! 2
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.