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