threadx Snapshot
  • Small-footprint (small as 2KB, automatic scaling)
  • Fast execution (sub microsecond context switch)
  • Supports all popular processors and tools (see below)
  • TraceX system analysis support
  • Advanced Technology:
    • Preemption-Threshold™
    • Event Chaining™
    • Performance Metrics
    • Execution Profiling
    • Run-time and Static Stack Analysis
    • Multicore Support (SMP and AMP)
    • Downloadable Application Modules
    • Memory Protection for Downloadable Application Modules
  • Extensive ThreadX ecosystem
  • Safety Certifications (DO-178B, FDA510(k), IEC61508, etc)
  • Deployed in over 1,000,000,000 devices
  • Full Source Code
  • Royalty-Free
threadx Processor Support

ARM

ThreadX for ARM

Highlights

  • Complete ARM support, including ARM7, ARM9, ARM10, ARM11, Thumb, StrongARM, Xscale, Cortex-M0/M1/M3/M4/R4/R5/A5/A8/A9
  • Complete ARM Development Tool Choices - ARM RealView, IAR Embedded Workbench, Wind River Workbench, Keil, Green Hills, Lauterbach, MetaWare, EPI, and GNU
  • Reasonable pricing
  • No Royalties
  • Complete ANSI C source code
  • Easy to use and powerful services
  • Responsive Technical Support
  • Unlimited Threads, Queues, Event Flags, Timers, Semaphores, Mutexes, Block Pools, and Byte Pools
  • Flexible memory usage
  • Timeout available on all thread suspension
  • Advanced preemption-threshold technique
  • Low-overhead Application Timers
  • Size scales automatically
  • Picokernel architecture for size and speed
  • Small footprint (as low as 4 Kbytes)
  • Fast Execution (1.7us context switch@40MHz)
  • Improve Your ARM Development

    Let our extensive experience with the ARM family of microprocessors help your product development. ThreadX, our high-performance real-time kernel, helps improve your product's quality and its time-to-market. In addition, using ThreadX makes it easier to enhance your product in the future.

    ARM Optimizations

    ThreadX optimizes context switching on the ARM. When context switching occurs inside of a ThreadX service call, only the registers preserved across function calls are saved as part of the thread's context, i.e. registers v1-v7, fp, and lr.

    A similar technique is used in interrupt handling. On the front end of interrupt service routines, only the compiler's scratch registers are saved initially (registers a1-a4). The full register set is saved only if thread preemption is required.

    Easy Mixed-Mode Programming

    ThreadX fully supports the 16-bit Thumb and Thumb-II extensions of the ARM architecture. Using ThreadX, developers can freely build their applications in Thumb and/or traditional 32-bit mode.

    Flexible FIQ Interrupt Handling

    By default, ThreadX leaves FIQ interrupts alone. This results in zero FIQ interrupt latency. However, in this configuration application FIQ processing is not allowed to call ThreadX services. ThreadX can also be configured to provide complete FIQ-support, which provides the application FIQ handler access to ThreadX services.

    Nested Interrupt Handling

    ThreadX can also be configured to support nested interrupt handling - for both IRQ and FIQ interrupt sources.

    Evaluation Board Support

    ThreadX demonstrations are available for all major evaluation platforms, including:

  • ARM7
  • ARM9
  • ARM11
  • Cortex-A8
  • Cortex-A9
  • Cortex-MO
  • Cortex-M3
  • Cortex-M4
  • Cortex-R4
  • Development Tool Choices

    ThreadX is integrated with all the major ARM development tools, including ARM RealView, IAR Embedded Workbench, Keil (for Cortex-M0/M3), Atollic TrueSTUDIO, Wind River Workbench, Green Hills MULTI,, Lauterbach, MetaWare, EPI, and GNU. Additional ThreadX-aware debugging is available with ARM RealView, IAR Embedded Workbench, Atollic TrueSTUDIO, Wind River Workbench, Lauterbach TRACE32, and Green Hills MULTI.