Embedded Systems Design

Login to access the course.
Embedded Systems Design (Main course) B4B38NVS
Credits 6
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2L
Annotation
The course deals with design of embedded systems using ARM based microcontrollers.
Study targets
To teach principles od embedded systems design.
Course outlines
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.
Exercises outlines
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
Literature
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
Requirements
B4B35APO Architektura počítačů
:BAB37ZPR Základy programování
BAB36PRGA Programování v C