MAKING IoT POSSIBLE expresslogic expresslogic Express Logic, is a San Diego, CA based operated since its inception, Express Logic operates developer of real-time operating systems from its San Diego, CA headquarters, with offices (RTOS) and related products for embedded and representatives worldwide. applications. Founded in 1996, Express Logic Express Logic’s products include the popular has consistently led the industry with high-value ThreadX® real-time operating system (RTOS), NetXTM products and responsive, reliable TCP/IP stack, FileX® embedded file system, USBX™ customer support. host/device USB stack, GUIX™ embedded GUI Express Logic was founded by William E. Lamie development kit, and TraceX® graphical real-time and David L. Lamie. Self-funded and privately event trace utility. 5.4 BILLION THINGS

“We have followed the growth trajectory of ThreadX in the wireless and IoT markets since the company’s founding, and are increasingly impressed by the widespread industry adoption of ThreadX,” said Chris Rommel, Executive Vice President, VDC Research. FAST TIME TO MARKET ThreadX world-wide. Additionally, we MAKING THINGS FAST LEADER We provide the fastest, least overhead provide one of the most pre-certified ThreadX has been embedded IoT run-time solutions – this RTOS solutions - allowing you to focus the leading RTOS in is true throughout our product offering. solely on your application certification. time-to-market In addition, our complete X-Ware for the last seven Platform solution and ease-of-use helps MAKING THINGS EASY consecutive years get your IoT products to market fast! We believe in simplicity. We also per the Embedded believe in advanced technology, such Market Forecasters MAKING THINGS SMALL as -Threshold in ThreadX. (EMF) surveys! We enable designs to fit in the most Our advanced simplicity coupled with our memory constrained IoT devices, which comprehensive solution helps you get to leaves more memory for you to achieve market faster and easier than your functionality goals or to reduce the ever before. memory cost of your device. MAKING THINGS BETTER MAKING THINGS SAFE By leveraging of our core beliefs, our We provide the most field proven IoT customers are able to introduce the solution with Billions of deployments of highest-quality and most advanced IoT products in the least amount of time. IOT MARKETS SERVED

It’s no surprise that ThreadX has over 5.4 billion embedded deployments, and more deployments are on the way at a rate of over 700 million per year! ThreadX is found in high-volume IoT market areas such as consumer electronics, medical devices, and industrial automation equipment. Our website has a sampling of customer testimonials from each of these areas.

PARTNERS CONSUMER DEVICES MEDICAL DEVICES Express Logic is extremely proud to have With hundreds of million From hand-held diagnostic many industry leading partners who pro- consumer devices powered by equipment to respirators and vide technologies that complement our own Express Logic Products. Express ventilators, Express Logic products. From development tools, Logic outpaces all other suppliers products meet the needs of to communications middleware, to to consumer device development. medical device manufacturers, , and more. Express Logic’s and the requirements of FDA partners form an ecosystem that enables certification. developers to choose ThreadX-compatible, integrated, and supported products to complete their needs. SYSTEM-ON-CHIP (SOC) INDUSTRIAL Manufacturers increasingly turn AUTOMATION/AUTO to Express Logic for its small, fast Express Logic delivers and royalty-free benefits. Express cost-effective solutions for Logic enables SoC development industrial automation and with the fastest time-to-market automotive applications. and lowest possible cost.

NETWORKING (IoT) AEROSPACE/DEFENSE From wireless, hand-held devices Developers employ Express to cell phones, to DSL routers, Logic’s products because of their Express Logic’s IoT solutions are small memory footprint, ease of ideal for high-performance data use, and ease of certification for networking applications. demanding FAA application.

