Szkolenie C

Transkrypt

Szkolenie C
Szkolenie C
Programowanie mikrokontrolerów w języku C
na przykładzie STM32F103ZE z rdzeniem Cortex-M3
Broszura informacyjna
Wersja 1.0
GRYFTEC Embedded Systems
ul. Niedziałkowskiego 24
71-410 Szczecin
[email protected]
Szczecin 2014
Spis treści
1. O firmie
2. Szkolenia Cortex C
2.1. Cel szkolenia
2.2. Przebieg szkolenia
3. Agenda
4. Warunki
5. Termin szkolenia
6. O prowadzącym
7. Informacje
8. Kontakt
2
1. O firmie
Firma GRYFTEC oferuje Państwu szkolenie kompleksowe w zakresie
tworzenia aplikacji dla mikrokontrolerów z rdzeniem Cortex-M3 w języku C.
Szkolenie umożliwia pozyskanie solidnej wiedzy na temat języka C w kontekście
mikrokontrolerów, co przyczynia się do swobodnej realizacji praktycznych
projektów inżynierskich w róźnych dziedzinach przemysłu.
Szkolenie prowadzone jest przez doświadczonego inżyniera - trenera
posiadającego nie tylko zdolności do przekazywania swojej wiedzy, ale
również posiadającego wieloletnie, bezpośrednie doświadczenie inżynierskie
i programistyczne w pracy z mikrokontrolerami - będącego członkiem zespołu
badawczo-rozwojowego firmy GRYFTEC. Szkolenie będzie wspomagane przez
doświadczonego asystenta, który obok głównego trenera zapewni sprawne
wykonywanie ćwiczeń i zadań projektowych.
Dokładamy wszelkich starań, aby zapewnić komfortowe warunki szkolenia.
Szkolenie organizujemy w zacisznym, komfortowym i urokliwym miejscu, przy
jednoczesnym łatwym dojeździe dobrze skomunikowanym z centrum miasta.
Zapewniamy doskonały catering oraz przerwy kawowe, aby jak najbardziej umilić
szkolenie jego uczestnikom.
3
2. Szkolenia Cortex C
Firma GRYFTEC oferuje czterodniowe szkolenie z zakresu praktycznego
tworzenia oprogramowania dla mikrokontrolerów z rdzeniem Cortex-M3 w języku
C. Uczestnicy szkolenia uzyskają solidną podstawę do pracy z mikrokontrolerami
oraz opanują w stopniu podstawowym język C niezbędny do tworzenia tego
typu oprogramowania. Poprzez ćwiczenia wykonywane pod nadzorem naszych
doświadczonych inżynierów zdobędą wymagane doświadczenie w dziedzinie
praktycznej realizacji tego typu aplikacji.
Podczas szkolenia możecie Państwo nawiązać kontakty z naszymi inżynierami
posiadającymi doświadczenie w dziedzinie realizacji projektów opartych na
mikrokontrolerach z rdzeniem Cortex-M3. Chętnie odpowiemy na szczegółowe
pytania techniczne – jesteśmy do Państwa dyspozycji podczas całego przebiegu
szkolenia.
Szkolenie pozwala na nabycie umiejętności programowania w języku C
na potrzeby indywidualne. Przygotowuje również do pracy w dużych zespołach
projektowych nad złożonymi problemami inżynierskimi.
Miejsce szkolenia znajduje się na terenie miasta Szczecin. Dołożymy
wszelkich starań, aby zapewnić komfortowe warunki szkolenia w dobrze
skomunikowanym centrum miasta. Zapewniamy doskonały catering
oraz przerwy kawowe, aby jak najbardziej umilić kurs jego uczestnikom.
W przypadku szkoleń zamkniętych na Państwa życzenie oferujemy również dojazd
naszego trenera do wskazanego miejsca oraz przeprowadzenie pełnego szkolenia
w takim samym wymiarze czasu jak w przypadku szkoleń organizowanych
w Szczecinie.
4
2.1. Cel szkolenia
Celem szkolenia jest zapoznanie uczestników z budową, zasadami działania
i możliwościami mikrokontrolerów z rdzeniem Cortex-M3.
Uczestnicy poznają ich filozofię wraz z zastosowaniem i zasadami języka C
w kontekście systemów wbudowanych oraz podstawową wiedzą pozwalającą na
samodzielną implementację oraz tworzenie aplikacji w języku C.
Zdobędą wiedzę o najważniejszych konstrukcjach języka C i ich
zastosowaniu w konkretnych problemach i przykładach. Uczestnicząc
w interaktywnych ćwiczeniach z prowadzącym, poznają metodologię projektowania
i tworzenia aplikacji w języku C w praktyce inżynierskiej.
Po ukończeniu szkolenia, jego uczestnicy będą w stanie swobodnie rozpocząć
samodzielną pracę z projektami opartymi na mikrokontrolerach.
5
2.2. Przebieg szkolenia
W harmonogramie naszych szkoleń i przerabianym materiale kładziemy bardzo
duży nacisk na praktyczne podejście do języka C. Omawiamy liczne przykłady
kodu i rozwiązania konkretnych problemów, jak również wykonywanie typowych
realizacji języka C wspólnie z prowadzącym. Zapewniając tym samym aktywny
udział każdego z uczestników jak i bezpośredni kontakt z problemami pojawiającymi
się przy tworzeniu tego typu aplikacji.
Ćwiczenia praktyczne wymienione w programie szkolenia przybliżają
przez prowadzącego problemy, lub zagadnienia związane z programowaniem
w języku C. Proponują możliwe rozwiązania oraz objaśniają metodykę stosowania
konkretnych konstrukcji języka w danym problemie. Tematy ćwiczeń są dobrane
w sposób wymuszający zastosowanie różnych konstrukcji języka C. Pozwalają
na utrwalenie wiedzy jak i nabycie umiejętności praktycznego jej zastosowania.
Szkolenie będzie wspomagane przez doświadczonego asystenta, który obok
głównego trenera zapewni sprawne wykonywanie ćwiczeń i zadań projektowych.
6
3. Agenda
I. Wprowadzenie
1. Informacja o organizatorze szkolenia
2. Omówienie planu szkolenia
II. Język C w kontekście pisania aplikacji dla mikrokontrolerów
1. Podstawowe typy danych
Integer
Float
Specyfikatory: signed i unsigned
Wskaźniki
Tablice
Zależności między tablicami i wskaźnikami
Typ wyliczeniowy enum
2. Modyfikatory
volatile
register
static
extern
auto
3. Struktury danych
Definicja struktury
Dostęp i operacje na elementach struktury
Wskaźnik do struktury
Operator strzałka
Unie
4. Operatory
Przypisania
Arytmetyczne
Bitowe
Porównania
Logiczne
Operator wyrażenia warunkowego
Operator sizeof
Inne operator: (), [], *, &, .,
5. Instrukcje sterujące
Instrukcja if
Instrukcja switch
Pętla for / while
Pętla do... while
Instrukcja break
Instrukcja continue
Instrukcja goto
7
3. Agenda
6. Funkcje
Tworzenie funkcji
Wywoływanie funkcji
Deklarowanie funkcji
Zwracanie wartości
Funkcja main()
7. Biblioteka standardowa
III. Podstawowa budowa mikrokontrolera z rdzeniem ARM na przykładzie STM32F103ZE
1. Ogólny schemat blokowy mikrokontrolera
Mikrokontroler a mikroprocesor
2. Rdzeń ARM
Architektura
Little-endian i big-endian
Rejestry mikroprocesora
Licznik programu PC
Rejestr statusowy
Stos
Wyjątki i przerwania
Poziomy uprzywilejowania
Tryb ARM i Thumb
Wyjątki
Kontroler przerwań
3. Reset i kontrola sygnałów zegarowych
PLL
Układ resetu
Dystrybucja sygnału zegarowego
4. Watchdog
5. Zarządzanie energia
Wake-up mode
6. Pamięć
Rodzaje pamięci
Flash
SRAM
Wewnętrzna zewnętrzna
7. MMU (Memory Management Unit)
8. Magistrale mikrokontrolera
9. Peryferiały
Podstawowe wiadomości
Omówienie peryferiałów mikrokontrolera STM32F103ZE
8
3. Agenda
10. GPIO
Budowa
Konfiguracja
11. Mapa pamięci
12. Debugowanie
JTAG
Metody
Oprogramowanie
IV. Wybór rodzaju aplikacji
1. Rodzaje aplikacji
Zwykła pętla programowa
Pętla programowa opata na przerwaniach
System operacyjny
2. Rozmiar aplikacji
V. Dobór mikrokontrolera do konkretnego projektu
1. Dobór ze względu na sprzęt
2. Dobór ze względu na oprogramowanie
VI. Przygotowanie środowiska
1. Podłączenie zestawu ewaluacyjnego do komputera
2. GCC
Budowa projektu
Przygotowanie MAKEFILE
Skrypt linkera
3. Atollic TrueSTUDIO
Konfiguracja środowiska
4. Keil
Konfiguracja środowiska
VII. Tworzenie aplikacji
1. Budowa aplikacji
Plik startowy
Wektory przerwań
Wyjątki
Główna pętla programu
2. Mapowanie rejestrów
3. Mapowanie peryferiałów
Mapowanie pojedynczych rejestrów
Struktury peryferiałów
Użycie bibliotek dostarczonych przez producenta
9
3. Agenda
4. Inicjalizacja mikrokontrolera
Inicjalizacja sygnałów zegarowych
Konfigurowanie wewnętrznych bloków mikrokontrolera np. watchdog
Inicjalizacja peryferiałów
Konfiguracji GPIO
5. Poznanie środowiska Atollic TrueStudio
Zapoznanie się z rejestrami mikrokontrolera STM32F103ZE
Zapoznanie się z peryferiałami
Modyfikacja zawartości rejestrów przy użyciu środowiska Atollic
Zapalenie i zgaszenie diody dołączonej do mikrokontrolera przez modyfikacje
rejestrów sterujących
VIII. Ćwiczenie 1: Zapalenie i zgaszenie diody dołączonej do mikrokontrolera
1. Napisać program zapalający lub gaszący w pętli co 10000 przejść, diodę LED dołączoną do
mikrokontrolera
IX. Ćwiczenie 2: Zapalenie i zgaszenie diody co określony czas
1. Napisać program zapalający lub gaszący diodę dołączoną do wyjść mikrokontrolera w równych
określonych odcinkach czasu
Inicjalizacja i użycie przerwania timera
Inicjalizacja i użycie timerów mikrokontrolera
Procedura obsługi przerwania
X. Ćwiczenie 3: Wprowadzenia mikrokontrolera w tryb SLEEP i wyprowadzenie z tego trybu przy
pomocy przycisku
1. Napisać program wprowadzający mikrokontroler w tryb SLEEP a następnie wyprowadzenie go
z tego trybu po naciśnięciu przycisku
XI. Ćwiczenie 4: Komunikacja ze światem zewnętrznym – UART
1. Wysłać z mikrokontrolera komunikat na terminal komputera PC
Budowa i konfiguracja UART
Budowa RS-232
Inicjalizacja UART
Przygotowanie funkcji wysyłającej komunikaty na terminal
Przygotowanie makra diagnostycznego TRACE
XII. Ćwiczenie 5: Zapis i odczyt danych z pamięci EEPROM za pomocą interfejsu I2C
1. Budowa i zasada działania pamięci EEPROM
2. Budowa i zasada działanie interfejsu I2C
3. Inicjalizacja i konfiguracja I2C
4. Przygotowanie funkcji dostępu do I2C
5. Przygotowanie funkcji zapisu i odczytu danych z pamięci EEPROM
6. Modularyzacja oprogramowania
XIII. Ćwiczenie 6: Zapis i odczyt danych z pamięci FLASH przy użyciu interfejsu FSMC
1. Budowa i działanie pamięci FLASH
2. Rodzaje pamięci FLASH
NAND
NOR
10
3. Agenda
3. Konfiguracja interfejsu FSMC
4. Przygotowanie funkcji dostępu do pamięci
5. Zapisanie danych w pamięci a następnie wyświetlenie ich na terminalu
XIV. Ćwiczenie 7: Zapis i odczyt danych z pamięci FLASH przy użyciu interfejsu SPI
1. Budowa i zasada działania interfejsu SPI
2. Inicjalizacja interfejsu SPI
3. Przygotowanie funkcji dostępu do SPI
4. Przygotowanie funkcji zapisu i odczytu danych z pamięci FLASH
XV. Ćwiczenie 8: Obsługa klawiatury
1. Wady i zalety GPIO
Mała wydajność prądowa
Konieczność stosowania driverów, wtórników emiterowych
Bramka Schmita
Jakość sygnałów, pull-up, pull-down
2. Budowa i działanie klawiatury matrycowej
3. Odczytywanie klawiatury
4. Odczytanie stanów joysticka i wyświetlenie odpowiednich komunikatów na terminalu
XVI. Ćwiczenie 9: Wyświetlanie informacji na wyświetlaczy
1. Wykorzystanie bibliotek do sterowania wyświetlaczem
2. Konfiguracja kontrolera LCD
3. Przy pomocy funkcji bibliotecznych narysować linię na wyświetlaczu dołączonym do mikrokontrolera
XVII. Ćwiczenie 10: Odczytywanie danych z przetwornika ADC
1. Budowa i zasada działania przetworników ADC
2. Podstawowe pojęcia z zakresu przetwarzania sygnałów
Próbkowanie
Zakres bitowy przetwornika
XVIII. Ćwiczenie 11: Odczyt i zapis danych z pamięci SRAM*
1. Przygotowanie funkcji odczytujących i zapisujących dane z pamięci SRAM dołączonej do
mikrokontrolera
XIX. Podsumowanie
1. Techniki debugowania
2. Narzędzia JTAG
3. System operacyjny
11
4. Warunki
A. Szkolenia Otwarte:
Termin ogłaszany jest z wyprzedzeniem, a nabór uczestników odbywa się
w określonym przedziale czasu. Szkolenie odbędzie się w zaproponowanym
terminie przy spełnieniu wymagu minimalnej liczby uczestników - 8 osób
(maksymalnie : 10 osób).
B. Szkolenia Zamknięte:
Termin i miejsce szkolenia są ustalane indywidualnie, w celu dostosowania ich do
potrzeb klienta. W szkoleniach zamkniętych prowdzonych poza terenem miasta
Szczecin, sala szkoleniowa oraz catering muszą być zapewnione przez klienta.
Minimalna liczba uczestników - dowolna (maksymalnie : 10 osób).
12
4.1. Koszty
Podczas przebiegu szkoleń zapewniamy:
Trener Szkolenia
Materiały Szkoleniowe
Sala Szkoleniowa
Stanowiska
Komputerowe
Artykuły Piśmiennicze
Kawa/napoje
Catering
Lokalizacja Szczecin
+
+
+
+
Siedziba klienta
+
+
+
+
+
+
+
-
13
5. Termin szkolenia
Szkolenia otwarte:
Terminy szkoleń otwartych dostępnę są na
stronie www.gryftec.com
Szkolenia zamknięte:
Terminy jak i miejsce szkolenia ustalane
indywidualnie
14
6. O prowadzącym
Paweł Malik, mgr inż. absolwent Politechniki Szczecińskiej.
Od początku kariery pracuje w firmie GRYFTEC, czynnie
zajmując się projektami z dziedziny embedded systems.
Posiada doświadczenie w tworzeniu kompletnych rozwiązań
od pomysłu do gotowego rozwiązania technicznego.
Specjalizuje się w projektowaniu urządzeń opartych na
mikrokontrolerach oraz kompletnym ich oprogramowaniu
w języku C.
W czasie swojej pracy zawodowej brał udział także w pisaniu symulatorów ISS dla wielu
architektur obecnie stosowanych w systemach wbudowanych.
Tworzył oprogramowanie pod takie platformy sprzętowe jak ARM, Cortex czy PowerPC.
Współpracuje przy tworzeniu nowoczesnych narzędzi i technik debugowania sprzętowego
mikrokontrolerów z wykorzystaniem interfejsu JTAG.
15
7. Informacje
Zachęcamy do kontaktu z działem szkoleń firmy GRYFTEC w celu
uzyskania informacji na temat innych specjalistycznych szkoleń.
Oferujemy następujące szkolenia:
16
8. Kontakt
Informacje kontaktowe:
Telefon do biura
+48-91-85-11-660
[email protected]
Osoba kontaktowa w/s szkoleń:
Jerzy Pieścikowski
+48-602-24-47-94
[email protected]
17

Podobne dokumenty