Skocz do zawartości

STM32 CubeMX USB driver - brak możliwości połączenia


Pomocna odpowiedź

Hej,

próbowałem wgrać driver do komunikacji PC<->STM f103c8 przez usb. Projekt wygenerowałem w CubeMX (windows 7) zgodnie z tym poradnikiem:

Z tym wyjątkiem, że nie zmieniałem ustawień w pliku .cfg (w filmie 8:16). Przy kompilacji projektu natknąłem się na problem z tworzeniem pliku .hex zamiast .bin w folderze debug projektu. W tym celu w ustawieniach swojego IDE (Eclipse for STM32), w C/C++ Builder>Settings zakładka Build Steps, rubryka post build steps -> Command zamieniłem linijke:
arm-none-eabi-objcopy -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" && arm-none-eabi-size "${BuildArtifactFileName}"

na

arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"; arm-none-eabi-size "${BuildArtifactFileName}"
w celu otrzymania pliku .bin do wgrania na płytke.
Kod wgrałem przez ST-link utility. Po podłączeniu płytki do komputera przez kabel USB, w menedżerze pojawia mi się jedynie 'device unknown' (wgrywałem virtual com port driver zgodnie z zaleceniami poradnika na Forbot). Ponadto nie moge teraz zmienić programu na płytce ST Link utility nie może się z nią połączyć. Zastanawiam się czy nie jest to związane ze wspomnianymi wyżej ustawieniami w pliku .cfg ( widnieje tam parametr connect under reset, co by mi sugerowało, że to może być to).

Moje gorące pytanie do Was - co mogłem zrobić źle?

Edytowano przez arasu
Link to post
Share on other sites

Przestawienie jednej zworki na plytce z 00 na 10 pozwoliło na odzyskanie połączenia pomiędzy płytką i ST Link utility( wcześniej przy programowaniu nie musiałem ich przestawiać). Z kodem było wszystko w porządku, nie trzeba nic zmieniać w pliku .cfg, kod wygenerowany przez Cube Mx działa poprawnie. Po wgraniu kodu trzeba wrócić do ustawienia 00 na zworkach i podłączyć płytke przez USB, komputer wtedy rozpoznał płytke i zainstalował co trzeba. Teraz moge wysyłać komendy do płytki przez Putty po kablu USB 🙂

Temat do zamknięcia

  • Lubię! 1
Link to post
Share on other sites

@arasu dziękuję za podzielenie się rozwiązaniem! Na pewno pomoże to w przyszłości jakiejś innej osobie, która trafi tu podczas szukania rozwiązania swojego problemu. W takiej sytuacji nie ma nic bardziej irytującego od znalezienia tematu, w którym autor na końcu publikuje informację "Już działa" i nie dzieli się konkretnymi wskazówkami. Dobrze, że postąpiłeś inaczej 😉

Link to post
Share on other sites
Anonim

Kiedy ktoś już kupił programator to chciałby móc z niego korzystać a bez usunięcia tego wpisu nie da się wygodnie debugować/programować. Myślę, że w niczym to nie zaszkodzi i nie trzeba się już później nad tym więcej zastanawiać a ponadto można wykorzystać gniazdo usb w projekcie.

Odnośnie jeszcze USB w BluePill. W klonach fabrycznie lutują za duże rezystory podciągające. U mnie było 10k  mimo, że na schemacie podano 4.7k. Przy dłuższym/byle jakim kablu do usb też może być z tym problem więc można samemu równolegle dać 2k do zasilania.

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!

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.