TECHNIKA MIKROPROCESOROWA II

Podobne dokumenty
TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

Laboratorium Procesorów Sygnałowych

TECHNIKA MIKROPROCESOROWA II

Instytut Teleinformatyki

Laboratorium mikrokontrolerów

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

AsLinkEx instrukcja obsługi

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP

TECHNIKA MIKROPROCESOROWA II

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Laboratorium - Instalacja Virtual PC

Galileo v10 pierwszy program

Projektowanie z użyciem procesora programowego Nios II

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Informatyka I : Tworzenie projektu

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Programator procesorów rodziny AVR AVR-T910

1.Wstęp. 2.Generowanie systemu w EDK

Platforma szkoleniowa krok po kroku. Poradnik Kursanta

Electronic Infosystems

Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000

PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Product Update Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

Instrukcja użytkowania

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Szkolenia specjalistyczne

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Laboratorium mikrokontrolerów

Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-510L

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH

Instrukcja instalacji Zespołu Diagnostycznego Delphi w systemie Vista.

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows 2000

Konfiguracja pakietu CrossStudio for MSP

CW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2]

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-520L

procertum CLIDE Client 2.1 wersja 1.0.2

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

Programowanie mikrokontrolerów AVR

Programowanie niskopoziomowe

Instalacja protokołu PPPoE

Instrukcja instalacji i konfiguracji Karty EDGE/GPRS SonyEricsson GC85

Platforma szkoleniowa krok po kroku

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

Konfiguracja Połączenia

MultiTool instrukcja użytkownika 2010 SFAR

Aby uruchomić Multibooka, należy podłączyć nośnik USB do gniazda USB w komputerze, na którym program ma być używany.

Instrukcja instalacji systemu. CardioScan 10, 11 i 12

Programowanie procesora Microblaze w środowisku SDK

Instalacja oprogramowania Rigel Med-eBase dla systemów Windows XP, 7 oraz 8.

Instrukcja instalacji systemu. CardioScan 10, 11 i 12

Tomasz Greszata - Koszalin

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows 7

Konfigurowanie sterownika BX9000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BX9000

INSTALACJA W PROGRAMACH MAGAZYNOWYCH KROK PO KROKU FAREX FLEX

Instytut Teleinformatyki

Instrukcja obsługi programatora AVR Prog USB v2

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Edytor tekstu OpenOffice Writer Podstawy

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Kopiowanie i instalowanie pliku w systemie Windows CE

Stosowanie, tworzenie i modyfikowanie stylów.

Konfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie

Laboratorium mikrokontrolerów

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Instrukcja instalacji BMW INPA do interfejsu BMW USB VIAKEN

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW)

Bezpieczeństwo informacji oparte o kryptografię kwantową

AUTOMATYKA PRZEMYSŁOWA

MobileNET. Instalacja i konfiguracja MobileNET SIECI BLOKOWE S.C.

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

1.2. Architektura rdzenia ARM Cortex-M3...16

Wersja polska. Wstęp. Zawartość opakowania. Dane techniczne BT100. Dodatkowe dane techniczne BT100 S W E E X. C O M

Instalacja programu:

Ewidencja Wyposażenia PL+

Modelowanie obiektowe - Ćw. 1.

Opis z dnia Czynności związane z instalacją środowiska MDK, ST Link i biblioteki

Konfiguracja Javy. Jak prawidłowo skonfigurować środowisko Java. Jak zacząć? Poradnik dla systemów Windows 7,8, 8.1 i 10. Wersja 1.

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I POŁĄCZENIA Z INTERNETEM NA WINDOWS 7 DLA AnyDATA ADU-510L

Istnieją trzy sposoby tworzenia kopii zapasowej na panelu Comfort:

Wersja polska. Wstęp. Zawartość opakowania. Dane techniczne. Dodatkowe dane techniczne. BT200 - Sweex Bluetooth 2.0 Class II Adapter USB

Pakiet informacyjny dla nowych użytkowników usługi Multimedia Internet świadczonej przez Multimedia Polska S.A. z siedzibą w Gdyni

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Transkrypt:

Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 1 Wprowadzenie do środowiska Keil i rodziny Kinetis Sebastian Koryciak http://www.fpga.agh.edu.pl/tm2 01.10.2015

