Skocz do zawartości

Kurs STM32L4 – #2 – platforma sprzętowa i środowisko


Komentator

Pomocna odpowiedź

OK problem rozwiązany. Najnowsza wersja środowiska + uruchomienie przez terminal "xattr -c /Applications/STM32CubeIDE.app" podziałało.

Natomiast mam takie pytanie nie do końca związane z tym odcinkiem kursu...
Jak wygląda możliwość współpracy platformy STM32L4 z rozszerzeniami do Arduino Uno? Jak tu wygląda wykorzystanie np. bibliotek dla choćby czujników temperatury SHT35 itp.? 

  • Lubię! 1
Link do komentarza
Share on other sites

Z entuzjazmem zakupiłem sprzęt i zabieram się za ten kurs. Pierwszy kontakt z ARM'ami miałem ładnych parę lat temu - wtedy kiedy wchodziły na rynek. Niestety skompilowanie podstawowej pętli main() zajęło mi 3 dni i zarzuciłem temat. Kurs zapowiada się ciekawie. Brakuje mi tylko jednej rzeczy. Rozumiem, że każdy kto w nim uczestniczy powinien spróbować coś wykonać w praktyce. Z chęcią kupię ten procesor i zlutuję płytkę ale nigdzie nie widzę schematu (lub ewentualnie wycinka schematu NUCLEO-L476RG) jak go podłączyć. Taka minimalna konfiguracja dla tego procka by się przydała. 

  • Lubię! 1
Link do komentarza
Share on other sites

@MC2Systems dobrze słyszeć, że jednak ruszyło na macOS 🙂 Jeśli chodzi o kompatybilność to w tym przypadku mówimy głównie o kompatybilności sprzętu. Płytki Nucleo są wyposażone w złącza, dzięki którym można podłączyć do nich shieldy Arduino. Nie ma związku z warstwą programistyczną - biblioteki Arduino nie będą kompatybilne z STM32L4. Oczywiście może znajdą się jakieś skrajne przykłady, ale ogólnie nie da się tego przenieść 1:1. Biblioteki Arduino mogą być przydatne, aby podejrzeć jak coś zostało tam zrealizowane, ale kod na STM32L4 będzie trzeba napisać już samodzielnie (chociażby ze względu na znacznie bardziej rozbudowane peryferia sprzętowe, które są dostępne na pokładzie mikrokontrolerów STM32).

@padus witam na forum 🙂 Miło słyszeć, że ten kurs zachęcił Cię do ponownego wejścia w świat ARM-ów. Gdy opanujesz podstawy i będziesz chciał wykorzystać zdobytą wiedzę poza płytką Nucleo to odpowiednie informacje znajdziesz w 2 miejscach. Informacje o minimalnym podłączeniu, które jest niezbędne do pracy danego układu znajdziesz oczywiście w dokumentacji mikrokontrolera. Możesz też podejrzeć schemat Nucleo - jest on publicznie dostępny i można się nim inspirować. W tym kursie skupiamy się na stronie programistycznej, stąd brak tutaj tego typu przykładów, ale niewykluczone, że w przyszłości się pojawią (np. w formie osobnego artykułu).

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

@Treker Czyli wynika z tego, że "przesiadka" z Arduino na STM32 pod względem funkcjonalności to droga przez mękę... 
Pod względem elektronicznym to zapewne nie stanowi wielkiego problemu. Zawsze można niezgodności logiczne skorygować. Jednak np. oprogramowanie takiego STH35 może być już nie lada wyzwaniem, albo osiągalne dla osoby która zna zarówno biegle język jak i wszelkie zasady działania czy to danych peryferiów czy samego mikrokontrolera... a to już spore wyzwanie.

 

Link do komentarza
Share on other sites

@MC2Systems SHT35 to czujnik korzystający z I2C - interfejs ten jest omówiony w tym kursie, więc nawiązanie komunikacji z tym czujnikiem nie powinno stanowić problemu - kwestia analizy dokumentacji. Tak jednak wygląda prawdziwe programowanie mikrokontrolerów. Arduino trochę rozleniwia, bo dostępne są (gorsze lub lepsze) biblioteki, ale wprowadza to wiele ograniczeń, jeśli chcemy tworzyć profesjonalne rozwiązania bazujące na mikrokontrolerach. Dlatego od samego początku tego kursu (od samiutkiego wstępu) staram się podkreślać, że ten kurs jest przewidziany raczej dla osób, które będą związane zawodowo z elektroniką. Nie należy tego traktować jako alternatywy dla Arduino - to zupełnie inne platformy. W tym zestawieniu STM32L4 to prawdziwe programowanie mikrokontrolerów, a Arduino to jednak trochę zabawka 🙂

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

No to się ambitnie zapowiada 🙂 ale może i przez to bardziej stabilne efekty będą niż na Arduino czy ESP8266. Arduino akurat traktuję bardziej jako przypomnienie elektroniki ze studiów gdzie były zabawy np. z Altera EMax itp.

  • Lubię! 1
Link do komentarza
Share on other sites

Podłączyłem sprzęt i wszystko jak na razie działa zgodnie z opisem. Zauważyłem, że w opcjach wybieramy programowanie w C. Czy C++ daje dużo większy i wolniejszy kod? Czy biblioteki HAL będą działały prawidłowo z C++?

Edytowano przez padus
Link do komentarza
Share on other sites

Witam,

dostałem zestawik i po wyjęciu płytki z plastiku zauważyłem, że jeden goldpin jest w innej pozycji, być może go odgiąłem przy wyjmowaniu, nie wiem, przejmować się tym jakoś?

pozdrawiam

 

goldpin.jpg

Edytowano przez BartekJ
Link do komentarza
Share on other sites

Dnia 13.05.2021 o 17:57, olinek napisał:

Gdyby ktoś miał problem z płytką Nucleo która podczas próby debugowania programu wyświetla na konsoli takie komunikaty:


  Waiting for debugger connection...
  Debugger connected
  Debugger connection lost.
  Shutting down...`

I nie ma zamiaru działać to rozwiązaniem jest wyczyszczenie pamięci flash poprzez STM32 ST-Link Utility 😉

Cześć 😀,

właśnie zaczynam przygodę z STM32L4, lecz natrafiłem na pewien problem. Zakupiłem dedykowany zestaw do kursu i wczoraj próbowałem wgrać pierwszy program zgodnie z instrukcją. Po zbudowaniu i kliknięciu Debug, pojawił się komunikat o aktualizacji programatora, którą od razu wykonałem. Po ponownym kliknięciu Debug w konsoli pojawił się komunikat jak wyżej. Czy wyczyszczenie pamięci Flash to jedyne rozwiązanie? Jeśli tak, to w którym dokładnie miejscu IDE mogę to zrobić (dopiero poznaję Cube'a)? Czy to "czyszczenie" należy wykonać jedynie przed wgraniem pierwszego programu, czy może za każdym razem przy wgrywaniu czegoś na płytkę?

Będę wdzięczny za wszelką pomoc👍

 

Link do komentarza
Share on other sites

@Leroy witam na forum 🙂 

Podobny błąd też spotkałem w dość losowym momencie. Może moja podpowiedź nie będzie fachowa, bo nie wiem co jest przyczyną, ale u mnie pomogło ustawienie czegoś w MCU Settings. Ustaw np. to (masz to opisane w kursie w części gdzie pojawia sie UART):

image.thumb.png.95299fd88796e64f3f4650446265f18f.png

Zapisz, daj Build Clean, zbuduj i powinno zadziałać.

Edytowano przez Gieneq
  • Pomogłeś! 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.