Course detail
Microcontrollers and Embedded Systems
FEKT-MPA-MKSAcad. year: 2020/2021
Students learn the advanced features of the C language, its use in microcontrollers programming, and the details of ARM Cortex-M architecture and peripherals of STMicroelectronics STM32 MCUs. They learn to design and program drivers for the most common peripherals such as button inputs, multiplex displays, graphic displays, shift registers, temperature sensors, etc. The course shows the procedures necessary for the design of complex applications with STM32 microcontrollers, including the topics of source code management and documentation.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
- describe main microcontroller blocks and their function
- design simple C program
- design program for setup of basic peripherals, interrupt control and separate functions and function calls
- analyze simple electronics circuits with passive parts and transistors and choose corresponding way of connecting to the microprocessor.
The subject knowledge on the Bachelor's degree level is requested.
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
2. C language: arrays, strings, struct, union, enum, bit operations, inline, volatile, naked, state machines.
3. C language: introduction to libc libraries, arm-none-eabi-gcc compiler, printf and stdout.
4. C language: specialties in libc and gcc, combination with ASM, basic libraries.
5. Source code: Doxygen, Subversion; coding style.
6. Embedded systems design principles, introduction to RTOS, cooperative RTOS.
7. ARM Cortex-M core: architecture, features, NVIC, GPIO.
8. STM32 peripherials: counter/timer (SysTick, tone generator, PWM etc.), RTC, ADC, DAC.
9. STM32 communication: UART (RS232/485), SPI, I2C, 1-wire, DMA.
10. High-level firmware development, middlewares, STM32CubeMX tool.
11. Preemptive operating system FreeRTOS, application debugging over SWD.
12. Peripherals: buttons, normal LED, multiplexed LED, rotary encoder, text display, beeper, shift registers.
13. Peripherals: graphic display (drivers, vector graphics, TV screen); motors (DC motor, bridges, stepper motor, servo, BLDC).
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
MARTIN, T. The Insider's Guide To The STM32 ARM Based Microcontroller. Hitex Ltd., UK, 2008. (EN)
Recommended reading
Classification of course in study plans
- Programme MPAJ-TEC Master's 1 year of study, winter semester, compulsory-optional