Skocz do zawartości

[Wydarzenie] STM32 Development Ecosystem hands-on workshop - sprawozdanie


Chumanista

Pomocna odpowiedź

22 i 23 listopada odbywało się w Krakowie bezpłatne szkolenie z podstaw ekosystemu STM32.

W ramach przygotowania otrzymałem około 2 tygodni wcześniej listę oprogramowania które będzie potrzebne i instrukcję instalacji (która podawała oczywiste kroki, ale nie wersję Javy która jest potrzebna xD).

Całe wydarzenie odbywało się w hotelu Qubus, około 10 minut tramwajem od centrum Krakowa. Plan dnia przedstawiał się następująco:

W praktyce było nieco inaczej, moim zdaniem bardziej sensownie.

Przy wejściu otrzymałem torbę z blokiem A4, ołówkiem i płytką Nucleo-L476RG. Pierwsze 30 minut było poświęcone na upewnienie się że każdy ma komplet narzędzi i pomoc w zainstalowaniu ich dla tych kilku którzy nie mieli. Następnie była prezentacja marketingowa czyli typowe "świat idzie do przodu i my też", w tym kilka ciekawych rzeczy, jak opis nadchodzącej serii H7 oraz integracji z protokołem komunikacji LoRa.

Pierwszym projektem było oczywiście miganie LEDem, zaczynając od utworzenia projektu w CubeMX z poprawnymi ustawieniami pinów, a następnie importowanie wygenerowanego kodu do SW4STM i dopisanie (dosłownie) 2 linii kodu. Ogólnie praktycznie tak samo jak byłoby to zrealizowane w Arduino. Uczestnicy zgadywali nazwy funkcji w zamian za gadżety (splitter do słuchawek mogący też być podstawką do telefonu).

Następnie była przerwa na kawę. Wtedy odpowiadali na wszystkie pytania niezwiązane z prezentacją, można było porozmawiać z innymi, zjeść świetne ciastka i wypić całkiem dobrą kawę.

Później zaczęła się właściwa część kursu, czyli wykorzystanie pełnego ekosystemu.

Najpierw trzeba było zaimportować do CubeMX przygotowany projekt skonfigurowany pod STM32L0 i podążając za instrukcjami przekształcić go do działania z STM32L476RGT6 na płytce. Proces ten jest zaskakująco przyjazny użytkownikowi, z czytelnymi informacjami o różnicach pomiędzy procesorami i napotkanych problemach.

Następnie wczytaliśmy projekt do SW4STM i napisaliśmy prosty kod który za pomocą DMA wysyłał zawartość predefiniowanego bufora do DAC i odczytywał wartość ADC spiętego z nim zworką. Następnie użyliśmy debugera do odczytania danych z tablicy.

Następnie pojawił się opis co dokładnie robi w tle wygenerowany przez CubeMX kod i w jakiej kolejności (bardzo podobne do Arduino IDE w sumie, tylko bardziej rozbudowane z oczywistych powodów).

"wskazówki" wymienione na liście to było "co należy naprawić w domyślnej konfiguracji Eclipse żeby praca była wygodniejsza", z obietnicą że te rzeczy wkrótce będą domyślne.

Następnie był lancz - tartinki i pyszna zupa krem. Kolejna okazja do socjalizacji i zadawania pytań.

Po tej przerwie wróciliśmy do poprzedniego programu generującego i odczytującego sinusa i nauczyliśmy się jak do niego podłączyć debugging w czasie rzeczywistym na dwa różne sposoby - STMStudio oraz SWO podpięte do printf().

Po kolejnej przerwie na kawę rozpoczęła się prezentacja bibliotek niskopoziomowych. W skrócie: nic wartego uwagi hobbystów, nie pełne pokrycie, jakieś dziwne działanie z CubeMX, ale jak już działa to daje bardzo duże zyski w wydajności i objętości kodu. Jak się jest hobbystą to zdecydowanie lepiej kupić szybszy procesor 😉