PRODUCT THREADX CATEGORY DEPLOYMENTS Mobile Phones 3,318,891,415 Office/Business Automation 874,186,339 Consumer Electronics 776,383,695 Retail Automation 165,543,568 REPRESENTATIVE THREADX Industrial Automation & Energy/Power 152,657,119 DEPLOYMENTS Communication & Networking 76,545,097 The table to the left shows an approximate Aerospace & Defense 18,961,967 breakdown of more than 5.4 Billion Other & General Purpose 12,660,942 deployments into categories such as wireless Automotive & Transportation 12,549,912 devices (bluetooth, baseband , WiFi), Printers, Cameras, Digital TV, and the like. Medical Devices 12,499,099 You can see the types of products most widely developed using ThreadX, and representative Total 5,420,879,153 customers who make those products. THREAD

ThreadX is a real-time operating system (RTOS) designed for embedded, real-time applications running on , microprocessors, or DSPs.

THREADX SNAPSHOT HIGH PERFORMANCE • Small-footprint (small as 2KB, automatic scaling) ThreadX delivers the highest performance found in commercial • Fast execution (sub microsecond context ) real-time operating systems, significantly faster than other RTOSes. • Supports all popular processors and tools (see below) • Fast Boot. ThreadX boots in less than 120 cycles • TraceX system analysis support • Optional Removal of basic error checking. Basic ThreadX error checking can be skipped at compile-time • Advanced technology: • Picokernel ™ Design, with services not layered on each other - Preemption-Threshold™ - Event Chaining™ • Optimized Interrupt Processing. Only scratch registers are - Performance metrics - Execution Profiling saved/restored upon ISR entry/exit, unless preemption is - Run-time and Stack Analysis - Multicore support necessary. (SMP and AMP) - ThreadX Modules with optional • Fast Interrupt Response Time, Fast Context Switching, Memory Protection Low RTOS Service Overhead • Extensive ThreadX ecosystem • Compliant with all required and mandatory rules of THREADX SERVICE THREADX TYPICAL SERVICE TIME SERVICE SIZE IN MISRA C:2004 and MISRA-C:2012 BYTES • Extensive TUV and UL safety per-certification Thread 0.6us Core Services 2,000 • Safety-critical Certification Pack™ Suspend (required) • Over 5.4 Billion deployments Thread Resume 0.6us Queue Services 900 • Full Source Code Queue Send 0.3us Event Flag 900 Services • Royalty-Free Queue Receive 0.3us Semaphore 450 Get Semaphore 0.2us FAST TIME TO MARKET Services Put Semaphore 0.2us ThreadX is easy to install, learn, use, debug, verify, certify and Mutex Services 1,200 Context Switch 0.4us maintain. In fact, ThreadX has been the leading RTOS in Block Memory 550 time-to-market for the last seven consecutive years per the Services EMF surveys. The following are some reasons for our consistent Interrupt 0.0us- Response 0.6us Byte Memory 900 time-to-market advantage: Services 1. Source Code Availability - including kernel Based on 200MHz 2. Easy-to-use API - speeds programming and minimizes errors 3. Quickly Migrate Legacy Code - POSIX, ulTRON, OSEK APIs THREADX MODULES ™ 4. Broad 3rd Party Tools Integration - IAR Embedded Workbench , ThreadX enables one or more application threads to be bundled ® ® GNU, ARM DS-5/uVision , Green Hills MULTI , Wind River Work- into a “Module” that can be dynamically loaded and run on the ™ bench , Imagination Codescape, Renesas e2studio, Metaware target. Modules enable field upgrade, bug fixing, and program ™ SeeCode , NXP CodeWarrior, Lauterbach TRACE32®, TI Code- partitioning to allow large applications to occupy only the memory Composer Studio, Analog Devices CrossCore needed by active threads.

LOW COST THREADX MODULES WITH ThreadX is licensed royalty-free, for the lowest possible MEMORY PROTECTION manufacturing cost. ThreadX is Field Proven, lowering support ThreadX enables application threads and the ThreadX kernel to costs. Proven reliability in over 5.4 billion deployments dramatically be protected against accidental read or write access from other lowers support costs. threads. This prevents code or data corruption from latent application bugs, and eliminates one of the most common SMALL SIZE causes of application crashes. Even the most demanding memory size constraints imaginable. Only those services used by the application are linked into the final image.

