1. Agenda

Transkrypt

1. Agenda
1. Agenda
Programowanie Mikrokontrolerów w języku C
na przykładzie STM32F103ZE z rdzeniem Cortex-M3
I. Wprowadzenie
1. Informacja o organizatorze szkolenia
2. Omówienie planu szkolenia
II. Język C w kontekście pisania aplikacji pod mikrokontrolery
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: (), [], *, &, .,
1
1.1 Agenda
5. Instrukcje sterujące
• Instrukcja if
• Instrukcja switch
• Pętla while
• Pętla for
• Pętla do... while
• Instrukcja break
• Instrukcja continue
• instrukcja goto
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
2
1.2 Agenda
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
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
1.3 Agenda
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
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
4
1.4 Agenda
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
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
5
1.5 Agenda
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
3. Normalizacja danych
4. Wykreślenie na wyświetlaczu LCD danych z przetwornika ADC
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 debugowanie
2. Narzędzia JTAG
3. System operacyjny
6
7. 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]
7

Podobne dokumenty