Using C++ in Embedded Systems - Applying C++11/C++14 - Plan Szkolenia
Szkolenie to ma na celu wprowadzenie C++ jako wspólnego rozszerzenia języka C podczas stosowania zorientowanego obiektowo rozwoju systemu wbudowanego. Ponieważ C++ obejmuje C, szkolenie to przenosi nas z C do C++ w naturalny sposób i zagląda pod maskę tego, jak C++ jest zaimplementowane. Jest to szczególnie cenne do zrozumienia przy stosowaniu C++ w osadzonym środowisku o ograniczonych zasobach. Standard C++ został niedawno poddany poważnej rewizji, znanej jako C++11, a nowy jest w drodze, C++14. Kurs ten dotyczy tematów wprowadzonych wraz z tymi zmianami, które są szczególnie przydatne, takich jak wysokowydajne zarządzanie pamięcią, współbieżność wykorzystująca środowisko wielordzeniowe i programowanie bare-metal blisko sprzętu.
CELE/KORZYŚCI
Głównym celem tej klasy jest umiejętność używania C++ w “poprawny sposób”.
- Przedstawienie C++ jako alternatywy dla języka obiektowego w kontekście systemów wbudowanych.
- Pokazanie podobieństw - i różnic - z językiem C
- Zrozumienie różnych strategii zarządzania pamięcią – zwłaszcza semantyki ruchu wprowadzonej w C++11
- Zajrzeć pod maskę i zrozumieć, do czego prowadzą różne paradygmaty w C++ w kodzie maszynowym
- Używanie szablonów w celu osiągnięcia bezpiecznych abstrakcji wysokiego rzędu dla programowania sprzętowego – mapowane pamięci I / O, a także przerwania – zwłaszcza szablony variadic wprowadzone w C++11
- Przedstawienie kilku przydatnych wzorców projektowych, szczególnie przydatnych w kontekście wbudowanym.
- Kilka ćwiczeń w celu przećwiczenia niektórych pojęć
ODBIORCY/UCZESTNICY
Szkolenie skierowane jest do C++- programistów, którzy zamierzają rozpocząć korzystanie z C++ w kontekście systemu wbudowanego.
WCZEŚNIEJSZA WIEDZA
Kurs wymaga podstawowej wiedzy z zakresu C++ programowania, odpowiadającej naszym szkoleniom ”C++ – Level 1” i ”C++ Level 2 – Introducing C++11”.
ĆWICZENIA PRAKTYCZNE
Podczas szkolenia przećwiczysz prezentowane koncepcje w szeregu ćwiczeń. Wykorzystamy otwarte i darmowe zintegrowane środowisko programistyczne Eclipse
Plan Szkolenia
- Co to jest system wbudowany? Prosta definicja Niektóre kamienie milowe Charakterystyka Dlaczego warto używać C++?
Wymagania
Aby wziąć udział w tym kursie, nie trzeba spełniać żadnych szczególnych wymagań.
Szkolenia otwarte są realizowane w przypadku uzbierania się grupy szkoleniowej liczącej co najmniej 5 osób na dany termin.
Using C++ in Embedded Systems - Applying C++11/C++14 - Plan Szkolenia - Booking
Using C++ in Embedded Systems - Applying C++11/C++14 - Plan Szkolenia - ZAPYTANIE O SZKOLENIE
Using C++ in Embedded Systems - Applying C++11/C++14 - Zapytanie o Konsultacje
Opinie uczestników (2)
Podobał mi się czas przeznaczony na rozwiązywanie ćwiczeń. Było to bardzo przydatne, ponieważ pozwoliło nam poświęcić trochę czasu na przemyślenie naszych rozwiązań i ich wdrożenie.
Valeriu - Siemens
Szkolenie - Using C++ in Embedded Systems - Applying C++11/C++14
Przetłumaczone przez sztuczną inteligencję
The details on how compiler behaves depending on to the syntax usage. The "Quiz" sections are very stimulating
Andrea Pomatto
Szkolenie - Using C++ in Embedded Systems - Applying C++11/C++14
Nadchodzące szkolenia
Szkolenia Powiązane
Buildroot: a Firmware Generator for Embedded Systems
7 godzinBuildroot to projekt o otwartym kodzie źródłowym, który zawiera skrypty tworzące zestaw narzędzi do kompilacji krzyżowej, konfigurowalny obraz głównego systemu plików i Linux jądro dla urządzeń wbudowanych. Podczas tego praktycznego kursu uczestnicy dowiedzą się, jak z niego korzystać:
- Jak wybrać oprogramowanie, które trafi do głównego systemu plików.
- Jak dodawać nowe pakiety i modyfikować istniejące.
- Jak dodać obsługę nowych wbudowanych płyt.
Podczas kursu tworzone są bootowalne obrazy systemów plików. Kursy zdalne są dostarczane przy użyciu emulatora QEMU, podczas gdy w klasie możliwe jest użycie QEMU lub prawdziwych wbudowanych płyt wybranych przez trenera.
Inne projekty o podobnych celach obejmują projekt Yocto i OpenWRT. Skorzystaj z tych prezentacji, aby określić, który z nich jest właściwym wyborem dla Twoich potrzeb.
Shadowsocks: Set Up a Proxy Server
7 godzinShadowsocks to bezpieczny serwer proxy socks5 o otwartym kodzie źródłowym.
W tym instruktażowym szkoleniu na żywo uczestnicy dowiedzą się, jak zabezpieczyć połączenie internetowe za pośrednictwem serwera proxy Shadowsocks.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Zainstaluj i skonfiguruj Shadowsocks na dowolnej z wielu obsługiwanych platform, w tym Windows, Linux, Mac, Android, iOS i OpenWrt.
- Wdrażać Shadosocks za pomocą systemów zarządzania pakietami, takich jak pip, aur, freshports i innych.
- Uruchamiać Shadowsocks na urządzeniach mobilnych i w sieciach bezprzewodowych.
- Zrozumieć, w jaki sposób Shadowsocks szyfruje wiadomości oraz zapewnia integralność i autentyczność.
- Optymalizacja serwera Shadowsocks
Publiczność
- Inżynierowie sieciowi
- Administratorzy systemów
- technicy Computer
Format kursu
- Część wykładu, część dyskusji, ćwiczenia i ciężka praktyka praktyczna
LEDE: Set Up a Linux Wireless Router
7 godzinProjekt LEDE (Linux Embedded Development Environment) to system operacyjny Linux oparty na OpenWrt. Jest to kompletny zamiennik dla dostarczanego przez dostawców oprogramowania sprzętowego szerokiej gamy routerów bezprzewodowych i urządzeń niesieciowych.
W tym instruktażowym szkoleniu na żywo uczestnicy dowiedzą się, jak skonfigurować router bezprzewodowy oparty na LEDE.
Publiczność
- Administratorzy i technicy sieci
Format kursu
- Część wykładu, część dyskusji, ćwiczenia i ciężka praktyka praktyczna
The Yocto Project - An Overview - hands-on
28 godzinOpis
To czterodniowe szkolenie łączy teorię z praktycznymi ćwiczeniami w celu wprowadzenia Yocto Project. Odpowiada na często zadawane pytania, takie jak:
- Czy naprawdę konieczne jest używanie innej wersji toolchaina/bibliotek/pakietów dla każdego projektu GNU/Linux, a do tego stosowanie innego przepływu pracy?
- Czy można zapewnić, że środowisko programistyczne jest identyczne dla wszystkich deweloperów/dostawców i że za ponad 10 lat nadal będzie można tworzyć identyczne kompilacje jak dziś?
- Czy YP może pomóc dowiedzieć się, na jakich licencjach oprogramowania są licencjonowane używane pakiety?
Sesje praktyczne odbywają się na docelowym sprzęcie (np. Beagle Bone Black Rev. C - http://beagleboard.org/BLACK). Po szkoleniu będziesz mógł pobrać obraz docker z Ubuntu 14.x i wszystkimi preinstalowanymi zależnościami oraz przykładami, aby pracować z materiałem kursu we własnych laboratoriach. Należy pamiętać, że nie jest to kurs wprowadzający do Embedded GNU/Linux. Powinieneś już wiedzieć, jak działa Embedded GNU / Linux i jak skonfigurować / zbudować jądro GNU / Linux i sterowniki jądra.
Kto powinien wziąć udział?
Używasz już GNU/Linuksa w swoich projektach i prawdopodobnie słyszałeś o Yocto Project, ale nie odważyłeś się przyjrzeć mu bliżej lub miałeś trudności z jego używaniem. Nie wiesz, czy i jak twój codzienny przepływ pracy może być dostosowany do YP i ogólnie uważasz, że YP jest raczej skomplikowany. Po co nam to wszystko, skoro wcześniej wszystko było (podobno) znacznie łatwiejsze? Po szkoleniu powinieneś być w stanie zdecydować, czy potrzebujesz YP, czy nie. Warsztaty skierowane są do programistów, programistów, inżynierów systemowych, testerów, administratorów, inżynierów i innych osób zainteresowanych YP, posiadających solidną wiedzę na temat Embedded GNU/Linux.
Yocto Project
28 godzinW tym instruktażowym szkoleniu na żywo w Polsce uczestnicy dowiedzą się, jak stworzyć system kompilacji dla wbudowanego systemu Linux oparty na Yocto Project.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Zrozumienie podstawowych koncepcji stojących za Yocto Project systemem kompilacji, w tym receptur, metadanych i warstw.
- Zbudować obraz systemu Linux i uruchomić go w emulacji.
- Oszczędność czasu i energii przy tworzeniu wbudowanych systemów Linux.
Circuits and Electronics Fundamentals
14 godzinTo prowadzone przez instruktora szkolenie na żywo (online lub na miejscu) jest przeznaczone dla inżynierów i informatyków, którzy chcą zastosować podstawy obwodów i elektroniki do projektowania urządzeń i systemów wykorzystujących właściwości komponentów elektrycznych do rozwoju funkcjonalności sprzętu.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Ustawianie i konfigurowanie niezbędnych narzędzi i programów do tworzenia obwodów i płytek drukowanych.
- Zrozumienie podstawowych zasad stojących za obwodami i inżynierią elektroniki.
- Użycie podstawowych komponentów elektronicznych w konstruowaniu wydajnych technologii sprzętu komputerowego.
- Optymalizacja urządzeń elektronicznych poprzez wdrażanie metod analizy obwodów.
- Zastosowanie podstaw elektroniki i obwodów do rozwoju aplikacji korporacyjnych.
Digital Signal Processing (DSP) Fundamentals
21 godzinTo prowadzone przez instruktora szkolenie na żywo (online lub na miejscu) jest skierowane do inżynierów i naukowców, którzy chcą nauczyć się i zastosować implementacje DSP, aby efektywnie obsługiwać różne typy sygnałów i uzyskać lepszą kontrolę nad wielokanałowymi systemami elektronicznymi.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Ustawianie i konfigurowanie niezbędnej platformy oprogramowania i narzędzi do cyfrowego przetwarzania sygnałów.
- Zrozumienie pojęć i zasad, które są fundamentalne dla DSP i jego zastosowań.
- Zapoznanie się z komponentami DSP i wykorzystanie ich w systemach elektronicznych.
- Generowanie algorytmów i funkcji operacyjnych przy użyciu wyników z DSP.
- Używać podstawowych funkcji platform oprogramowania DSP i projektować filtry sygnałowe.
- Syntetyzować symulacje DSP i implementować różne typy filtrów dla DSP.
Learning Vivado
14 godzinSzkolenie na żywo prowadzone przez instruktora (na miejscu lub zdalnie) jest przeznaczone dla programistów FPGA, którzy chcą używać Vivado do projektowania, debugowania i wdrażania rozwiązań sprzętowych.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Rozwój systemów HDL z kodem C i narzędziami Vivado.
- Generowanie i wdrażanie miękkich procesorów w Vivado.
- Testowanie i symulowanie kodu C przy użyciu Vivado.
FreeRTOS: Programming for Real Time Operating Systems
7 godzinW tym instruktażowym szkoleniu na żywo w Polsce uczestnicy dowiedzą się, jak kodować za pomocą FreeRTOS, przechodząc przez proces tworzenia prostego projektu RTOS przy użyciu mikrokontrolera.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Zrozumienie podstawowych koncepcji systemów operacyjnych czasu rzeczywistego.
- Poznanie środowiska FreeRTOS.
- Dowiedz się, jak kodować za pomocą FreeRTOS.
- Interfejsowanie aplikacji FreeRTOS ze sprzętowymi urządzeniami peryferyjnymi.
Introduction to FreeRTOS
7 godzinKurs stanowi wprowadzenie do projektowania oprogramowania opartego na RTOS dla systemów wbudowanych/IoT. Uczestnicy zapoznają się z koncepcjami RTOS, mechanizmami synchronizacji i scenariuszami projektowania oprogramowania przy użyciu RTOS. Ćwiczenia wykonywane są na płytkach STM32 Nucleo 144 lub podobnych.
Embedded C Application Design Principles for Automotive Professionals
14 godzinDwudniowy kurs obejmujący wszystkie zasady projektowania z przykładami kodu w połączeniu z najnowszą technologią przemysłową; bardzo przydatny dla programistów oprogramowania motoryzacyjnego.
Embedded C Application Design Principles
14 godzinSzkolenie na żywo prowadzone przez instruktora (na miejscu lub zdalnie) jest przeznaczone dla programistów C, którzy chcą nauczyć się wbudowanych zasad projektowania C.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Zrozumienie uwarunkowań projektowych, które sprawiają, że wbudowane programy C są niezawodne
- Definiowanie funkcjonalności systemu wbudowanego
- Definiowanie logiki i struktury programu w celu uzyskania pożądanego rezultatu
- Zaprojektować niezawodną, wolną od błędów aplikację wbudowaną
- Uzyskanie optymalnej wydajności sprzętu docelowego
Format kursu:
- Interaktywny wykład i dyskusja
- Ćwiczenia i praktyka
- Praktyczna implementacja w środowisku live-lab
Opcje dostosowywania kursu:
- Aby zamówić niestandardowe szkolenie dla tego kursu, skontaktuj się z nami.
Advanced Embedded Systems Development
35 godzinSzkolenie na żywo prowadzone przez instruktora (na miejscu lub zdalnie) jest przeznaczone dla inżynierów, którzy chcą dowiedzieć się, jak używać wbudowanego języka C do programowania różnych typów mikrokontrolerów opartych na różnych architekturach procesorów (8051, ARM CORTEX M-3 i ARM9).
Arduino Programming for Beginners
21 godzinW tym prowadzonym przez instruktora szkoleniu na żywo w Polsce uczestnicy dowiedzą się, jak zaprogramować Arduino do rzeczywistych zastosowań, takich jak sterowanie oświetleniem, silnikami i czujnikami wykrywania ruchu. Ten kurs zakłada wykorzystanie prawdziwych komponentów sprzętowych w środowisku laboratoryjnym na żywo (nie symulowanego oprogramowania);
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Programowanie Arduino do sterowania oświetleniem, silnikami i innymi urządzeniami.
- Zrozumieć architekturę Arduino, w tym wejścia i złącza dla urządzeń dodatkowych.
- Dodaj komponenty innych firm, takie jak wyświetlacze LCD, akcelerometry, żyroskopy i urządzenia śledzące GPS, aby rozszerzyć funkcjonalność Arduino.
- Zrozumienie różnych opcji w językach programowania, od C do języków typu "przeciągnij i upuść".
- Testowanie, debugowanie i wdrażanie Arduino w celu rozwiązywania rzeczywistych problemów.
Raspberry Pi for Beginners
14 godzinRaspberry Pi to bardzo mały, jednopłytkowy komputer.
Podczas tego prowadzonego przez instruktora szkolenia na żywo uczestnicy dowiedzą się, jak skonfigurować i zaprogramować Raspberry Pi, aby służył jako interaktywny i wydajny system wbudowany.
Po zakończeniu tego szkolenia uczestnicy będą w stanie
- Skonfiguruj IDE (zintegrowane środowisko programistyczne) dla maksymalnej wydajności programowania
- Zaprogramuj Raspberry Pi do sterowania urządzeniami takimi jak czujniki ruchu, alarmy, serwery internetowe i drukarki.
- Zrozumienie architektury Raspberry Pi, w tym wejść i złączy dla urządzeń dodatkowych.
- Zapoznanie się z różnymi opcjami języków programowania i systemów operacyjnych.
- Testowanie, debugowanie i wdrażanie Raspberry Pi w celu rozwiązywania rzeczywistych problemów.
Publiczność
- Programiści
- Technicy sprzętu/oprogramowania
- Osoby techniczne we wszystkich branżach
- Hobbyści
Format kursu
- Część wykładu, część dyskusji, ćwiczenia i ciężka praktyka praktyczna
Uwaga
- Raspberry Pi obsługuje różne systemy operacyjne i języki programowania. Ten kurs będzie wykorzystywał Raspbian oparty na systemie Linux jako system operacyjny i Python jako język programowania. Aby poprosić o konkretną konfigurację, skontaktuj się z nami.
- Uczestnicy są odpowiedzialni za zakup sprzętu i komponentów Raspberry Pi.