MAKING THINGS FAST. THREADX CERTIFICATIONS EXECUTION PROFILE KIT ThreadX has been certified by SGS-TUV Saar for use in The ThreadX Execution Profile Kit (EPK) provides an infrastructure safety-critical systems, according to IEC-61508 SIL 4, IEC-62304 SW for applications to dynamically track execution time for threads, Safety Class C, ISO 26262 ASIL D and EN 50128. The certification Interrupt Service Routines (ISRs), and idle system conditions. This confirms that ThreadX can be used in the development of is especially useful for debugging and tuning the application for safety-related software for the highest safety integrity levels of maximum performance. IEC-61508, IEC-62304, ISO 26262 and EN 50128 for Interrupt the “Functional Safety of electrical, electronic, and Thread-1 programmable electronic safety-related systems.” SGS-TUV Saar, formed through a joint venture of Germany’s Thread-2 SGS-Group and TUV Saarland, has become the leading accredited, independent company for testing, auditing, verifying and certifying Thread-3 embedded software for safety-related systems worldwide. The industrial safety standard IEC 61508, and all standards that are Thread-4 derived from it, including IEC-62304, ISO 26262 and EN 50128, are used to assure the functional safety of electrical, electronic, and programmable electronic safety-related medical devices, IDLE control systems, industrial machinery, automobiles and railway control systems. 10% 20% 30% 40% 50% ThreadX® has been recognized by UL for compliance with UL 60730-1 Annex H, CSA E60730-1 Annex H, IEC 60730-1 Annex H, UL 60335-1 Annex R, IEC 60335-1 Annex R, and UL 1998 safety ADVANCED TECHNOLOGY standards for software in programmable components. UL is a ThreadX provides thread-management services with advanced global, independent, safety-science company with more than a technology for low overhead and ease of use. century of expertise innovating safety solutions, ranging from the • Complete Multitasking Facilities public adoption of electricity to breakthroughs in sustainability, – Threads, Application Timers, Message Queues, Counting renewable energy, and nanotechnology. Semaphores, Mutexes, Event Flags, Block and Byte Memory Pools BROAD SUPPORT • Priority-based preemptive scheduling ThreadX runs on most popular 32/64-bit microprocessors, • Preemption-threshold™ - Unique to ThreadX, helps reduce out-of-the-box, fully tested and fully supported: context and help guarantee schedulability. • Deterministic Advanced Architectures: • Event Trace - Capture last “n” system/application events Analog Devices: SHARC, Blackfin NXP: LPC, ARM7, ARM9, PowerPC, 68K, i.MX, ColdFire, • Event Chaining™ - Register an application-specific “notify” callback ARM: ARM7, ARM9, ARM11, function for each ThreadX communication or synchronization Kinetis Cortex-M3/M4 Cortex-M0/M3/M4/M7 object A5/A7/A8/A9/A52/A53/A57/R4/R5 Renesas: SH, H8, , RX, • ThreadX Modules with optional Memory Protection RZ, Synergy Cadence: Xtensa, Diamond • Run-Time Performance Metrics CEVA: CEVA-TeakLite-III Synopsys: ARC 600, 700, ARC – Number of thread resumptions EM, ARC HS – Number of thread suspensions EnergyMicro: EFM32 ST: STM32, ARM7, ARM9, – Number of solicited thread preemptions EnSilica: eSi-RISC Cortex-M3/M4/M7 – Number of asynchronous thread interrupt preemptions Imagination: MIPS32 4K, – Number of thread priority inversions TI: C5xxx, C6xxx, Stellaris, 24K, 34K, 1004K, MIPS64 5K, – Number of thread relinquishes Sitara, Tiva-C microAptiv, interAptiv, proAptiv, – And more M-Class Xilinx: MicroBlaze, • Execution Profile Kit (EPK) PowerPC405, Zynq Intel: /Pentium, XScale, • Separate Interrupt Stack NIOS II, Cyclone • Run-time Stack Analysis Microchip: AVR32, ARM7, ARM9,- • Optimized Timer Interrupt Processing Cortex-M3/M4/M7, SAM3/4/7/9/ • Priority Flexibility - Up to 1024 priority levels A/C/D/E/G/L/SV, PIC24/PIC32

