- Class 15
- Practice 30
- Independent work 105
Embedded platforms and OS
Lecturers and associates
This module introduces students to the fundamentals of embedded computing, platforms and real time operating systems and how to write programs for them.
This module is designed for students to learn about the specifics of reliable, embedded, constrained and industrial platforms and applications.
During this module students will learn skills and knowledge necessary to successfully take Sensors and Actuators module in the next semester. Skills learnt in this module will contribute significantly to students’ development as professionals in respecting fields.
Students will learn:
• About different approaches to computing, where concepts such as reliability, determinism, energy efficiency, constrained resource utilization etc. are of highest importance.
• About different microcontroller architectures and their peripheries (GPIO, ADC, DAC, I2C, SPI, UART etc.)
• About microcontroller programming specifics (Timers, Interrupts, WDT, DMA etc.)
• How to use real time operating systems (RTOS).
• How to solve common programming tasks on embedded platform and real time operating system.
The module is taught in C++ programming language. The module assessment is based on solving a series of smaller embedded practical tasks in the defined programming language and software development tool and individual student projects. In these projects, students are asked to create an embedded solution to the given specifications.
1. Lacamera, D. (2018) Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems. Birmingham: Packt Publishing.
2. Ibrahim, D. (2020) ARM-Based Microcontroller Multitasking Projects: Using the FreeRTOS Multitasking Kernel. London: Newnes.
1. Barry, R. (2010) Using the FreeRTOS Real Time Kernel. Bristol: Real Time Engineers Ltd.
2. Abbott, D. (2017) Linux for Embedded and Real-time Applications. 4th edn. London: Newnes.
Minimal learning outcomes
- Recommend the use of additional memory for embedded computers.
- Choose the price, features and availability of the optimal embedded computer for a given purpose.
- Create your own embedded computer software solution to manage the given system.
- Recommend the optimal way to use the resources of the embedded computer for real-time work.
- Use interrupt mechanisms of embedded computers.
- Create own embedded computer software solution for real-time operation.
Preferred learning outcomes
- Recommend the use of additional components for embedded computers.
- Choose the price, features and availability of the optimal embedded computer for a given purpose, with regard to power consumption.
- Create own embedded computer software solution to manage the given complex system.
- Recommend the optimal way to use the resources of the embedded computer for real-time work, with regard to power consumption.
- Use interrupt mechanisms of embedded computers in solving complex tasks.
- Create own embedded computer software solution for complex real-time operation.