1aaf508bde
This new subsystem can be used to supervise individual threads. It is based on a regularly updated kernel timer, whose ISR is never actually called in regular system operation. An existing hardware watchdog can be used as an optional fallback if the task watchdog itself gets stuck. Signed-off-by: Martin Jäger <martin@libre.solar>
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
# Software watchdog configuration
|
|
|
|
# Copyright (c) 2020 Libre Solar Technologies GmbH
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig TASK_WDT
|
|
bool "Task-level software watchdog"
|
|
select REBOOT
|
|
help
|
|
Enable task watchdog
|
|
|
|
The task watchdog allows to have individual watchdog channels
|
|
per thread, even if the hardware supports only a single watchdog.
|
|
|
|
config TASK_WDT_CHANNELS
|
|
int "Maximum number of task watchdog channels"
|
|
depends on TASK_WDT
|
|
default 5
|
|
range 2 100
|
|
help
|
|
The timeouts for each channel are stored in an array. Allocate only
|
|
the required amount of channels to reduce memory footprint.
|
|
|
|
config TASK_WDT_HW_FALLBACK
|
|
bool "Use hardware watchdog as a fallback"
|
|
depends on TASK_WDT
|
|
default y
|
|
help
|
|
This option allows to specify a hardware watchdog device in the
|
|
application that is used as an additional safety layer if the task
|
|
watchdog itself gets stuck.
|
|
|
|
config TASK_WDT_MIN_TIMEOUT
|
|
int "Minimum timeout for task watchdog (ms)"
|
|
depends on TASK_WDT_HW_FALLBACK
|
|
default 100
|
|
range 1 10000
|
|
help
|
|
The task watchdog uses a continuously restarted k_timer as its
|
|
backend. This value specifies the minimum timeout in milliseconds
|
|
among all task watchdogs used in the application.
|
|
|
|
If a hardware watchdog is configured as a fallback for the task
|
|
watchdog, its timeout is set to this value plus
|
|
TASK_WDT_HW_FALLBACK_DELAY.
|
|
|
|
config TASK_WDT_HW_FALLBACK_DELAY
|
|
int "Additional delay for hardware watchdog (ms)"
|
|
depends on TASK_WDT_HW_FALLBACK
|
|
default 20
|
|
range 1 1000
|
|
help
|
|
The timeout of the hardware watchdog fallback will be increased by
|
|
this value to provide sufficient time for corrective actions in the
|
|
callback function.
|
|
|
|
In addition to that, the delay allows to compensate deviations
|
|
between different clock sources for the hardware watchdog and the
|
|
kernel timer. This is especially important if the hardware watchdog
|
|
is clocked by an inaccurate low-speed RC oscillator.
|