expresslogic NET

NetX and NetX Duo are Express Logic’s high-performance IPv4 and dual-stack IPv4/ IPv6 implementations of TCP/IP protocol standards. Aside from NetX Duo’s IPv6 support, both products are equivalent, and we use “NetX” here to refer to both.

NETX SNAPSHOT NETX PROTOCOL COMPONENTS • Small-footprint (small as 5KB, automatic scaling) NetX provides a complete set of protocol components that • Fast execution (achieve wire speed, no packet copying) comprise the TCP/IP standard, including the following: • Supports all popular processors and tools • Transmission Control Protocol (TCP) • Phase-II IPv6 Ready Logo Certification • Protocol (IP) • User Datagram Protocol (UDP) • TraceX system analysis support • Address Resolution Protocol (ARP) • IXIA IxANVL RFC compliance testing • Reverse Address Resolution Protocol (RARP) • BSD-compatible socket layer • Internet Control Message Protocol (ICMP) • Advanced Features: • Internet Group Management Protocol (IGMP) - UDP Fast-Path Technology™ - Flexible packet management ZERO-COPY API - Additional protocols: AutoIP, DHCP, DNS, mDNS, DNS-SD, NetX provides zero-copy TCP/IP communication to eliminate FTP HTTP, IPSec, NAT, POP3, PPP, SMTP, SNMP v1/2/3, processor cycles consumed by moving data to and from user SNTP, Telnet, TFTP buffers. Many commercial network stacks process all packets received within a system thread thereby adding a context switch. • Full Source Code • Royalty-Free NETX DUO PHASE-II IPV6 READY SMALL FOOTPRINT LOGO CERTIFICATION NetX Duo has achieved IPv6-Ready Logo certification, evidence NetX is implemented as a C library. Only the features used by the that it has passed conformance and interoperability tests, application are brought into the final image. The minimal footprint administered and validated by the IPv6 Forum. There are two of NetX is as small as 5KB. phases of testing, Phase-I and Phase-II. Phase-II is much more PICONET™ ARCHITECTURE rigorous and extensive, and is a superset of Phase-I. Many TCP/IP implementations have a considerable number of IPsec function calls sprinkled throughout the path. The NetX Duo (optionally) incorporates IPsec (Internet Protocol elimination of layered function calls and loosely coupled protocol Security), a protocol suite for securing Internet Protocol (IP) components is what we call a piconet architecture. communications by authenticating and encrypting each IP packet FAST RESPONSE of a communication session. IPsec also includes protocols for establishing mutual authentication between agents at the beginning With its non-layering Piconet™ architecture and zero-copy API, of the session and negotiation of cryptographic keys to be used during NetX’s packet processing speed is second to none. NetX typically the session. IPsec protects any application traffic across an IP network. achieves near wire speed performance on devices running at less Applications do not need to be specifically designed to use IPsec. than 100MHz, while using less than 20% of the processor.

This single SPE, we operated the protocol stack NetX, EASY TO USE developed for embedded applications, and the The NetX API is both intuitive and highly functional. Component microkernel ThreadX required for its operation. names are made of real words and not the “alphabet soup” names Both were manufactured by Express Logic. that are common to other TCP/IP products. As a result, we achieved a TCP performance of 8.5 Gbps for FLEXIBLE PACKET POOL MANAGEMENT 3-KB packet sizes using a single SPE operating at 3.2 GHz. The application may create any number of packet pools in any This result indicates a competitive network protocol number of memory areas. processing performance, considering that we employed a processor designed for a variety of computational UDP FAST PATH™ TECHNOLOGY applications rather than a dedicated network processor, Basic UDP packets pass through NetX without any systems context and demonstrates the potential of the application of SPEs in switches. this field.”

