Chcesz stworzyć prawdziwy i działający projekt na mikrokontrolerze STM32 oparty o FreeRTOS?

Świetnie się składa, bo mogę Ci w tym pomóc!


Co zrobimy podczas kursu?

Chcesz potrafić zaprogramować takie coś? Z czego dokładnie będzie składał się ten kurs?

OTÓŻ:

W tym kursie nie będę tłumaczył samego programowania STM32. Nie będę tłumaczył jak poruszać się w IDE, czy w CubeMX. Podobnie będzie z bibliotekami do użytych modułów elektronicznych. Tym zajmuję się w pełnym kursie STM32 dla Początkujących, więc jeśli potrzebujesz takiego kursu, daj mi znać. 

Skupiamy się na samym FreeRTOS. Będziemy korzystali z narzędzi od ST. Będzie to STM32CubeIDE. Zawiera on w sobie narzędzie STM32CubeMX, którym jest prostym graficznym generatorem konfiguracji projektu na STM32. 

W CubeMX w łatwy sposób dołączamy FreeRTOS do naszego projektu, więc ten wybór był dla mnie dosyć naturalny.

Zawartość tego kursu jest dosyć obszerna i zawiera około 8 godzin filmów. Podzieliłem je na moduły tematyczne dla ułatwienia.


    • W pierwszym module powiem Ci, z jakiego sprzętu korzystamy, oraz podpowiem Ci jak się uczyć z tego kursu.

    • Drugi moduł to wstęp do RTOSów. Powiem Ci, czym są zadania i jak działa współbieżność we FreeRTOS. Zwrócę Ci też uwagę na ważny aspekt, jakim jest pamięć w projekcie z RTOSem.

    • Kolejny moduł to omówienie najważniejszych komponentów FreeRTOSa. Poznasz wszystko to, co jest potrzebne do pisania Twoich programów. Razem z pułapkami i problemami, jakie jednocześnie niosą. Zdarzy się bowiem w lekcjach, że będziemy debugowali pewne elementy. Programowanie nie istnieje bez debugowania.

    • Zobaczysz, że użycie RTOSa w projekcie nie jest tak banalnie proste jak można przeczytać w Internecie. Poznamy komponenty na printach, ale to nie wszystko!

    • PRAKTYKA — przygotowałem prosty projekt, w którym robimy wiele rzeczy. Przekonasz się, że użycie FreeRTOSa to nie tylko rozwiązanie problemu blokowania się kodu. Taki RTOS niesie ze sobą nowe problemy, oraz rzeczy, na które trzeba zwrócić uwagę. Nie ma nic za darmo. Debugowanie takiego projektu również jest nieco inne niż takiego bez RTOSa. Ale o tym przekonasz się już podczas tego kursu.

    Efektem kursu będzie zbudowanie systemu, który:

    ✅  Mierzy temperaturę i ciśnienie (BMP280 na I2C, semafory).


    ✅  Zbiera dźwięk z mikrofonu pojemnościowego (ADC z DMA, kolejki)


    ✅  Liczy Transformatę Fouriera z zebranego dźwięku (biblioteka DSP, dedykowany Task, kolejki)


    ✅  Wyświetla wszystkie pomiary i FFT na wyświetlaczu OLED (I2C, współdzielenie jednej magistrali we FreeRTOS przez kilka Tasków)

      Opinie uczestników kursu

      Najbardziej podobała mi się możliwość podpatrzenia nawyków programistycznych od Mateusza i wsparcie na Discordzie.

      Wprowadzenie do RTOS naprawde jest mega dobre! Wysluchalem dwa razy i naprawdę da sie przyswoić spory zakres wiedzy w krótkim czasie.

      Dzięki kursowi poznałem lepiej HAL i zacząłem przygodę z RTOSem. Czekam na następne ciekawe kursy.

      Wstęp do FreeRTOS to mistrzostwo świata. Taka kobyłka opowiedziana w zaledwie kilkudziesięciu kilkuminutowych sesjach. Dla mnie rewelacja.

      Kurs Mateusza to mistrzostwo świata. Wiedzy jest tak duzo, że... aż za dużo. Wszystko jest wytłumaczone na wszystkie możliwe sposoby. Jednym slowem kurs mega profesjonalny i wartosciowy. Wielki szacun dla autora.

      Duży plus za różnorodność, ale także technik programowania.

      Czy ten kurs jest dla mnie?

      TEN KURS JEST DLA CIEBIE, JEŚLI: 

      • Chcesz poznać FreeRTOS
      • Chcesz pisać prawdziwe i działające programy z użyciem FreeRTOS
      • Nie wiesz, na co zwrócić uwagę we FreeRTOS
      • Potrafisz już programować STM32 z wykorzystaniem CubeMX i bibliotek HAL
      • Potrafisz pisać własne nieskomplikowane biblioteki

      TEN KURS NIE JEST DLA CIEBIE, JEŚLI:

      • Nie znasz dobrze języka C
      • Nie potrafisz jeszcze programować STM32 bez FreeRTOSa
      • Nie potrafisz pisać własnych bibliotek

      W takim wypadku lepiej, abyś dołączył do pełnego Kursu STM32 dla Początkujących. W nim również zawiera się zawartość tego kursu FreeRTOS - po nauce programowania STM32.


      Jak wygląda droga kursanta?

      Trafiasz jako ktoś, kto ma problemy z pisaniem nieblokującego się kodu. Ktoś Cię kiedyś nauczył pisania programów z użyciem Delaya, ale nie pokazał Ci jak sobie z nim radzić.

      Na jednym z forów internetowych podpowiedzieli Ci, że potrzebujesz użyć RTOSa. Próbujesz użyć, ale... okazuje się, że to nie jest takie proste.

      Pojawiają się kolejne problemy. Zadania przestają się wykonywać. Nie wiesz czemu. Nie wiesz też jak porozumiewać się między zadaniami. Miało być tak łatwo i co? Nie bardzo...

      Z moim Kursem FreeRTOS na STM32 dla Początkujących przejedziemy się po tych wszystkich problemach jak czołgiem. Wiadomo, że czołgu nic nie zatrzyma! Nas też! 😎

      Poniżej znajdziesz moją prelekcję z Arduino & Raspberry Pi Day 2021, na której opowiadałem o niebezpieczeństwach osób początkujących we FreeRTOs.

      A czy jest inna droga?

      Oczywiście!

      Możesz obejrzeć setki nagrań na YouTube, obejrzeć inne kursy np. na Udemy, przeczytać książki lub uczyć się na własną rękę. Pamiętaj tylko, że to wszystko wymaga sporej ilości czasu. Ja już ten czas poświęciłem. Ty nie musisz!

      To też wymaga tego, abyś wiedział, co szukać. Gorzej gdy właśnie nie wiesz czego...

      Sam zdecyduj.


      Czego nauczysz się dołączając do Kursu FreeRTOS na STM32 dla początkujących?

      👉 ZBUDUJESZ PRAWDZIWY PROJEKT Z UŻYCIEM FREETORS

      Pokażę Ci jak zbudowałem proste urządzenie wykorzystujące czujnik BMP280, OLED i mikrofon.

      Mikrofon użyty jest do tego, aby pobrać próbki przez ADC i liczyć z nich transformatę Fouriera.

      Czujnik i OLED są podłączone do jednej magistrali i potrafią dzielić się czasem korzystania z I2C.

      👉 POZNASZ KLUCZOWE ELEMENTY FREETORS

      FreeRTOS wprowadza masę nowych elementów.

      Mechanizmy synchronizacji, komunikacji. Kolejki, semafory, mutexy.

      Dowiesz się, jak ważne jest dbanie o pamięć w systemie.

      Poznasz Hooki, które są pomocne przy debugowaniu.

        A DO TEGO OTRZYMASZ 4 MODUŁY SZKOLENIA ONLINE

         

        👉 Program Kurs FreeRTOS na STM32 dla Początkujących

        Cały kurs to ponad 8 godzin materiałów podzielonych na wygodne moduły tematyczne. Lekcje opracowane są w taki sposób, że możesz je wygodnie przerabiać małymi partiami 


        👉 Dostęp do Bibliotek oraz Pełnych Kodów pisanych w Kursie


        👉 Dożywotni Dostęp do Kursu Oraz Aktualizacji 

          Przeprowadzę Cię za rękę od zera, poprzez poznanie komponentów FreeRTOS, aż po swoje pierwszy działający projekt.


          Ile za to wszystko?

          997 PLN

          Zawartość programu

          MODUŁ 1 - PLAN GRY

            Lekcja 1: Powitanie
            Lekcja 2: Sprzęt użyty w kursie
            Lekcja 3: Efekt Końcowy
            Lekcja 4: Wymagania
            Lekcja 5: Jak Studiować?
            Lekcja 6: Programowanie współbieżne

          MODUŁ 3 - KOMPONENTY

            Lekcja 1: Powitanie
            Lekcja 2: Opóźnienia Delay: Teoria
            Lekcja 3: Miganie diodami na Delayu
            Lekcja 4: printf i sprintf w RTOS
            Lekcja 5: printf i sprintf w RTOS: Kod
            Lekcja 6: Problem wyścigów, pojęcie poducentów i konsumentów
            Lekcja 7: Komunikacja między zadaniami - wskaźnik?
            Lekcja 8: Kolejka: Teoria
            Lekcja 9: Kolejka: API
            Lekcja 10: Kolejka: Kod CMSIS V2 API
            Lekcja 11: Kolejka: Kod CMSIS V2 API - przerwanie
            Lekcja 12: Kolejka: Kod FreeRTOS API
            Lekcja 13: Semafory: Teoria
            Lekcja 14: Semafory: API
            Lekcja 15: Semafor binarny: Kod CMSIS V2 API
            Lekcja 16: Semafor binarny: Kod CMSIS V2 API - przerwanie
            Lekcja 17: Semafor binarny: Kod FreeRTOS API
            Lekcja 18: Semafory: Odwrócenie priorytetów
            Lekcja 19: Semafory: Odwrócenie priorytetów - Kod
            Lekcja 20: Semafor zliczający: Kod CMSIS V2 API
            Lekcja 21: Semafor zliczający: Kod CMSIS V2 API - Debug
            Lekcja 22: Semafor zliczający: Kod FreeRTOS API
            Lekcja 23: Mutex: Teoria
            Lekcja 24: Mutex: API
            Lekcja 25: Mutex: Kod CMSIS V2 API
            Lekcja 26: Mutex: Kod FreeRTOS API
            Lekcja 27: Sekcja krytyczna: Teoria
            Lekcja 28: Sekcja krytyczna: Kod
            Lekcja 29: Task Notification: Teoria
            Lekcja 30: Task Notification: API
            Lekcja 31: Task Notification: Kod CMSIS V2 API
            Lekcja 32: Task Notification: Kod FreeRTOS API
            Lekcja 33: Timer Software'owy: Teoria
            Lekcja 34: Timer Software'owy: API
            Lekcja 35: Timer Software'owy: Kod CMSIS V2 API
            Lekcja 36: Timer Software'owy: Kod FreeRTOS API
            Lekcja 37: Hooki: Teoria
            Lekcja 38: Hooki: Kod Idle Hook

          MODUŁ 2 - TEORIA

            Lekcja 1: Powitanie

            Lekcja 2: Czym jest RTOS?
            Lekcja 3: Zadania
            Lekcja 4: Scheduler
            Lekcja 5: Zmiana kontekstu
            Lekcja 6: Wywłaszczanie zadań
            Lekcja 7: Pamięć w RTOS
            Lekcja 8: Priorytety NVIC i RTOS
            Lekcja 9: FreeeRTOS API
            Lekcja 10: CMSIS-RTOS API
            Lekcja 11: FreeRTOS w CubeMX
            Lekcja 12: Struktura plików

            MODUŁ 4 - PROJEKT

            Lekcja 1: Powitanie
            Lekcja 2: Założenia
            Lekcja 3: Kod
            Lekcja 4: Kolejka zamiast wpółdzielonej pamięci?
            Lekcja 5: Kolejka Kod
            Lekcja 6: Szatkowanie OLED: Teoria
            Lekcja 7: Szatkowanie OLED: Kod
            Lekcja 8: Dodajmy ADC: Teoria
            Lekcja 9: Dodajmy ADC: Kod - konfiguracja wstępna
            Lekcja 10: Dodajmy ADC: Kod - piszemy
            Lekcja 11: Dodajmy ADC: Kod - debug z Hookami
            Lekcja 12: Dodajmy ADC: Kod - wyświetlanie wyniku FFT, zagłodzenie zadania
            Lekcja 13: Podsumowanie



            Na jakim sprzęcie będziemy pracować?

            W Kursie używamy sprzętu. Lista potrzebnych komponentów:

            • Nucleo-F411RE (LINK)
            • Wyświetlacz OLED 0.96" I2C niebieski (LINK)
            • Dioda LED 4 szt. (LINK)
            • Rezystor do diody 4 szt. (LINK)
            • Mikrofon analogowy (LINK)
            • Przewód USB Mini do Nucleo (LINK)
            • Płytka stykowa 830 pól (LINK)
            • Przewody żeńsko-żeńskie 40 szt. (LINK)
            • Przewody męsko-żeńskie 40 szt. (LINK)
            • Przewody męsko-męskie 40 szt. (LINK)

            Możesz również kupić gotowy zestaw części (LINK)

              Przykładowe lekcje

              .