eCosTM Reference Manual
Prev | Chapter 17. Package: eCos kernel | Next

# 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.

Prev | Home | Next
Component: Counters and clocks | Up | Component: Synchronization primitives