Network Processing on an SPE Core in Cell Broadband Engine™, Sony Corporation, 16th IEEE Symposium on High Performance Interconnects. http://www.hoti.org/archive/2008papers/2008_S4_3.pdf MAKING THINGS SMALL. FILE

FileX is Express Logic’s high-performance FAT- 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.

FILEX SNAPSHOT ADVANCED FEATURES • Small-footprint (small as 6KB, automatic scaling) FileX provides many advanced features for embedded file • Fast execution (user configurable sector caches) applications, including the following: • Supports all popular processors and tools • Fault tolerance • TraceX system analysis support • FAT 12/16/32-bit and exFAT support • Full Source Code • NAND & NOR FLASH wear leveling (via LevelX) • Royalty-Free • Long filename support • Internal FAT entry SMALL FOOTPRINT • Contiguous file allocation FileX is implemented as a C library. Only the features used by the • Consecutive sector and cluster read/write application are brought into the final image. The minimal footprint of FileX is as small as 6KB on CISC processors. • Internal logical sector cache FileX supports an unlimited number of media devices at the same FAST RESPONSE time, including RAM disks, FLASH managers, and actual physical FileX has minimal function call layering, an internal logical sector devices. It also supports 12-, 16-, and 32-bit File Allocation Table cache, contiguous cluster allocation, and consecutive cluster (FAT) formats, contiguous file allocation, and it is highly optimized reading and writing . All of these attributes make FileX for both size and performance. Designed to meet the growing need extremely fast! for FLASH devices, FileX uses the same design and coding methods as ThreadX. Like all Express Logic products, FileX is distributed with EASY TO USE full ANSI C source code, and it has no run-time royalties. FileX is very easy to use. The FileX API is both intuitive and highly functional. In addition, the service names are made of real words PRODUCT HIGHLIGHTS and not the “alphabet soup” names that are common to other file • No royalties system products. Building a FileX application is also easy. Simply • Complete ANSI C source code include the fx_api.h file in the application software and link the • Real-time performance application objects with the FileX library. • Responsive technical support EASY TO INTEGRATE • Unlimited FileX objects (media, directories, and files) FileX is easily integrated with virtually any FLASH or physical • Dynamic FileX object creation/deletion media device. • Flexible memory usage NO MYSTERIES • Size scales automatically FileX is delivered with complete C source code so you can see • Small footprint (as low as 6 KBytes) instruction area size: 6-30K exactly how it operates. If you are used to in-house file systems or • Complete integration with ThreadX had bad experiences with “black box” commercial products, this • Endian neutral should be most comforting. • Easy-to-implement FileX I/O drivers • RAM disk demonstration runs out-of-the-box • Media format capability • Error detection and recovery • Fault tolerant options • Built-in performance statistics

expresslogic USB

USBX is Express Logic’s high-performance embedded USB host/device/OTG 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 interface with USB devices or are connected with a Windows/Apple/Linux desktop over USB.

