TI C2000 Real-Time Microcontroller: Control, Sensing, and Communication TI Dual-core TMS320F28375D Core Board V1.3 TMS320F28375D Core Board V1.3 GPIO and Peripheral Muxing Comparison between LAUNCHXL-F28377S/F28379D and Core Board V1.3 TI Dual-core TMS320F28375D Core Board V1.3 Dimension: 55 mm x 55 mm CPUs: 2× C28x (200 MHz each) CLAs: 2× Control Law Accelerator (200 MHz each)…
STM32 Zephyr: Hardware Description with Devicetree
Work in Progress Back to top of the page
STM32 Zephyr: Application Configuration with Kconfig
Work in Progress Back to top of the page
TI C2000 C28x Microcontroller with FreeRTOS
STM32 Microcontroller and FreeRTOS Development FreeRTOS on TI C2000 C28x vs. STM32 MCUs Stack Differences FreeRTOS Data Type Mapping for TI C2000 C28x MCU Heap and Memory Differences Interrupt Model Example: FreeRTOS Demo for F28377S Coreboard V1.3 FreeRTOS on TI C2000 C28x vs. STM32 MCUs Stack Differences On TI C2000, FreeRTOS-allocated memory begins on a…
Light Weight Internet Protocol (LwIP)
Embedded Communication Interfaces Protocols of the LwIP Stack Protocol Files of LwIP Stack Ethernet Controller Interface Buffer Management Types of pbufs APIs for Managing pbufs Protocols of the LwIP Stack IPv4 and IPv6 (Internet Protocol v4 and v6) TCP (Transmission Control Protocol) UDP (User Datagram Protocol) DNS (Domain Name Server) SNMP (Simple Network Management Protocol)…
STM32 Zephyr: Introduction to Zephyr
Work in Progress STM32 Microcontroller and Zephyr RTOS Development Zephyr is an open-source, scalable, and secure real-time operating system (RTOS) designed for modern embedded and connected devices. It supports a wide range of hardware platforms, from small resource-constrained microcontrollers to more capable edge-computing systems. Kernel: It manages threads, scheduling, interrupts, synchronization, timing, and other system…
STM32 FreeRTOS: Heap Management
STM32 Microcontroller and FreeRTOS Development FreeRTOS Heap Implementation Compared Memory Fragmentation Process heap_1.c heap_1.c is the simplest FreeRTOS heap implementation and provides dynamic memory allocation through pvPortMalloc(). It manages a statically allocated heap defined by configTOTAL_HEAP_SIZE and allocates memory sequentially from the beginning of this heap. Once memory is allocated, it cannot be returned to…
STM32 FreeRTOS: Hook Functions and Tickless Idle
STM32 Microcontroller and FreeRTOS Development vApplicationIdleHook() The idle task hook is a user-defined callback function that FreeRTOS executes repeatedly whenever no other task is ready to run. It is implemented as vApplicationIdleHook() and enabled by setting configUSE_IDLE_HOOK to 1 in FreeRTOSConfig.h. The hook can be used for low-priority background operations, such as entering a low-power…
STM32 FreeRTOS: Task Notifications
STM32 Microcontroller and FreeRTOS Development Task notifications enable direct communication between tasks without requiring separate kernel objects such as queues, semaphores, or event groups. Pending: When a task receives a notification, its notification state is set to pending. Not pending: When the task processes the notification, its notification state is cleared to not pending. Advantages:…
FreeRTOS vs. Zephyr RTOS
FreeRTOS is a lightweight, production-proven real-time kernel maintained by AWS under the MIT license. Built for resource-constrained microcontrollers, it delivers deterministic task scheduling, queues, semaphores, mutexes, and memory management with minimal flash and RAM usage. Its modular, vendor-neutral design integrates easily with custom toolchains, hardware platforms, and abstraction layers, making it a strong choice for…
STM32 FreeRTOS: Event Groups
STM32 Microcontroller and FreeRTOS Development Event Groups Event groups allow a task to wait in the blocked state for a combination of one of more events to occur. Event groups unblock all the tasks that were waiting for the same event, or combination of events, when the event occurs. Event groups reduce RAM usage by…