summaryrefslogtreecommitdiffstats
path: root/spec/acfg/if/idle-task-body.yml
blob: d6fa66f59ff401f653ad44ae28f74a7a1c32501c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: initializer
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
default-value: |
  If the ${disable-bsp-settings:/name} configuration option is not defined and
  ${/bsp/if/acfg-idle-task-body:/name} is provided by the
  ${/glossary/bsp:/term}, then the default value is defined by
  ${/bsp/if/acfg-idle-task-body:/name}, otherwise the default value is
  ``_CPU_Thread_Idle_body``.
description: |
  The value of this configuration option initializes the IDLE thread body.
enabled-by: true
index-entries: []
interface-type: appl-config-option
links:
- role: interface-placement
  uid: domain
- role: interface-ingroup
  uid: group-idle
- role: constraint
  uid: ../constraint/init-idle-task-body
name: CONFIGURE_IDLE_TASK_BODY
notes: |
  IDLE threads shall not block.  A blocking IDLE thread results in undefined
  system behaviour because the scheduler assume that at least one ready thread
  exists.

  IDLE threads can be used to initialize the application, see configuration
  option ${idle-task-init-appl:/name}.

  The BSP may have knowledge of the specific CPU model, system controller
  logic, and peripheral buses, so a BSP-specific IDLE task may be capable of
  turning components off to save power during extended periods of no task
  activity.
type: interface