Subject description - B4B38NVS

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B4B38NVS Embedded Systems Design
Roles:PV, PZ, PO Extent of teaching:2P+2L
Department:13138 Language of teaching:CS
Guarantors:Fischer J., Petrucha V. Completion:Z,ZK
Lecturers:Fischer J., Petrucha V. Credits:6
Tutors:Fischer J., Novotný D., Petrucha V. Semester:Z

Web page:


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

Study targets:

To teach principles od embedded systems design.


The course deals with programming techniques suitable for small computer systems that are often used in the embedded systems. Lectures are based on the ARM processor family, its architecture and kernel philosophy. Programming techniques are explained in the C language, which is frequently used in embedded systems software development.

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 outline:

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


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


Microcontroller, microprocessor, interface, memory, programming, assembler

Subject is included into these academic programs:

Program Branch Role Recommended semester
BPSIT_2021 Common courses PV 5
BPSIT4_2021 Technologie internetu věcí PV 5
BPBIO_2018 Common courses PV 4
BPOI2_2018 Internet of Things PZ 5
BPOI2_2016 Internet of Things PO 5

Page updated 21.5.2024 15:51:25, semester: L/2023-4, Z/2024-5, Z/2023-4, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)