Name

CYGPKG_DEVICES_WATCHDOG_CORTEXM_KINETIS — eCos Support for the Kinetis on-chip Watchdog timer device (WDOG)

Description

The Freescale Kinetis processor provides a Watchdog Timer (WDOG) module. Once the watchdog timer is enabled it will automatically reset the processor unless software resets the timer within the configured period.

The package CYGPKG_DEVICES_WATCHDOG_CORTEXM_KINETIS provides an eCos driver for this device, complementing the generic package CYGPKG_IO_WATCHDOG. The functionality should be accessed via the standard eCos watchdog functions watchdog_start, watchdog_reset and watchdog_get_resolution.

The driver only supports “reset” mode.

Configuration Options

The Kinetis watchdog driver package should be loaded automatically when selecting a platform containing a Kinetis processor, and it should never be necessary to load it explicitly into the configuration. The package is inactive unless the generic watchdog support CYGPKG_IO_WATCHDOG is loaded and the watchdog explicitly started. Depending on the choice of eCos template it may be necessary to load the CYGPKG_IO_WATCHDOG package. By default the HAL startup for the Kinetis platform disables the watchdog shortly after reset, so even when the I/O watchdog package is loaded the watchdog will not trigger unless the watchdog support is explicitly started by calling watchdog_start.

The package provides four main configuration options.

CYGIMP_WATCHDOG_HARDWARE can be used to disable the use of the hardware watchdog and switch to a software emulation provided by the generic watchdog package instead. This may prove useful during debugging.

CYGNUM_DEVS_WATCHDOG_CORTEXM_KINETIS_CLK is used to select the clock source used to drive the watchdog timer module. The setting of this variable affects the minimum and maximum values that can be configured for the watchdog timeout.

CYGNUM_DEVS_WATCHDOG_CORTEXM_KINETIS_CLK_PRESCALER can further extend the maximum possible value for the watchdog timeout.

CYGNUM_DEVS_WATCHDOG_CORTEXM_KINETIS_DESIRED_TIMEOUT_US determines the timeout before the hardware watchdog resets the system. The default setting gives a 1-second timeout. The minimum and maximum timeout values are determined by the selected source clock and prescaler values. Depending on the configuration the range can extend from 9 microseconds to 4000 seconds.

Porting

The watchdog device driver does not require any platform-specific support. The only porting effort required is to list CYGPKG_DEVICES_WATCHDOG_CORTEXM_KINETIS as one of the hardware packages in the ecos.db target entry.