Component: Thread-related options

Macro name

CYGPKG_KERNEL_THREADS

Type

Dummy

Description

There are a number of configuration options related to the implementation of threads, for example whether or not the eCos kernel supports per-thread data.

Option: Allow per-thread timers

Macro name

CYGFUN_KERNEL_THREADS_TIMER

Type

Boolean

Description

This option controls whether or not the kernel should support per-thread clock and alarm related functions. Also some of the synchronization primitives such as semaphore and condition variable timed wait operations require per-thread timer support. If none of these facilities are required then the option can be disabled.

Option: Support optional name for each thread

Macro name

CYGVAR_KERNEL_THREADS_NAME

Type

Boolean

Description

Threads may optionally be supplied with a name string that is used to identify them during debugging. This name is only present if `this option is defined. Disabling it reduces both code and data size.

Option: Keep track of all threads using a linked list

Macro name

CYGVAR_KERNEL_THREADS_LIST

Type

Boolean

Description

Threads may optionally be placed on a housekeeping list so that all threads may be located easily. This is useful mainly in conjunction with source-level debugging.

Option: Keep track of the base of each thread"s stack

Macro name

CYGFUN_KERNEL_THREADS_STACK_LIMIT

Type

Boolean

Description

This option makes the kernel keep track of the lower limit on each thread"s stack. It allows the kernel to adjust the lower limit, thus making space for per-thread data. Note that it does not imply any form of run-time stack overflow checking.

Option: Support for per-thread data

Macro name

CYGVAR_KERNEL_THREADS_DATA

Type

Boolean

Description

It is possible for the kernel to support per-thread data, in other words an area of memory specific to each thread which can be used to store data for that thread. This per-thread data can be used by applications or by other packages such as the ISO C library.

Option: Number of words of per-thread data

Macro name

CYGNUM_KERNEL_THREADS_DATA_MAX

Type

Count

Description

It is possible for the kernel to support per-thread data, in other words an area of memory specific to each thread which can be used to store data for that thread. This per-thread data can be used by applications or by other packages such as the ISO C library. This configuration option controls the number of words of per-thread data that the kernel will allow.

Option: Stack size for the idle thread

Macro name

CYGNUM_KERNEL_THREADS_IDLE_STACK_SIZE

Type

Count

Description

This configuration option specifies the stack size in bytes for the idle thread. Unless the HAL is configured to use a separate interrupt stack this size must be sufficient to meet the requirements of all interrupt handlers - these requirements are cumulative if nested interrupted are enabled. Depending on the target architecture, the stack size typically has to be a multiple of eight or sixteen bytes. This will be overridden where it is used if the architectural HAL requires a minimum stack size to handle interrupts correctly.