Express Logic X-Ware – Industrial Grade and Most Comprehensive Solution for Deeply Embedded IoT Devices
Most Comprehensive and Complete Embedded IoT Solution: IAR
FileX, GUIX, NetX, NetX Duo, USBX, TraceX, GUIX Studio
PRE-CERTIFIED BY TUV AND UL TO MANY SAFETY STANDARDS
MOST DEPLOYED RTOS – OVER 5.4 BILLION DEPLOYMENTS!
FAST, DETERMINISTIC EXECUTION
MULTICORE SUPPORT (AMP & SMP)
FULL, HIGHEST-QUALITY SOURCE CODE
ThreadX is Express Logic’s advanced Real-Time Operating System (RTOS) designed specifically for deeply embedded, real-time, and IoT applications. ThreadX provides advanced scheduling, communication, synchronization, timer, memory management, and interrupt management facilities. In addition, ThreadX has many advanced features, including its picokernel™ architecture, preemption-threshold™ scheduling, event-chaining,™ execution profiling, performance metrics, and system event tracing. Combined with its superior ease-of-use, ThreadX is the ideal choice for the most demanding of embedded applications. As of 2016, ThreadX has over 5.4 Billion deployments, in a wide variety of products, including consumer devices, medical electronics, and industrial control equipment.
With a wide selection of add-on SW components, ported to your MCU device drivers, such as Embedded File System,
TCP/IP stack, USB and more, you can build a complete system fast and reliable.
Express Logic’s X-Ware Platform is a fully integrated set of X-Ware products, ported to a particular development board, so developers can begin work on their application immediately, and save time to market. With other RTOS and Middleware solutions, developers face time, effort, risk, and cost before they can even begin application development. Developers must not only find an RTOS that’s ported to their chosen development board, but they also must port their Middleware to that board, even if the board vendor has provided an “example” driver for the peripherals needed by each Middleware product. Typically, such example drivers are not production-ready, and they are normally not matched to a particular middleware product. The developer generally must perform the integration of the selected middleware product with the example driver. Then, the developer must assure that each ported product can operate without interference from any of the other products, and resolve any issues related to that. The result is a lot of time, cost, and delay for the project, before real application development can begin.
These capabilities and features are only available through X-Ware Platform. X-Ware Platform is unique in the industry, and ideal for IoT development.
All Major Microcontrollers & Proccessors Supported
FileX is Express Logic’s high-performance MS-DOS compatible file system. It is fully integrated with ThreadX and is available for all supported processors. Like ThreadX, FileX is designed to have a small footprint and high-performance, making it ideal for today’s deeply embedded applications that require file operations.
NetX is Express Logic’s high-performance implementation of TCP/IP protocol standards. It is fully integrated with ThreadX and is available for all supported processors. NetX has a unique Piconet™ architecture. Combined with a zero-copy API, it makes it a perfect fit for today’s deeply embedded applications that require network connectivity.
GUIX is Express Logic’s high-performance graphical user interface framework. GUIX includes a full-featured runtime UI library and a matching desktop design application named GUIX Studio. GUIX is fully integrated with ThreadX and is available for many processors supported by ThreadX. Like ThreadX, GUIX is designed to have a small footprint and high-performance,making it ideal for today’s deeply embedded applications. Designed to meet the growing need for dynamic user interfaces with limited hardware resources, GUIX uses the same design and coding methods as ThreadX. And like all Express Logic products, GUIX is distributed with full ANSI C source code, and has no run-time royalties.
USBX™ is Express Logic’s high-performance USB host, device, and On-The-Go (OTG) embedded stack. It is fully integrated with ThreadX and is available for all ThreadX supported processors. Like ThreadX, USBX is designed to have a small footprint and high-performance, making it ideal for today’s deeply embedded applications that require to interface with USB devices or be connected with a Windows/Apple/Linux desktop over USB.
TraceX™ is Express Logic’s host-based system event analysis tool. TraceX provides developers with a graphical view of real-time system events. TraceX enables embedded developers to visualize and better understand the behavior of their real-time systems.
ThreadX is delivered with complete C and assembly source code so you can see exactly how ThreadX operates. If you are used to in-house kernels or had bad experiences with “black box” commercial RTOS products, this should be most comforting.
ThreadX provides a complete set of multitasking facilities, including:
The following are highlights of the advanced technology in ThreadX:
ThreadX allows you to create system resources dynamically. There are no predetermined limits on the number of ThreadX resources you can use. Furthermore, the number of system objects does not have any impact on performance.
ThreadX’s preemption-threshold technology is a unique addition to the priority based, preemptive scheduling algorithm. Preemption-threshold allows the application to disable preemption over ranges of priorities instead of disabling preemption of the entire system. Applications can take advantage of ThreadX’s preemption-threshold to eliminate excessive context switching, un-deterministic priority inversion, and enhance responsiveness.
Another tool for battling un-deterministic priority inversion is the priority inheritance feature found in the ThreadX Mutex object.
ThreadX’s event-chaining technology allows the application to “chain together” various system objects. With the ThreadX event-chaining technology it is very easy for a single thread to block on any number and/or type of system objects. For example, it is very easy for a single thread to suspend waiting for activity on any number of queues, semaphores, etc. Hence, complex system events are much easier to manage and by using less threads – saving both space and CPU cycles.
ThreadX application timers are available in one-shot or periodic operation. ThreadX manages activation and expiration without linear searching. This greatly reduces the amount of overhead in timer-centric applications like communications and process control.
ThreadX control blocks and memory areas associated with thread stacks, message queues, and memory pools can be easily located (during run-time) in any address space on your hardware. For example, ThreadX makes it easy to boost the performance of a high-priority thread by placing its stack in a fast memory area.
ThreadX provides optional run-time performance information. This information is available on a per-object basis as well as over an entire object class. For example, if performance information is enabled for thread objects, ThreadX keeps track of thread resumptions, suspensions, preemptions, priority inversions, time-slices, timeouts, and much more for each thread and for all threads collectively. This kind of information is essential for tuning an application as well as helping debug various problems like thread starvation.
ThreadX provides optional run-time stack analysis. If enabled, the ThreadX run-time stack analysis examines thread stack parameters before the thread is scheduled, which helps avoid going off into the weeds caused by typical stack overflow situations. In addition, ThreadX run-time stack analysis keeps track of the stack usage of each thread, which can then be used to tune the thread stack requirements.
ThreadX utilizes a dedicated stack for all ISR processing, thus keeping the thread stack requirements as small as possible.
ThreadX provides an optional system trace capability. If enabled, ThreadX stores event information in a circular buffer that can be viewed with host-based viewing tools from Express Logic. The size, location, and contents of the trace are under complete application control. The application can also insert custom events into the trace buffer by simply calling an API service.
ThreadX currently supports most popular CISC, RISC, and DSP processors. Because of its portable design, ThreadX can be ported to an entirely new processor family within four weeks. Both of these facts help ensure your product’s migration path.
ThreadX currently supports most of the popular development tools on each processor supported. In addition, ThreadX kernel awareness is available for most popular debuggers, including ARM RealView, Wind River Workbench, IAR C-SPY, Freescale CodeWarrior, Lauterbach, Eclipse, Analog VisualDSP, and GHS MULTI.
With over 400 million deployments, ThreadX is industry proven and ready for your most demanding requirements.
Express Logic products are designed for ease-of-use. Everything from well thought out APIs to simple startup procedures help you get up and running in a matter of hours! This coupled with advanced debugger integration, make our products the easy choice to win the race to market.