Eclipse ThreadX RTOS

repository·main·Indexed 41 days ago

https://github.com/eclipse-threadx/rtos-docs

An open-source, highly efficient real-time operating system (RTOS) for deeply embedded IoT and edge devices. The platform includes the core ThreadX picokernel, NetX Duo TCP/IP stack, FileX FAT-compatible file system, GUIX graphics package, USBX USB stack, LevelX flash abstraction layer, and TraceX analysis tool.

Tokens
286K
Snippets
646
Records
948
Agent score
50%

What's inside Eclipse ThreadX

  1. Introduction to NetX Duo Secure

    main
    NetX Duo Secure is a high-performance, real-time implementation of cryptographic network security standards (including TLS/SSL) designed specifically for embedded ThreadX-based applications. It is optimized for a wide range of hardware, from small microcontrollers to powerful embedded processors, and provides configuration options to minimize the memory footprint required for secure network communications.
  2. Overview of USBX

    main

    USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack. It is designed for deeply embedded, real-time, and IoT applications with a small footprint and high performance.

    Key characteristics:

    • Integration: Fully integrated with ThreadX (RTOS), FileX (FAT-compatible file system), and NetX Duo (TCP/IP stack).
    • Scaling: Automatically scales based on the services used, minimizing configuration complexity.
    • Modes: Supports Host, Device, and OTG modes. Can run in standalone mode without an RTOS for certain classes.
    • Speed Support: Supports USB low, full, and high-speed.
    • Analysis: Supports TraceX system analysis and optional performance metrics.
  3. What is FileX?

    main

    FileX is a complete FAT format media and file management system designed for deeply embedded applications. It supports 12-, 16-, and 32-bit File Allocation Table (FAT) formats and is optimized for both size and performance.

    Key characteristics include:

    • Scalability: Supports an unlimited number of media devices, directories, and files.
    • Flexibility: Supports RAM disks, FLASH managers, and physical devices.
    • Performance: Includes features like a logical sector cache and contiguous file allocation.
    • Integration: Designed to work seamlessly with ThreadX and is endian neutral.
  4. Overview of TraceX

    main

    TraceX is a host-based analysis tool used to visualize real-time system events graphically. It allows developers to see events that are typically invisible to standard debugging tools, such as interrupts and context switches.

    Key Workflow:

    1. Data Collection: Trace information is stored in a buffer on the target system. The application determines the buffer location and size at run-time. ThreadX typically implements this as a circular buffer to ensure the most recent 'N' events are available even if a system malfunction occurs.
    2. Data Upload: The trace information is uploaded from the target memory to the host for analysis. This can be done post-mortem or upon hitting a breakpoint.
    3. Analysis: Once uploaded, TraceX acts like a 'software logic analyzer,' displaying events on a horizontal time axis against a vertical axis of threads and system routines.

    TraceX is not limited to ThreadX; it can process any buffer constructed in the proper manner from any application or RTOS.

  5. Overview of GUIX Studio

    main
    GUIX Studio is a Microsoft Windows-based rapid UI development environment designed specifically for the Eclipse Foundation's GUIX runtime library. It is intended for embedded real-time software developers working with the ThreadX RTOS and the GUIX UI run-time library. The tool allows developers to design user interfaces visually and manage application resources that are then used by the GUIX runtime in an embedded environment.
  6. Explore NetX Duo documentation and addons

    main

    NetX Duo is a TCP/IP stack for embedded systems. The documentation is organized into a core User Guide and several specialized Addons.

    Core NetX Duo User Guide

    Covers fundamental concepts, installation, functional components, services, network drivers, and technical appendices for constants, data types, and the BSD-compatible socket API.

    NetX Duo Addons

    NetX Duo provides various protocol-specific addons, including:

    • IP Configuration: AutoIP, DHCP (v4/v6 client and server), and DNS client.
    • Security: Crypto, Secure TLS, Secure DTLS, and NAT.
    • Application Protocols: FTP, HTTP (including Web HTTP/HTTPS), MQTT client, POP3 client, SMTP client, SNMP agent, Telnet, and TFTP.
    • Streaming & Real-time: RTP Sender, RTSP Server, PTP client, and Iperf.
    • Connectivity & Discovery: mDNS/DNS-SD, PPP, and BSD Services.
  7. Understand the ThreadX Demonstration System

    main

    The ThreadX demonstration system is a reference implementation provided with all ThreadX processor support packages. It is designed to illustrate how ThreadX is used in an embedded multithread environment by showcasing various system objects and thread interactions.

    Key components of the demonstration include:

    • Threads: Eight threads with varying priorities and behaviors.
    • Memory Pools: One byte pool and one block pool.
    • Synchronization/Communication: One queue, one semaphore, one mutex, and one event flags group.

    The complete implementation is contained in the file demo_threadx.c.

  8. Understand the ThreadX SMP Demonstration System

    main

    The ThreadX SMP demonstration system is a reference implementation provided with all ThreadX SMP processor support packages. It is designed to illustrate how to use ThreadX SMP in an embedded multithreaded environment.

    The system is defined in the file demo_threadx.c and includes the following components:

    • Threads: 8 threads with varying priorities.
    • Memory: 1 byte pool and 1 block pool.
    • Synchronization/Communication: 1 queue, 1 semaphore, 1 mutex, and 1 event flags group.

    Except for stack size, the demonstration application logic is identical across all supported ThreadX SMP processors.

  9. Explore GUIX documentation and resources

    main

    GUIX is a graphical user interface (GUI) solution within the Eclipse ThreadX ecosystem. Documentation is organized into three main areas:

    1. GUIX Overview & User Guide: Covers functional overviews, service descriptions, display drivers, and technical appendices (color definitions, widget styles, event descriptions, and build-time configuration).
    2. GUIX Studio: Documentation for the GUIX Studio design tool, including installation, screen design, code generation, and command-line usage.
    3. GUIX Quick Start: Specific guides for getting started with GUIX Studio.

    For source code and implementation details, visit the GUIX repository.

  10. Overview of Eclipse ThreadX components

    main

    The Eclipse ThreadX platform is a collection of run-time solutions designed for deeply embedded, IoT, and edge devices. The core components include:

    • ThreadX: An advanced Real-Time Operating System (RTOS) featuring a picokernel architecture, preemption-threshold scheduling, and advanced interrupt management.
    • NetX Duo: An industrial-grade TCP/IP network stack supporting both IPv4 and IPv6.
    • FileX: A high-performance, FAT-compatible file system designed for small footprints.
    • GUIX: A professional graphical user interface (GUI) package for embedded systems.
    • USBX: A high-performance USB host, device, and On-The-Go (OTG) stack.
    • LevelX: A flash abstraction layer used by FileX to support various physical media like NAND/NOR flash.
    • TraceX: A host-based analysis tool for visualizing real-time system events.
    • ThreadX Modules: Provides memory protection and hardware-specific security features.