USB SNAPSHOT Complete USB Device Framework Support • Small-footprint USBX can support the most demanding USB devices, with multiple • Fast execution configurations, multiple interfaces, and multiple alternate settings. • Supports all popular processors and tools MAJOR FEATURES • Passed USB-IF USBCV Test • Host/Device/Combined Operation • Passed OTG Protocol Test (OPT) • USB low speed, full speed and high speed are supported • TraceX system analysis support • Supports all popular processors and tools • Host, Device, and OTG support • Supports many USB host/device controllers in discrete or IP form • Extensive Device Class support: CDC/ACM, CDC/ECM, DFU, integrated with a SOC including Synopsys, Philips, Mentor, TI, HID, PIMA, RNDIS, STORAGE Altera, ST, NXP, Renesas, Microchip, and ADI Blackfin • Extensive Host Class support: ASIX, AUDIO, CDC/ACM, GSER, HID, • Supports many standard USB class drivers including Mass HUB, PIMA, PRINTER, PROLIFIC, STORAGE Storage, Printer, HID, Asix, Audio, Hub, RNDIS, CDC, Pima 15740 • Full Source Code and Pictbridge • Royalty-Free • Integrated with Express Logic components (FileX and NetX) USBX supports the two existing USB specifications: 1.1 and 2.0. SMALL FOOTPRINT It is designed to be scalable and will accommodate simple USB USBX is implemented as a C library. Only the features used by the topologies with only one connected device as well as complex application are brought into the final image. The minimal footprint topologies with multiple devices and cascading hubs. USBX of USBX Device is under 10KB. supports all the data transfer types of the USB protocols: control, bulk, interrupt, and isochronous. USBX supports both the host side EASY TO USE and the device side. Each side is comprised of three layers: USBX is very easy to use. The USB API is both intuitive and highly • Controller layer functional. In addition, the service names are made of real words • Stack layer and not the “alphabet soup” names that are common to other USB • Class layer products. Building a USBX application is also easy. Simply include the ux_api.h file in the application software and link the application objects with the USBX library. USBX HOST MODE USBX in host mode is used when the application requires POWERFUL SERVICES OF USBX communication with USB devices such as a USB keyboard, a USB printer or USB Flash disk. Multiple Host Controller Support USBX can support multiple USB host controllers running USBX DEVICE MODE concurrently. This feature allows USBX to support the USB 2.0 stan- USBX in device mode is used when the application requires dard using the backward compatibility scheme associated communication with a Windows/Apple/Linux desktop. In this case with most USB 2.0 host controllers on the market today. the embedded device is considered to be a USB device or slave. USB Software Scheduler USBX contains a USB software scheduler necessary to support USB controllers that do not have hardware list processing. The USBX software scheduler will organize USB transfers with the correct frequency of service and priority, and instruct the USB controller to execute each transfer.

MAKING THINGS SAFE. GUI

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. Designed to meet the growing need for dynamic user interfaces with limited hardware resources.

GUIX SNAPSHOT • Small-footprint (small as 6 KB, automatic scaling) • Complete windowing support, including multiple screens with EASY TO INTEGRATE varying sizes and color formats, multiple canvases, window GUIX is easily integrated with virtually any display technology. In blending and fading, sprites, and dynamic animations addition, Express Logic offers engineering services to create custom • Fast execution (optimized clipping, drawing, and event handling) display drivers for GUIX. • Comprehensive set of built-in widgets and controls • Supports monochrome through 32-bit true-color with alpha NO MYSTERIES graphics formats GUIX is delivered with complete C source code so you can see exactly how it operates. If you are used to in-house user interface • Support for hardware assisted graphics acceleration and multiple products or have had bad experiences with “black box” commercial hardware graphics planes products, this should be most comforting. • GUIX Studio – Desktop user interface design tool • Full Source Code CREATE ELEGANT USER INTERFACES • Royalty-Free GUIX provides all the features necessary to create the most elegant user interfaces. The standard GUIX package includes various SMALL FOOTPRINT sample user interfaces, including the medical device demonstration GUIX is implemented as a C library. Only the features used by the shown here. application are brought into the final image. The minimal footprint of GUIX is as small as 6KB on most processors. GUIX STUDIO GUIX Studio enables developers to prototype their designs on a PC, FAST EXECUTION without any programming at all. GUIX Studio provides a complete GUIX has minimal function call layering, and optimized clipping, WYSIWYG screen design environment which allows the user to drawing, and event handling. All of these attributes make GUIX drag-and-drop graphical elements used to build the UI screens. extremely fast! GUIX Studio automatically generates C code compatible with the GUIX library, ready to be compiled and run on the target. EASY TO USE GUIX is very easy to use. The GUIX API is both intuitive and highly functional, In addition, the GUIX Studio application makes GUI design programming-free, with WYSIWYG operation and automatic code generation.

