Detail předmětu

Microprocessors with ARM Architecture

FEKT-NPOAAk. rok: 2018/2019

Studenti se seznámí s jádrem ARM Cortex-M a jeho aplikací v mikrokontrolérech rodin STMicroelectronics STM32 a NXP Kinetis. Na vývojových deskách s těmito mikrokontroléry (STM32F4DISCOVERY, 32F429IDISCOVERY, FRDM-KL25Z) se naučí tvořit rozsáhlejší projekty, pracovat s RTOS, pokročilými komunikačními rozhraními (Ethernet, USB), tvorbou ovladačů. V rámci samostatného projektu studenti realizují vlastní projekt s vybranou vývojovou deskou.

Jazyk výuky

angličtina

Počet kreditů

5

Výsledky učení předmětu

Absolvent předmětu je schopen:
- popsat strukturu jádra ARM Cortex-M
- popsat základní bloky mikrokontrolérů STMicroelectronics STM32 a Freescale Kinetis
- využívat pro prototypování vývojové desky výrobců mikrokontrolérů
- obsluhovat vybrané pokročilé periferie připojené k mikrokontroléru
- orientovat se v různých používaných vývojových prostředích pro jádro ARM Cortex-M
- vytvářet vlastní softwarové projekty s podporou rozhraní USB a Ethernet

Prerekvizity

Student, který si zapíše předmět, by měl být schopen:
- popsat základní bloky procesoru a jejich funkci
- orientovat se ve zdrojovém kódu, pracovat v příkazové řádce
- sestavit program v jazyce C, používat ukazatele, předávání parametrů funkcím, oddělený překlad
- navrhovat hardware i firmware pro základní periferie (tlačítkové vstupy, multiplexní displeje, grafické displeje, posuvné registry, teplotní čidla apod.)
Obecně jsou požadovány znalosti na úrovni bakalářského studia a zkušenosti s programováním 8bitových mikrokontrolérů.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky, zahrnují přednášky a cvičení a jsou popsány článkem 7 Studijního a zkušebního řádu VUT. Student odevzdává samostatný projekt.

Způsob a kritéria hodnocení

Za aktivní práci v počítačových cvičeních lze získat maximálně 45 bodů. Individuální projekt včetně prezentace rozpracované verze je hodnocen až 55 body.

Osnovy výuky

vývojové desky a nástroje pro ARM Cortex-M
jádro ARM Cortex-M
přehled pokročilých funkcí jazyka C
prostředí EmBlocks, Kinetis Design Studio, platforma mbed.org
Kinetis: základy funkce, obsluha tlačítek, LED shield, Xtrinsic senzory, rozhraní Ethernet
STM32: základy funkce, maticová klávesnice, rozhraní USB, gyroskop, audio aplikace
Raspberry Pi: základy práce v embedded Linuxu

Učební cíle

Cílem předmětu je seznámit studenty s jádrem ARM Cortex-M, s mikrokontroléry STMicroelectronics STM32 a Freescale Kinetis, naučit je programovat tyto mikrokontroléry v jazyce C a získat zkušenosti s různými vývojovými prostředími.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Základní literatura

STALLINGS, W. Operating systems. 2nd ed. Prentice-Hall International, London 1995 (EN)
BUCHANAN, W.: Applied PC, Interfacing, Graphics and Interrupts, Addison-Wesley, 1996. (EN)
LABROSSE, J.: Embedded Systems Building Blocks. CMP Books, 2nd Bk&Cdr edition, 1999 (EN)

Zařazení předmětu ve studijních plánech

  • Program EEKR-MN magisterský navazující

    obor MN-BEI , 1. ročník, zimní semestr, volitelný mimooborový
    obor MN-EST , 2. ročník, zimní semestr, volitelný oborový

Typ (způsob) výuky

 

Přednáška

13 hod., nepovinná

Vyučující / Lektor

Osnova

organizace, vývojové desky; jádro ARM Cortex-M, opakování jazyka C
Xtrinsic Sensor Fusion on Freescale Kinetis MCUs (externí Freescale)
platforma mbed.org
seminář STMicroelectronics
vybrané periferie mikrokontrolérů

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

KL25Z: základy, obsluha tlačítek, LED shield
KL25Z: úvod k Freedom deskám, CodeWarrior, senzory (Freescale)
KL25Z: samostatná práce se senzory (Freescale)
KL25Z+K64F: platforma mbed.org
K64F: rozhraní Ethernet
STM32: základy funkce, maticová klávesnice
STM32: rozhraní USB, využití gyroskopu
STM32: audio aplikace, zvukový vstup a výstup
prezentace individuálních projektů
Raspberry Pi: základy práce v embedded Linuxu