Počet kreditů 6
Vyučováno v Winter
Rozsah výuky 2P+2L
Garant předmětu
Přednášející Jan Fischer, Vojtěch Petrucha
Cvičící Jan Fischer, David Novotný, Vojtěch Petrucha

The course deals with design of embedded systems using ARM based microcontrollers.

B4B35APO Architektura počítačů
:BAB37ZPR Základy programování
BAB36PRGA Programování v C

To teach principles od embedded systems design.

1. Introduction to embedded systems, motivation of their design, examples. ES properties and design phases. Microprocessor basics (how a CPU works, RISCxCISC, pipelining, etc.). Microprocessor x microcontroller x SOC (System-On-Chip).
2. Description of the ARM core and its philosophy. Example of a ARM-based microcontroller. Basic hardware peripherals and their usage (TPU, UART, PWM, CAN, watchdog?). JTAG interface.
3. ARM assembler basics. Main differences between C and Java languages from programmer's point of view. Phases of C program compilation. Introduction to C. Basic structure of a C program.
4. Pointers and their correspondence with assembler code. Arrays and strings. Scope of a variable. Functions, function calls, function parameters. Code decomposition, makefile.
5. ARM exceptions and interrupts handling in the C language, writing an interrupt handler, Atmel Advanced Interrupt Controller (AIC). Volatile-type variables, program safety.
6. Advanced C programming techniques. Inline code. C code portability. Real-time operations. Electrical and mechanical requirements on embedded systems. Reliability, safety and testing of embedded systems.

1. Introduction, how to use IDE Keil
2. LED blinking,
3. Project_2 Schodišťový automat.
4. Project_3 7- segment LED
5. Project 4 Control unit with LCD and RS232.
6. Project 5 (from 9. week.) DAQ system

Kelley A., Pohl I.: A Book on C,

[3] ARM: Cortex-M3 Devices, Generic User Guide, ARM DUI 0552A
http://infocenter.arm.com/help/topic/com.arm.doc.dui0552a/DUI0552A_cortex_m3_dgug.pdf

Rozvrh předmětu
Po
Út
St
Čt
PřednáškyCvičení