i.MX Kinetis LPC PowerPC S32 Renesas H8/300H RX RZ SH Synergy V850 ST STM32F0 STM32F1 STM32F2 STM32F3 STM32F4 STM32F7 STM32H7 STM32L STM32U5 STM32WB Silicon Labs Gecko Giant Gecko Giant Gecko S1 Happy Gecko Jade Gecko Leopard Gecko Pearl Gecko Tiny Gecko Wonder Gecko Zero Gecko ARC ARC 600 ARC 700 ARC EM ARC HS Texas Instruments C674x C64x+ Hercules MSP430 SimpleLink MSP432 Sitara Tiva-C Xilinx Microblaze Zynq-7000 Zynq UltraScale+ History ThreadX was first introduced in 1997. ThreadX 4 was introduced in 2001. ThreadX 5 was introduced in 2005, and is the latest version . FileX – the embedded file system for ThreadX was introduced in 1999. NetX – the embedded TCP/IP networking stack for ThreadX was introduced in 2002. USBX – the embedded USB support for ThreadX was introduced in 2004. ThreadX SMP for SMP multi-core environments was introduced in 2009. ThreadX Modules was introduced in 2011. ThreadX achieved safety certifications for: TÜV IEC 61508 in 2013, and UL 60730 in 2014. GUIX – the embedded UI for ThreadX was introduced in 2014. Express Logic was purchased for an undisclosed sum by Microsoft on April 18, 2019. Technology ThreadX implements a priority-based, preemptive scheduling algorithm with a proprietary feature called preemption-threshold. The latter has been shown to provide greater granularity within critical sections, reduce context switches, and has been the subject of academic research on guaranteeing scheduling. ThreadX provides a unique construct called event chaining, where the application can register a callback function on all application programming interfaces (APIs) that can signal an external event. This helps applications chain together various public objects in ThreadX such that one thread can effectively block on multiple objects. ThreadX also provides counting semaphores, mutexes with optional priority inheritance, event flags, message queues, software timers, fixed sized block memory, and variable sized block memory. All APIs in ThreadX that block on resources also have an optional timeout. ThreadX offers multi-core processor support via either AMP or SMP. Application code isolation is available through ThreadX Modules component. Major components ThreadX RTOS components include: Embedded file system Embedded graphical user interface Embedded networking Embedded USB Safety certification Packaging Embedded file system FileX is the embedded file system for ThreadX. FileX supports FAT12, 16, 32, and exFAT formats. The latter extends FAT file sizes beyond 4 GB, which is especially useful for video files, and it requires license directly from Microsoft for use. FileX also offers fault