expresslogic GUI STUDIO GUIX Studio is a Microsoft Windows-based, WYSIWYG rapid UI development tool specifically designed by Express Logic to accompany its GUIX target GUI development framework. Embedded UI Developers can utilize GUIX Studio to quickly create and update embedded UI designs for MCU and MPU-based target systems. GUIX and GUIX Studio combine to make the development of modern embedded graphical user interfaces easy. Colors GUIX STUDIO HIGHLIGHTS Color resources consist of one or more colors, each with a unique • Windows-based prototyping and development of embedded GUIs logical name. For example, in the figure below, the logical name • WYSIWYG intuitive design functionality CANVAS is associated with the physical color black. This color • Automatic code generation ready for use in target project, or as resource is used whenever the application specifies CANVAS as the stand-alone Windows executable color in the object properties. • Object creation, editing, cut, copy, and paste operations Modifying a color resource is easy, simply double-click (or right-click and menu select) on the color resource. From this dialog the color • Fully supports multi-lingual applications resource can be modified to match the application’s UI needs. • Flexible color palette selection and extension Fonts • Management of all UI resources the application will use for colors, fonts, pixelmaps and strings GUIX Studio can utilize any TrueType font the user system offers. Fonts can be added at any time, and easily modified, simply by • Support for up to 4 displays per project. Multiple displays can be double-clicking (or right-click and menu select) on the font of different resolution, color depth, and orientation resource. From this dialog the font resource can be modified to • Support for designs with up to 100,000 widgets. This enables the match the application’s UI needs. creation of GUIs that range from very simple to extremely complex, to meet a variety of application needs Text Strings • Supports up to 100,000 distinct resources, e.g., colors, fonts, Text strings can be created and modified to match the application’s pixelmaps, strings, etc., giving the designer a vast set of tools UI needs. The GUIX Studio String Table Editor gives developers a with which to craft the most effective and user-friendly interface convenient method to define strings in any number of languages. possible The developer can add notes to each string to assist language translators in providing meaningful translations. String data can be TARGET VIEW exported or imported using industry standard XLIFF language data The Target View is the WYSWYG screen design and layout area for exchange format. a GUIX Studio embedded user interface. It is the “canvas” on which Multiple Language Support the GUI is designed. Objects can be selected, moved, resized, etc. Each string can be configured with multiple language versions, via simple, intuitive mouse operations. In addition, alignment and enabling easy language selection for the entire GUI. The GUIX string Z-order button operations are available in the Target View. and language management component supports up 280 distinct Properties simultaneous languages. The developer can create the UI applica- Selecting an object in the Target View will result in the properties tion using his or her familiar language during and after completion. for that object being displayed in the Properties View panel. The Properties View shows detailed information for the selected object. GUIX STUDIO GENERATED CODE GUIX Studio produces ANSI C source files for use in an embedded Widgets project. These files contain the application resources and Widgets are the building blocks of the UI, and include objects such data structures for your designed screens. GUIX Studio also as windows, buttons, and prompts. Widgets can be added to a generates the functions that utilize the generated data structures blank canvas, or as children of other widgets. The “Insert” menu to dynamically create your application GUI. The user’s embedded enables selection and creation of various widget types, including: application code makes references to the code generated by GUIX • Windows • Text Strings • Buttons • Containers • Indicators Studio. The GUIX Studio generated code enables custom widget drawing, event handling, and memory allocation functions to be defined in the user’s embedded application code.

MAKING THINGS EASY. TRACE