1 WSTĘP 1.1 CEL Niniejsze ćwiczenie ma na celu przeprowadzenie Uczestników laboratorium przez utworzenie pierwszego projektu w środowisku uvision. Na początku przedstawiono krótko charakterystykę zestawu FRDM-KL46Z, a następnie etapy tworzenia, programowania, debugowania (w zakresie podstawowym) i symulowania programu napisanego w języku C. 1.2 WYMAGANIA Sprzętowe: komputer klasy PC spełniający wymagania sprzętowe aplikacji KEIL v5, zestaw FRDM-KL46Z Programowe: system operacyjny Windows XP lub wyższy środowisko Keil / uvision 5 Doświadczenie: podstawowa umiejętność obsługi komputera klasy PC, podstawowa znajomość systemów operacyjnych rodziny Windows, podstawowa znajomość zagadnień z Techniki Mikroprocesorowej 1 podstawowa znajomość zagadnień z Techniki Cyfrowej

2 PLATFORMA SPRZĘTOWA ZESTAW FRMD-KL46Z Firma Freescale zaprojektowała i wyprodukowała serię zestawów wyposażonych w nowoczesne mikrokontrolery z rdzeniem ARM Cortex-M0+ o zróżnicowanych możliwościach. Odpowiednio do możliwości zastosowanego mikrokontrolera dobrano moduły peryferyjne zamontowane na płytce drukowanej zestawu. Zestaw FRDM-KL46Z jest wyposażony w mikrokontroler KL. Należy on do rodziny Kinetis KL4 z 32-bitowym rdzeniem Cortex-M0+. Na płytce znajdziemy: 32 bitowy mikrokontroler MKL46Z356VLLZ4 z rodziny Kinetis L zawierający: o 256 kb pamięci Flash, o 32 kb pamięci SRAM, o Maksymalna częstotliwość taktowania rdzenia: 48 MHz, o Zegar RTC, o Układ Watchdog, o DMA, o 12-bitowy DAC, o 16-bitowy SAR ADC, o Kontroler USB Full Speed, o Niskonapięciowy moduł UART, o 2 standardowe moduły UART, o 2 moduły I2C, o moduł I2S, o 2 moduły SPI, OpenSDA, Dotykowy slider pojemnościowy, 4 cyfrowy wyświetlacz LCD segmentowy Akcelerometr MMA8451Q, Magnetometr MAG3110, 2 diody LED, 2 przyciski, Czujnik światła, Przycisk Reset

3 ŚRODOWISKO KEIL PIERWSZE URUCHOMIENIE Program uvision 5 jest środowiskiem stworzonym przez firmę Keil (ARM) przeznaczonym do programowania i debugowania mikrokontrolerów opartych o architekturę ARM. 3.1 ZADANIE Proszę upewnić się, czy oprogramowanie jest zainstalowane. Jeżeli ikona Keil uvision5 nie znajduje się ani na pulpicie, ani w Menu Start proszę otworzyć instrukcję PRE LAB i postępować zgodnie z punktem drugim. 3.2 ZADANIE Proszę uruchomić aplikację uvision 5 i stworzyć projekt w języku C. 1. Proszę dwukrotnie kliknąć na ikonę znajdującą się zarówno na pulpicie jak i w Menu Start systemu. 2. Z menu aplikacji proszę wybrać Project > New uvision Project 3. Następnie proszę wskazać ścieżkę dostępu do nowo tworzonego projektu, który nazwiemy hello_world\project (np. C:\MDK-ARM\sr_1115_4\hello_world\project.uvproj) UWAGA! Wszystkie projekty stworzone w laboratorium muszą znajdować się w folderze C:\MDK- ARM\x_y_z\ gdzie x to dzień zajęć (po / wt / sr / cz / pt), y to godzina zajęć (1100 / 1230 / ), a z to numer zespołu dwuosobowego 4. Kolejnym krokiem jest wybór mikrokontrolera na którym będziemy pracować. Zgodnie z opisem umieszczonym w punkcie 2 niniejszej instrukcji wyszukujemy MKL46Z256xxx4

5. Nowo otwarte okno służy do wyboru bibliotek. Do tworzonego projektu będziemy potrzebowali: CMSIS > CORE, oraz Device > Startup 6. W ten sposób stworzony projekt powinien wyglądać zgodnie z poniższym oknem.

