Programowanie w języku C++ dla platform ARM (seria Cortex)
Czas trwania szkolenia:4 dni (32h)
Kod kursu:CPP/ARM
Poziom zaawansowania:
O szkoleniu Programowanie w języku C++ dla platform ARM (seria Cortex)
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Polecamy zajęcia dla osób aktywnie programujących na platformach wbudowanych oraz znających język C i C++ w stopniu średnim
Wymagania
- Znajomość języka C i C++ w stopniu średnim
Zalety
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Omówienie aspektów związanych z programowaniem na platformach mikrokontrolerów rodziny Cortex (M0-M7)
- Zapoznanie się z aspektami sprzętowymi rodziny oraz warstwą bibliotek i frameworków
- Przećwiczenie na rzeczywistym sprzęcie poruszane zagadnienia oraz nauka korzystania z fizycznych interfejsów oraz szyn komunikacyjnych
Program
Mikrokontrolery rodziny Cortex
- Model architektury
- Model programistyczny
- Potoki i przepływ danych
- Mapa pamięci
- Kolejność bajtów (ang. endianness)
- Operacje atomowe na bitach
- Timer SysTick
- Stany, prawa i stos
- System Control Block
Język asembler i właściwości platformy
- Składnia języka
- Instrukcje przetwarzania danych
- Instrukcje sterowania przepływem
- Dostęp do pamięci
- Obsługa przerwań
- Dostęp do rejestrów specjalnych
- Instrukcje koprocesora
- Bariery na pamięci i synchronizacja
Procedury startowe kodu i platformy
- Zadania kodu startowego
- Implementacja kodu startowego
- Własne wywołania i punkty wejścia
Model pamięci
- Cache
- Bufory zapisu
- TCM
- Typy pamięci
CMSIS - biblioteka kompatybilności
- CMSIS-CORE
- CMSIS-DSP
- CMSIS-RTOS
- CMSIS-SVD
- CMSIS-DAP
Domena zegara
- Inicjowanie domeny zegara
- Funkcja powrotu do domyślnego zegara
- Zegar czasu rzeczywistego i jego obsługa
Obsługa i rodzaje przerwań
- Model przerwań
- Przechwytywanie przerwań
- Priorytetyzacja i kontrola
- Zapis do tablicy wektorów przerwań i kontrolera
- Wsparcie dla systemów RTOS ze strony przerwań
Timery
- Rodzaje i zakres stosowania Timerów
- Obsługa programowa Timera
- Timer systemowy SysTick
- Timery i inne podsystemy mikrokontrolera
Podsystem DMA
- Kanały DMA i ich obsługa
- Kierowanie DMA do obsługi interfejsów zewnętrznych
Interfejsy ich obsługa
- Port szeregowy
- SPI
- I2C
- ADC
Kompilator i narzędzia budowania
- Proces konsolidacji
- Narz ędzia i biblioteki systemowe
- Zagadnienia obsługi stosu
- Diagnostyka