This repository integrates theoretical insights and technical expertise to facilitate the development of multitasking, real-time embedded systems on ARM-based platforms. It targets ST STM32 patforms such as F767ZI and F413ZHT6 leveraging STM32Cube and STM32CubeIDE to generate code templates.
Communication between the workstation and the ST development node, we utilize Segger J-link and ST-Link/V2 interfaces. Further, serial communication via UART/USART is done using Hercules and/or MobaXterm terminals.
In preemptive execution contexts, addressing challenges like concurrency, shared resource management, interrupt handling, task synchronization, and inter-task communication is essential. This repository serves as a comprehensive resource, providing examples that cover many of these complex scenarios. Multitasking applications are based on FreeRTOS.
A challenge-based learning approach is applied to develop competencies. Topics include creating various types of tasks, accessing critical regions, synchronizing processes, and instrumenting input devices, among others.
Many of the solutions presented here were developed by Computer Science and Cybernetic Electronics students as part of our Operating Systems course. I appreciate their efforts, and where applicable, students’ contributions are expressly acknowledged. Great job, everyone!.
Documentation is gradually being updated. Enjoy exploring the project! Please don’t forget to give us a star and cite this repository if you use the code in your projects. Thank you!