threadx Snapshot
  • Industry Leader
  • Over 5.4 Billion Deployments
  • Small-footprint
  • Fast, deterministic execution
  • Simple, easy-to-use
  • Advanced technology
  • Multicore support (AMP & SMP)
  • Memory Protection via ThreadX Modules
  • Fastest Time-To-Market
  • Royalty Free
  • Full, highest-quality source code
  • Pre-certified by TUV and UL to IEC 61508 SIL 4, IEC 62304 Class C, ISO 26262 ASIL D, UL/IEC 60730, UL/IEC 60335, UL 1998, and EN 50128 SW-SIL 4
  • MISRA-C:2004 and MISRA C:2012 Compliant
  • Supports most popular architectures
    (see below)
  • Supports most popular tools
ThreadX Architecture Support
  • ARM
    • ARM7, ARM9, ARM11
    • Cortex-M, Cortex-R, Cortex-A
    • Cortex-Axx 64-bit
  • AndesCore
  • Analog Devices
    • Blackfin BF5xx, BF6xx, BF7xx
    • SHARC
  • Cadence
    • Xtensa
    • Diamond
  • CEVA
    • TeakLite-III
  • EnSilica
    • eSi-RISC
  • NXP
    • ARM (LPC, i.MX, Kinetis)
    • 68K
    • Coldfire
    • PowerPC
  • Imagination
    • MIPS32 4Kx, 24Kx, 34Kx, 1004K
    • microAptiv, interAptiv, proAptiv
    • M-Class
  • Intel
    • ARM (Cyclone SOC, Arria 10 SOC)
    • NIOSII
    • x86PM
  • Microchip
    • ARM (SAM)
    • AVR32
    • PIC24
    • PIC32
  • Renesas
    • ARM (Synergy, RZ)
    • H8/300H
    • RX
    • SH
    • V850
  • Silicon Labs
    • EFM32
  • ST
    • STM32
  • Synopsis
    • ARC 600, 700
    • ARC EM, ARC HS
  • Texas Instruments
    • ARM (Tiva-C, Sitara, OMAP)
    • C5xx
    • C6xx
  • Xilinx
    • ARM (Zynq)
    • MicroBlaze
    • PowerPC

Wind River

ThreadX Debugging In Wind River Workbench™

ThreadX RTOS awareness is delivered and installed as a part of the Wind River Workbench™ IDE. Workbench facilitates rapid understanding of what is happening in the ThreadX application, including information about all application threads and any other application ThreadX object.

To debug a ThreadX-based system:

  • Start the Wind River Workbench
  • Choose Project>Options.
  • Select the ColdFire (or other target architecture) Debugger Settings category
  • Choose ThreadX from the Target OS support box
  • Click OK
76039ec.jpg

Introduction to Workbench ThreadX RTOS Awareness

ThreadX RTOS awareness introduces the following elements in the Workbench user interface. In the View menu, it installs a number of entries corresponding to the various types of ThreadX-specific windows that can be opened by the plugin. It installs a new menu, named ThreadX, with entries for various RTOS-specific commands, in particular thread-related stepping commands. It installs a new toolbar with buttons for commands from the ThreadX menu.

Windows

ThreadX RTOS awareness introduces seven new debugger windows. You can right-click in most of the windows to display a context menu where you can change display format (hexadecimal/decimal). If you select the Color changes command, all window updates are highlighted.

76043b0.jpg

The Thread List Window

7603a5a.jpg

This window shows a list of all threads created by the current application (by calls to tx_thread_create) and some items pertaining to their current state. The currently active thread is indicated by a state of RUNNING in the State column. The order of the threads is that of the _tx_thread_created_ptr.

You can examine a particular thread by double-clicking on the corresponding row in the window. All debugger windows (Watch, Locals, Register, Call Stack, Source, Diassembly etc) will then show the state of the program from the point of view of the thread in question. A thread selected in this way is indicated in the Thread window by a different color (for the moment, a subdued blue color).

Selecting a thread from the list will bring up the Threads window and that Thread’s registers will also be viewable from the View->Registers Window.

7603db5.jpg

Note that if a task has been selected by double-clicking, the debugger will show the state of that particular task until another task is selected, even if execution is performed by or in another task. For example, if task A is currently active (RUNNING) and you double-click on task B, which is READY, you will see information about the suspended task B. If you now perform a single-step, the active task (A) will perform a single-step, but since you are focused on task B, not much will actually visibly change.

Inspector Windows

The seven other windows display RTOS status information of various types. These windows are formatted but passive displays of various internal RTOS data structures.

Timers

760449b.jpg

Queues

760420b.jpg

Semaphores

76042e5.jpg

Mutexes

7604130.jpg

Event Flag Groups

7604065.jpg

Byte Pools

7603f7a.jpg

Block Pools

7603ea0.jpg

Thread-Specific Breakpoints

A thread-specific breakpoint can be invoked using the Workbench conditional-breakpoint feature. After setting a breakpoint, enter the View->breakpoints and enter the condtion in the right hand column, as shown below.

A thread-specific condition can be added to any breakpoint using the ThreadX symbol for the current thread or the Workbench-defined keyword "ThreadID".

wThreadID == 0xXXXXXXXX

where XXXXXXXX is the Thread Control Block (TX_THREAD) address that is displayed with the thread name.