TraceX is Express Logic’s host-based analysis tool that provides developers with a graphical view of real-time system events and enables them to visualize and better understand the behavior of their real-time systems.

TRACEX SNAPSHOT • Visual system analysis tool for applications using ThreadX, NetX, FileX, and USBX • Extensive event search and navigation facilities • Easily measure delta time between events • Zoom in-out • Sequential and Time display modes • Automatically detect priority inversions • Easily add custom user events • Built-in performance analysis • Execution profile, including Idle and ISR time • Thread stack usage profile • Performance statistics (context-switches, etc.) • FileX statistics (file read/writes, etc.) • NetX statistics (packets sent/received, etc.) SEQUENTIAL MODE • Multicore Support TraceX can operate in Sequential Mode or Time Mode. • Runs on any Windows host In Sequential Mode, all events are displayed back-to-back, regardless of the time between them. This enables developers • No license keys to see all system events, in correct sequence, compressing time TRACE DATA COLLECTED BY THREADX RTOS into the smallest possible area. TraceX is designed to work with Express Logic’s ThreadX RTOS, TIME MODE which constructs a database of system and application “events” In Time Mode, events are separated along the horizontal axis, on the target system during run-time. These events include: according to their real-time occurrence. A time scale appears at the • Thread context switches top to indicate the number of clock ticks between events, and the • Preemptions clock tick duration of each thread’s run-time. • Suspensions TRACEX IS LIKE A SOFTWARE LOGIC • Terminations ANALYZER • System interrupts Once the event log has been uploaded from target memory to the • Application-specific events host, TraceX displays the events graphically on a horizontal axis • All ThreadX API calls representing time, with the various application threads and system Events are logged under program control, with time-stamping and routines to which the events are related listed along the vertical active thread identification so they can be displayed later in the axis. TraceX creates a “software logic analyzer” on the host, making proper time sequence, and associated with the appropriate thread. system events plainly visible. Events are represented by color Event logging may be stopped and restarted by the application coded icons, located at the point of occurrence along the program dynamically, for example, when an area of interest is horizontal timeline, to the right of the relevant thread or system encountered. routine. When an event icon is selected, the corresponding information for that event is displayed. This provides quick, TARGET-RESIDENT BUFFER HOLDS EVENT LOG single-click access to the most immediate information about the event and its immediately surrounding events. TraceX provides INFORMATION a “Summary” display that shows all system events on a single Trace information is stored in a circular buffer on the target system, horizontal line to simplify analysis of systems with many threads. with the buffer location and size determined by the application at run-time. The trace information may be uploaded to the host for analysis at any time – either post-mortem or upon a breakpoint.

expresslogic expresslogic www.rtos.com

11423 West Bernardo Court San Diego, CA 92127 [email protected] 888.THREADX 858.613.6640 tel 858.613.6646 fax

United Kingdom: Express Logic (UK) Ltd 4b Empire Court Albert Street Redditch, Worcs. B97 4DA UK Tel: +44 (0) 1527 597007 Fax: +44 (0) 1527 597701 Contact: Marcus Gibson [email protected] www.expresslogic.com

Germany: Express Logic GmbH Hanover Office: Meissendorfer Kirchweg 20 D-29308 Winsen Germany Tel: +49 5143 911-303 Fax: +49 5143 911-305 Contact: Udo Nuelle [email protected]

Munich Office: Express Logic GmbH Eichbaumstr. 80 D-85635 Siegertsbrunn Germany Tel: +49 8102 784-5865 Fax: +49 8102 784-5866 Contact: Wolfgang Erhart © 2016 Express Logic [email protected] ThreadX, FileX, and TraceX are registered trademarks, and LevelX, NetX, NetX Duo, USBX, GUIX, picokernel, Piconet, UDP Fast Path, Event Chaining, and Preemption-Threshold are trademarks of Express Logic. All other trademarks are the property of their respective owners.