General-purpose timers — Use of IXP4xx general-purpose timers

General-purpose timer 0

The IXP4xx processor HAL provides general-purpose timer 0 (OST_TIM0) to the eCos kernel for use as a real-time clock. This timer is also used for implementing the HAL_DELAY_US functionality, which is used by some device drivers, and in non-kernel configurations such as with RedBoot where this timer is needed for loading program images via X/Y-modem protocols and debugging via TCP/IP. Standalone applications which require RedBoot services, such as debugging, should avoid use of this timer.

Available timers

General-purpose timer 1 and the timestamp timer are available for application use.

System clock configuration

By default for eCos applications, the system clock interrupts once every 10ms, corresponding to a 100Hz clock. This can be changed by the configuration option CYGNUM_HAL_RTC_DENOMINATOR which corresponds to the clock frequency. Other clock-related settings are recalculated automatically if the denominator is changed. If the desired frequency cannot be expressed accurately solely with changes to CYGNUM_HAL_RTC_DENOMINATOR, then the configuration option CYGNUM_HAL_RTC_NUMERATOR may also be adjusted, and again clock-related settings will automatically be recalculated.