A B 7. Pierwsze kosmetyczne poprawki będą dotyczyły nazw katalogów. Nazwę Target1 (A) zmieniamy na CMSIS-DAP, natomiast Source Group 1 (B) na src. Następnie klikając prawym przyciskiem myszy na folder src wybieramy opcję Add New Item to Group src. 8. W nowo otwartym oknie wybieramy język C, oraz przypisujemy nazwę pliku main

3.3 ZADANIE Proszę stworzyć swój pierwszy program dodając następującą treść do pliku main.c: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. #include "MKL46Z4.h" #define GreenLED 0 const uint32_t MaskLED[] = {1UL << 5}; void InitLED(void){ SIM->SCGC5 = SIM_SCGC5_PORTD_MASK; PORTD->PCR[5] = PORT_PCR_MUX(1UL); PTD->PDDR = MaskLED[GreenLED]; } void BlinkLED(void){ uint32_t i = 0; } PTD->PTOR = MaskLED[GreenLED]; for(i = 0; i < 3000000; i++){}; int main(void){ InitLED(); } while(1){ BlinkLED(); } Program zawsze rozpoczynamy od załączonych plików nagłówkowych. W tym przypadku dodajemy jedynie nagłówek zawierający nazwy rejestrów oraz masek pozwalających w intuicyjny sposób korzystanie z tych rejestrów. Jeżeli chcemy obejrzeć zawartość dokumentu wystarczy prawym przyciskiem myszy nacisnąć na nazwę nagłówka w treści pliku main, a następnie wybrać opcję Open Document <MKL46Z.H>. Maski są stworzone zgodnie z nomenklaturą zastosowaną w głównym Reference Manual dla KL46: CHAPTER NAME _ REGISTER NAME _ BIT NAME _MASK.

W drugiej kolejności zdefiniowana jest dioda LED zielona, jako odnośnik do maski, stworzonej w kolejnej linii kodu. Program napisany jest w sposób modułowy, dlatego możemy wyróżnić następujące: InitLED, BlinkLED, main. InitLED to funkcja mająca na celu inicjalizację portów GPIO (General Purpose Input Output). Aby poprawnie skonfigurować taki port należy zmodyfikować następujące rejestry: System Integration Module (SIM) rejestr dający kontrolę nad podawaniem zegara peryferiom. W momencie kiedy zegar nie jest podłączony oszczędzamy energię, ale i nie możemy używać danego peryferia. o System Clock Gating Control Register 5 (SIM_SCGC5) rejestr odpowiedzialny za taktowanie portów. Aby korzystać z jakiegokolwiek pinu musimy aktywować dany port (w naszym przypadku port D) Port Control and Interrupts (PORT) ten rejestr decyduje o tym które piny są wykorzystywane dla danych peryferiów (strona 172 KL46_RM) o Pin Control Register (PORTD_PCR5) ustawienie na multiplekserze funkcji, którą będzie pełnił dany pin; będziemy wykorzystywać pin numer 5 portu D do sterowania zieloną diodą LED General Purpose Input Output (GPIO) jeżeli dany pin został skonfigurowany jako GPIO należy określić czy jest wejściem czy wyjściem z system o Port Data Direction Register (GPIO_PDDR) 1 = output, 0 = input o Port Data Output Register (GPIO_PDOR) zmiana wartości pinu o Port Data Set Register (GPIO_PSOR) ustawienie pinu na wartość 1 o Port Data Clear Register (GPIO_PCOR) ustawienie pinu na wartość 0 o Port Data Toggle Register (GPIO_PTOR) zmiana wartości na przeciwną niż aktualna o Port Data Input Register (GPIO_PDIR) odczyt wartości z pinu w przypadku wejścia BlinkLED to funkcja implementująca na jeden z wielu sposobów miganie diodą. Wykorzystany został rejestr GPIO_PTOR. Main to funkcja główna, która uruchamia inicjalizację portów GPIO, a następnie miga diodą w pętli. 3.4 ZADANIE Na podstawie powyższego opisu funkcjonalności programu proszę dopisać odpowiednie komentarze do pliku main.c. W jakim celu w liniach 7 i 9 zastosowano znak =? 3.5 ZADANIE Uruchomienie aplikacji na zestawie FRDM-KL46Z: UWAGA! Na tym etapie należy się upewnić, czy zostały na danym zestawie zainstalowane sterowniki CMSIS. Proszę wrócić do instrukcji PRE LAB i wykonać czynności z ostatniego punktu. 1. Po uzupełnieniu zawartości pliku main.c proszę zbudować projekt. Robimy to wybierając z menu Project > Build Target, bądź też przyciskając klawisz F7.

