diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-07-25 07:36:09 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-07-25 07:36:09 +0200 |
commit | 6692946100096d567b695f035e128ddcb09ffa4a (patch) | |
tree | c11f26bf28df6cddd2da48d6611919f282643d00 /c-user | |
parent | user/bsps/imxrt: Add new BSP variant (diff) | |
download | rtems-docs-6692946100096d567b695f035e128ddcb09ffa4a.tar.bz2 |
c-user: Link task entry and global construction
Diffstat (limited to 'c-user')
-rw-r--r-- | c-user/config/classic-init-task.rst | 5 | ||||
-rw-r--r-- | c-user/config/idle-task.rst | 5 | ||||
-rw-r--r-- | c-user/config/posix-init-thread.rst | 5 | ||||
-rw-r--r-- | c-user/glossary.rst | 13 | ||||
-rw-r--r-- | c-user/rtems_data_types.rst | 2 | ||||
-rw-r--r-- | c-user/task/directives.rst | 6 |
6 files changed, 29 insertions, 7 deletions
diff --git a/c-user/config/classic-init-task.rst b/c-user/config/classic-init-task.rst index a104008..f65bb8a 100644 --- a/c-user/config/classic-init-task.rst +++ b/c-user/config/classic-init-task.rst @@ -401,7 +401,7 @@ initialization task is configured. .. rubric:: NOTES: -The application shall define exactly one of the following configuration +The application shall define at least one of the following configuration options * ``CONFIGURE_RTEMS_INIT_TASKS_TABLE``, @@ -411,3 +411,6 @@ options * :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION` otherwise a compile time error in the configuration file will occur. + +The Classic API initialization task performs the +:ref:`GlobalConstruction`. diff --git a/c-user/config/idle-task.rst b/c-user/config/idle-task.rst index e98ad83..793fb5c 100644 --- a/c-user/config/idle-task.rst +++ b/c-user/config/idle-task.rst @@ -123,7 +123,7 @@ If this configuration option is defined, then it is mandatory to configure a user IDLE task with the :ref:`CONFIGURE_IDLE_TASK_BODY` configuration option, otherwise a compile time error in the configuration file will occur. -The application shall define exactly one of the following configuration +The application shall define at least one of the following configuration options * :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`, @@ -134,6 +134,9 @@ options otherwise a compile time error in the configuration file will occur. +If no Classic API initialization task and no POSIX API initialization thread +is configured, then no :ref:`GlobalConstruction` is performed. + .. Generated from spec:/acfg/if/idle-task-stack-size .. raw:: latex diff --git a/c-user/config/posix-init-thread.rst b/c-user/config/posix-init-thread.rst index 348a94d..ee09ba0 100644 --- a/c-user/config/posix-init-thread.rst +++ b/c-user/config/posix-init-thread.rst @@ -141,7 +141,7 @@ initialization thread is configured. .. rubric:: NOTES: -The application shall define exactly one of the following configuration +The application shall define at least one of the following configuration options * :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`, @@ -151,3 +151,6 @@ options * :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION` otherwise a compile time error in the configuration file will occur. + +If no Classic API initialization task is configured, then the POSIX API +initialization thread performs the :ref:`GlobalConstruction`. diff --git a/c-user/glossary.rst b/c-user/glossary.rst index df3b9a3..82aedcd 100644 --- a/c-user/glossary.rst +++ b/c-user/glossary.rst @@ -375,6 +375,10 @@ Glossary An object that has been created with the GLOBAL attribute and exported to all nodes in a multiprocessor system. + global construction + In the global construction, the C++ global constructors and constructor + functions are invoked. See :ref:`GlobalConstruction`. + GNAT *GNAT* is the :term:`GNU` compiler for Ada, integrated into the :term:`GCC`. @@ -1079,6 +1083,15 @@ Glossary A data structure associated with each task used by RTEMS to manage that task. + task entry + The task entry is invoked to execute the task's job. Before the task entry + is invoked, the thread begin :term:`user extensions` run in the context of + the task. After the return of the task entry, the thread exitted user + extensions run in the context of the task. The first user initialization + task performs the :term:`global construction` after running the thread begin + extensions and before the task entry is invoked. See also + :ref:`InterfaceRtemsTaskStart`. + task migration Task migration happens in case a task stops execution on one processor and resumes execution on another processor. diff --git a/c-user/rtems_data_types.rst b/c-user/rtems_data_types.rst index a311509..8e4274b 100644 --- a/c-user/rtems_data_types.rst +++ b/c-user/rtems_data_types.rst @@ -1523,7 +1523,7 @@ extension set. rtems_task_entry ---------------- -This type defines the entry point of an RTEMS task. +This type defines the :term:`task entry` point of an RTEMS task. .. Generated from spec:/rtems/userext/if/task-exitted diff --git a/c-user/task/directives.rst b/c-user/task/directives.rst index f4b65f5..d976905 100644 --- a/c-user/task/directives.rst +++ b/c-user/task/directives.rst @@ -624,9 +624,9 @@ Starts the task. .. rubric:: DESCRIPTION: This directive readies the task, specified by ``id``, for execution based on -the priority and execution mode specified when the task was created. The entry -point of the task is given in ``entry_point``. The task's entry point argument -is contained in ``argument``. +the priority and execution mode specified when the task was created. The +:term:`task entry` point of the task is given in ``entry_point``. The task's +entry point argument is contained in ``argument``. .. rubric:: RETURN VALUES: |