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