2. Następnie jednorazowo należy skonfigurować opcje debugera. W tym celu klikamy na ikonę Options for Target 3. W nowo otwartym oknie wybieramy zakładkę Debug, a w niej w opcji Use odnajdujemy CMSIS-DAP Debugger. 4. Następnie klikamy na Settings, a tam w opcji Port wybieramy SW. 5. Dodatkowo w zakładce Flash Download zaznaczamy opcję Reset and Run

6. Po aktualizacji wszystkich ustawień w głównym programie, w pasku narzędzi klikamy na Flash > Download (lub ikona ). 3.6 ZADANIE Przy programowaniu niezbędną funkcją jest możliwość debugowania kodu. Dlatego też teraz sprawdzimy jak działa nasz pierwszy program. UWAGA! W trakcie gdy debugujemy lub symulujemy nasz program nie można zamykać okien z plikami, które są otwarte w tej perspektywie. Ich zamknięcie grozi zawieszeniem programu. 1. W pliku main.c proszę najechać kursorem na linię kodu w której następuje zmiana wartości pinu 5 portu D (PTD->PTOR), a następnie nacisnąć F9 (można też nacisnąć ikonę w postaci czerwonej kulki). W ten sposób do kodu wstawiliśmy tzw. Breakpoint 2. Następnie w celu rozpoczęcia sesji debugowania proszę nacisnąć kombinację klawiszy Ctrl+F5 lub ikonę oznaczoną symbolem (W przypadku korzystania z wersji ewaluacyjnej / darmowej pojawi się informacja o ograniczonej ilości kodu) 3. Proszę otworzyć zawartość portów GPIO: Peripherals > System Viewer > GPIO > PTD 4. Proszę parokrotnie nacisnąć klawisz F5 i sprawdzić jakie zmiany następują w poszczególnych rejestrach. 5. Wychodzimy z perspektywy debugowania drugi raz klikając na ikonę d, lub za pomocą kombinacji Ctrl+F5 3.7 ZADANIE Często nie mamy dostępu do sprzętu w momencie pisania oprogramowania. W takich momentach przydaje się symulator. 1. Aby uruchomić symulator należy wejść do konfiguracji debugera, czyli 2. Następnie w zakładce Debug wybieramy Use Simulator (A).

A C B 3. Obok okienka zatytułowanego Initialization File klikamy na ikonę trzech kropek (B), wpisujemy nazwę init i ją zatwierdzamy przyciskiem Open. Program zapyta czy utworzyć plik o tej nazwie, co akceptujemy. 4. Nowo stworzony plik inicjalizacyjny należy zmodyfikować. Dlatego też otwieramy go przyciskiem Edit (C). Okno Options of Target możemy już zamknąć przyciskiem OK. 5. Do pliku init.ini wpisujemy: 1. MAP 0x40000000, 0x400FFFFF read write 6. Zawartość pliku należy zapisać, a następnie zlokalizować i otworzyć plik system_mkl46z.c (znajdziemy go w oknie Project, w pakiecie Device) 7. W otwartym pliku systemowym lokalizujemy i komentujemy (dopisujemy na początku każdej linii znaki //) następujące linie kodu: 124. 125. 126. 127. while((mcg->s & MCG_S_IREFST_MASK) == 0x00U) { /* Check that the source of the. } while((mcg->s & 0x0CU)!= 0x00U) { /* Wait until output of the FLL is selected */ } 8. Całość zapisujemy i budujemy projekt (skrót klawiszowy F7) 9. Następnie proszę o wykonanie tych samych kroków co w zadaniu 3.6

4 ZADANIE DOMOWE W celu przećwiczenia ustawiania partów, proszę zmodyfikować program main zgodnie z następującymi punktami: 1. Proszę dodać obsługę diody czerwonej (User Manual zestawu FRDM-KL46Z) z zastosowaniem masek (proszę odpowiednio zmodyfikować istniejącą maskę) 2. Proszę dodać funkcję migania diody czerwonej z inną częstotliwością niż dioda zielona, oraz stosując inny rejestr/rejestry niż GPIO_PTOR 3. Wszystkie polecenia proszę zasymulować