This guide provides comprehensive information about ThreadX, the Eclipse Foundation high-performance real-time kernel.
It is intended for the embedded real-time software developer. The developer should be familiar with standard real-time operating system functions and the C programming language.
Organization
Chapter 1 - Provides a basic overview of ThreadX and its relationship to real-time embedded development
Chapter 2 - Gives the basic steps to install and use ThreadX in your application right out of the box
Chapter 3 - Describes in detail the functional operation of ThreadX, the high performance real-time kernel
Chapter 4 - Details the application’s interface to ThreadX
Chapter 5 - Describes writing I/O drivers for ThreadX applications
Chapter 6 - Describes the demonstration application that is supplied with every ThreadX processor support package
Appendix A - ThreadX API
Appendix B - ThreadX constants
Appendix C - ThreadX data types
Appendix D - ASCII chart
Appendix E - ThreadX SMP MISRA C compliance
Guide Conventions
Italics - typeface denotes book titles, emphasizes important words, and indicates parameters.
Boldface - typeface denotes key words, constants, type names, user interface elements, variable names, and further emphasizes important words.
Italics and Boldface - typeface denotes file names and function names.
|
Important
|
Information symbols draw attention to important or additional information that could affect performance or function. |
|
Warning
|
Warning symbols draw attention to situations in which developers should take care to avoid because they could cause fatal errors. |
ThreadX Data Types
In addition to the custom ThreadX control structure data types, there are a series of special data types that are used in ThreadX service call interfaces. These special data types map directly to data types of the underlying C compiler. This is done to insure portability between different C compilers. The exact implementation can be found in the tx_port.h file included with the source.
The following is a list of ThreadX service call data types and their associated meanings:
| Data type | Description |
|---|---|
UINT |
Basic unsigned integer. This type must support 8-bit unsigned data; however, it is mapped to the most convenient unsigned data type. |
ULONG |
Unsigned long type. This type must support 32-bit unsigned data. |
VOID |
Almost always equivalent to the compiler’s void type. |
CHAR |
Most often a standard 8-bit character type. |
Additional data types are used within the ThreadX source. They are also located in the tx_port.h file.
Troubleshooting
For troubleshooting, be sure to collect the following information:
-
A detailed description of the problem, including frequency of occurrence and whether it can be reliably reproduced.
-
A detailed description of any changes to the application and/or ThreadX that preceded the problem.
-
The contents of the _tx_version_id string found in the tx_port.h file of your distribution. This string provides valuable information regarding your run-time environment.
-
The contents in RAM of the _tx_build_options ULONG variable. This variable gives information on how your ThreadX library was built.