Następnie zmienili jedną z bibliotek w projekcie z HAL na LL żeby pokazać różnicę, faktycznie zużycie pamięci znacznie spadło.

Ostatnim elementem było "co robimy żeby nasze biblioteki nie były tak złe jak kiedyś". Pokazali proces testowy, przedstawili używane narzędzia analizy statycznej oraz dynamicznej. Ciekawostka: biblioteki są testowane na fizycznych płytkach Nucleo.

Podsumowanie:

Przystępnie podane podstawy

Za darmo, włącznie z płytką

Bardzo dobrze przygotowani i pomocni prelegenci

Dobra organizacja, dodatkowa data ze względu na zainteresowanie

Znacznie lepsze narzędzia niż kilka lat temu

Slajdy w innej kolejności niż w materiałach xD

Jeśli ktoś chce link do materiałów proszę wysłać mi PM.

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

Dzięki za opisanie.

Jak byś oceniał przydatność szkolenia patrząc pod kątem np. kursu dostępnego na Forbocie (pomijając darmową płytkę 😉 )? Mam na myśli czy na szkoleniu pojawiły się jakieś dużo cenniejsze/obszerniejsze informacje niż na Forbotowym kursie?

Link do komentarza
Share on other sites

Lukaszm, w sumie to kurs na szybko przeszedł pierwsze, powiedzmy, pięć części Forbotowego kursu F4. Było dużo mniej dogłębnie ale za to byli ludzie którzy na bieżąco pomagali i odpowiadali na pytania.

Tutejszy kurs jest dużo lepszy (nic dziwnego, szkolenie trwa łącznie 5h), ale nie ma ludzi do pomocy.

Moim zdaniem bardzo warto się wybrać, szczególnie biorąc pod uwagę że pewnie zrobią coś takiego na premierę H7, z bajerami jak grafika i świetną, drogą płytką (tak było z F7).

Poza tym można porozmawiać z innymi ludźmi zainteresowanymi tematem i całkiem ciekawie spędzić dzień 😉

Link do komentarza
Share on other sites

Moim zdaniem bardzo warto się wybrać

Jasne, zgadzam się i chętnie wezmę udział przy najbliższej okazji.

Skąd dowiedziałeś się o szkoleniu? Strona ST czy jakaś lista mailowa?

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

Również mogę się wypowiedzieć na temat tych szkoleń - są one na bardzo wysokim poziomie jeśli chodzi o przygotowanie prowadzących i przekazywanie wiedzy. Szkoda, że niektóre informacje o trochę poukrywanych opcjach w CubeMx i AC6 nie są jakoś łatwiej dostępne - o kilku rzeczach dowiedziałem się dopiero tam, mimo iż wcześniej już pracowałem z tymi programami. Co do tych nowych bibliotek mam mieszane uczucia - wiadomo, że HAL zrobili zamiast SPL głównie dlatego, że jest to uniwersalna ARMowa biblioteka, ludzie gdy napiszą kod w HALu na procki innej rodziny, a potem się skapną, że na tańszym STMie też zadziała to chętniej przejdą.

Przykład podmiany bibliotek o którym wspominał Chumanista był taki, że dla programu testowego zajmującego chyba 12kB w HALu podmieniliśmy tylko inicjalizację RCC na LL i zyskaliśmy 2 kB miejsca. Efekt powalający, ale LL jest pomiędzy rejestrami, a HALem. Bardziej warto nauczyć się full rejestrów lub samego HALa moim zdaniem.

Widzieliśmy też płytkę z prockiem H7 🙂

Link do komentarza
Share on other sites

I jedna uwaga o której powiedzieli - HAL zdecydowanie odpada przy aplikacjach gdzie energooszczędność jest kluczowa. Za duży narzut instrukcji w funkcjach, czasy wykonywania itp. Wtedy wychodzi na to, że zalecają tylko na rejestrach, bo LL jest dopiero od niedawna i tylko dla L4 do tej pory.

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.