Department of computer engineering design automation


Student creativity – Using C ++ 20 Coroutines for Embedded Programming

2021 Kornienko Valentin (group SKSm-2020-1)
Using C ++ 20 Coroutines for Embedded Programming
The project is designed as a demonstration and experimental example of using coroutines from the latest available ISO C ++ 20 standard for working with asynchronous components in an embedded system.

Preliminary debugging and development of some of the components using the MSVC compiler for the x86 architecture was carried out. The module was tested and debugged for a solution based on NRF52832 (ARM-CortexM4). The project can be used as a teaching aid for disciplines on embedded systems programming, architectural design and construction of low-level system components, as well as disciplines related to C ++ programming.
Benefits: Leverage the latest development tools available for design, testing on multiple architectures and compilers. Solution tested using Clang, MSVC, GCC. During testing, errors were found in the compilers GCC10.1, MSVC 16.8.
Project repository on github: