Introduction In embedded systems, responsiveness and timing precision are often critical. When a hardware event occurs — such as a GPIO edge, UART byte received,
Tag: RTOS
Real time operating system
The Polling Pattern in Embedded Systems
Introduction In many embedded systems, it’s not always possible — or practical — to use interrupts. Some peripherals don’t provide interrupt lines, others generate events
The Debouncing Pattern in Embedded Systems
Introduction Mechanical switches, buttons, and some sensors don’t produce clean, instantaneous transitions between ON and OFF states. Instead, they generate a series of rapid, unpredictable
Zephyr vs FreeRTOS: Choosing the Right RTOS for Your Project
When it comes to real-time operating systems (RTOS) in the embedded world, Zephyr and FreeRTOS stand out as two of the most prominent options. Both
Embedded C++ Interview Questions and Answers
Contents – 13 Sections, 100 Questions Q1-Q6 C++ vs CQ7-Q15 OOPQ16-Q23 MemoryQ24-Q35 Modern C++Q36-Q41 TemplatesQ42-Q47 ISRsQ48-Q52 RTOSQ53-Q58 PatternsQ59-Q63 ConcurrencyQ64-Q70 DebugQ71-Q75 SafetyQ76-Q85 C++20Q86-Q100 Rapid Fire Welcome
FreeRTOS Interview questions
A Comprehensive Guide to RTOS Interview Questions for Embedded Systems Welcome to this detailed guide on Real-Time Operating System (RTOS) interview questions, specifically crafted for
STM32-Cube IDE-FreeRTOS Intertask Communication Part – 1
Queues Allows to pass more information between the tasks. Suspend task if tries to “put” to full queue or “get” from empty one. Semaphores are
STM32-Cube IDE-FreeRTOS Intertask Communication Part – 2
Queues Allows to pass more information between the tasks. Suspend task if tries to “put” to full queue or “get” from empty one. Semaphores are
STM32-Cube IDE-FreeRTOS Tasks
Task Tasks are implemented as C functions. The only thing special about them is their prototype, which must return void and take a void pointer
STM32-Cube IDE-FreeRTOS Memory Management
FreeRTOS uses a region of memory called Heap (into the RAM) to allocate memory for tasks, queues, timers , semaphores, mutexes and when dynamically creating