Dobre praktyki programowania mikrokontrolerów STM32 w języku C

  • Warszawa
    28 września 2017
    09:00 - 15:00
  • Warszawa
    22 maja 2017
    09:00 - 15:00
  • Warszawa
    7 lipca 2017
    09:00 - 15:00
  • Warszawa
    4 września 2017
    09:00 - 15:00
  • Warszawa
    27 października 2017
    09:00 - 15:00
  • Warszawa
    16 listopada 2017
    09:00 - 15:00
  • Warszawa
    15 grudnia 2017
    08:30 - 16:00
  • Warszawa
    25 stycznia 2018
    08:30 - 16:00
  • Warszawa
    22 lutego 2018
    08:30 - 16:00
  • Warszawa
    23 marca 2018
    08:30 - 16:00
  • Warszawa
    19 kwietnia 2018
    08:30 - 16:00
  • Warszawa
    24 maja 2018
    08:30 - 16:00
  • Warszawa
    15 czerwca 2018
    08:30 - 16:00
  • Warszawa
    21 września 2018
    08:30 - 16:00
  • Warszawa
    22 listopada 2018
    08:30 - 16:00
  • Warszawa
    14 grudnia 2018
    08:30 - 16:00

Cel szkolenia

Uczestnicy szkolenia poznają od strony praktycznej efektywne techniki programowania współczesnych mikrokontrolerów na przykładzie rodziny STM32L4, poznają i przećwiczą tworzenie aplikacji wielomodułowych z zasadami dekompozycji aplikacji i użycia plików nagłówkowych, poznają także wybrane aspekty standardu C99/C11.

Podczas szkolenia będzie używane środowisko programistyczne Keil MDK-ARM (5.x) EVAL.

Szkolenie odbywa się w małych grupach – maksymalnie 15 osób.

Oczekiwane przygotowanie słuchaczy

  • znajomość języka C,
  • podstawowa znajomość mikrokontrolerów z rodziny STM32,
  • znajomość podstaw projektowania i programowania urządzeń z mikrokontrolerami.

Uczestnicy warsztatów muszą być wyposażeni w:

– sprzęt własny:

  • komputer PC (notebook) z systemem operacyjnym Windows 10/8/7, 64- lub 32-bitowym,
  • dwa przewody połączeniowe USB A-miniB;

– zainstalowane oprogramowanie narzędziowe (bezpłatne):

  • wersja ewaluacyjna Keil MDK-ARM (5.x) z dodatkami wg opisu w „Instrukcji instalacji oprogramowania”,
  • driver interfejsu debugowania ST-Link,
  • program emulatora terminala TeraTerm.

Sprzęt dostarczony przez organizatora:

UWAGA
Sprzęt używany podczas ćwiczeń przechodzi na własność uczestników szkolenia


PROGRAM SZKOLENIA

Wprowadzenie

  • Wybrane aspekty standardu C99/C11: typy danych, atrybuty const, static i volatile.
  • Definiowanie stałych znakowych – łańcuchy, tablice łańcuchów.
  • Pliki źródłowe i nagłówkowe – zawartość.
  • Programy wielomodułowe – zasady dekompozycji i użycia plików nagłówkowych.
  • Arytmetyka stałopozycyjna.
  • Wybrane techniki programowania – tricki programistyczne.
  • Rdzenie Cortex-M – start procesora, obsługa przerwań.
  • Rejestry peryferiali ze sprzętowymi operacjami bitowymi – zasady użycia.
  • Modyfikacja stanów wyjść portów GPIO.
  • Kasowanie znaczników przerwań peryferiali.
  • Asynchroniczne przerwania programowe.

Warsztaty

  • Wprowadzenie do programowania w środowisku MDK-ARM (Keil/ARM).
  • Tworzenie projektu w środowisku MDK-ARM, składniki oprogramowania.
  • Plik startowy, biblioteki CMSIS.
  • Plik nagłówkowy zasobów mikrokontrolera.
  • Zestaw Nucleo-64 – programowanie i debugowanie.
  • Organizacja przestrzeni roboczej do pracy z wieloma projektami.
  • Przestrzeń robocza MDK-ARM.

Ćwiczenia realizowane podczas szkolenia

  1. Timer SysTick, porty GPIO, obsługa przycisku, atrybuty static i volatile, operacje na portach. Ograniczanie zasięgu zmiennych, poprawne użycie atrybutów. Błędy przy modyfikacji portów przy użyciu operacji logicznych.
  2. Transmisja UART przy użyciu DMA. Atrybut const – deklaracje łańcuchów i tablic łańcuchów – wpływ na zajętość pamięci.
  3. Wyświetlanie dynamiczne LED – realizacja programowa. Dobór częstotliwości odświeżania. Przetwarzanie pomiarów ADC przy użyciu arytmetyki stałopozycyjnej. Makrodefinicje preprocesora a funkcje inline.
  4. Wyświetlanie dynamiczne LED typu Charlieplexing.
  5. Oczekiwanie na zdarzenia, usypianie procesora. Obsługa zdarzeń w pętli zdarzeń. Oczekiwanie w obsłudze przerwania.

Instrukcja instalacji oprogramowania

INSTRUKCJA KROK PO KROKU (rozwiń)
  1. Ze strony www.keil.com prosimy pobrać i zainstalować na komputerze ewaluacyjną wersję MDK-ARM 5.x.

UWAGA! Aktywacja licencji bez ograniczenia rozmiaru kodu dla wybranej rodziny μC (np. STM32F0) uniemożliwia pracę z projektami dla innych rodzin (np. STM32L4), dlatego nie należy aktywować takiej wersji licencji.

  1. W kolejnym kroku uruchamiamy pakiet MDK-ARM (ikona Keil μVision na pulpicie), następnie uruchomiamy instalator pakietów dodatkowych (przycisk Pack Installer – ostatni na dolnym pasku – na rysunku poniżej).

Instalator pakietów uruchamia się również automatycznie bezpośrednio po instalacji środowiska.

  1. Po otwarciu okna Pack Installer w zakładce Devices należy wybrać STMicroelectronics->STM32L4 Series->STM32L476:

  1. Następnie w zakładce Packs wybieramy z listy i instalujemy następujące pakiety:

ARM:: CMSIS

Keil:: STM32L4xx_DFP

  1. Następnie należy zamknąć środowisko Keil ARM-MDK.
  2. Instalujemy driver interfejsu debugowania ST-Link oraz oprogramowanie do aktualizacji – do pobrania ze strony www.st.com (pliki STSW-LINK009.zip i STSW-LINK007.zip).

Plik STSW-LINK009.zip to pakiet instalacyjny drivera. Należy rozpakować plik .zip, następnie uruchomić program instalacyjny w wersji odpowiedniej dla używanego systemu operacyjnego (64- lub 32-bitowy).

Plik STSW-LINK007.zip to pakiet aktualizacji oprogramowania interfejsu ST-LINK. Program nie wymaga instalacji – należy jedynie rozpakować plik .zip.

  1. Pobieramy i instalujemy emulator terminala TeraTerm (https://ttssh2.osdn.jp/index.html.en).

Kod szkolenia STM32C001
Czas trwania 6 h
Miejsce szkolenia WARSZAWA. Pl. Inwalidów

Zapewniamy catering konferencyjny
Pełna rozpiętość godzinowa: 8.30 – 16.00
Zajęcia rozpoczynają się o godz. 9.00

UWAGA:
Po zakończeniu zajęć każdy z uczestników otrzymuje przygotowany elektronicznie imienny CERTYFIKAT poświadczający udział w szkoleniu.

 

Partnerzy

logo-kamami    ST Microelectronics