UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Programming Embedded Systems

The course is not on the list Without time-table
Code Completion Credits Range Language
AD7B35PES Z,ZK 6 14KP+6KC Czech
Garant předmětu:
Department of Control Engineering

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.



The lectures and practical exercises suppose only knowledge gained from Y36PJV and Y36SAP courses in 1st year of this study program.

Syllabus of lectures:

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.

Syllabus of tutorials:

1.Familiarization with development tool chain, making and running a simple program

2.I/O ports

3.Timers and PWM

4.UART communication

5.I2C bus

6.A/D converter

7.Dallas 1-wire bus

8.Test (simple program)


10.Individual lab work (semester work)

11.Individual lab work (semester work)

12.Individual lab work (semester work)

13.Individual lab work (semester work)

14.Semester work evaluation, finish

Study Objective:
Study materials:

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

Benjamin Cummings

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-05-29
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet1393606.html