mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-15 11:27:10 +08:00
c_user: Remove errors and warnings.
This commit is contained in:
parent
41206680a3
commit
9aafb39c88
@ -207,7 +207,7 @@ deallocating the context area, the task initiation and reinitiation extensions
|
|||||||
would be responsible for priming the context area, and the task context switch
|
would be responsible for priming the context area, and the task context switch
|
||||||
extension would save and restore the context of the device.
|
extension would save and restore the context of the device.
|
||||||
|
|
||||||
For more information on user extensions, refer to `User Extensions Manager`_.
|
For more information on user extensions, refer to :ref:`User Extensions Manager`.
|
||||||
|
|
||||||
Multiprocessor Communications Interface (MPCI)
|
Multiprocessor Communications Interface (MPCI)
|
||||||
==============================================
|
==============================================
|
||||||
|
@ -62,6 +62,7 @@ tick has occurred. Elapsed time is measured in ticks. A tick is defined to be
|
|||||||
an integral number of microseconds which is specified by the user in the
|
an integral number of microseconds which is specified by the user in the
|
||||||
Configuration Table.
|
Configuration Table.
|
||||||
|
|
||||||
|
.. _Time and Date Data Structures:
|
||||||
|
|
||||||
Time and Date Data Structures
|
Time and Date Data Structures
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -65,6 +65,8 @@ Applications Supplement document for a specific target processor.
|
|||||||
Operations
|
Operations
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
.. _Announcing a Fatal Error:
|
||||||
|
|
||||||
Announcing a Fatal Error
|
Announcing a Fatal Error
|
||||||
------------------------
|
------------------------
|
||||||
.. index:: _Internal_errors_What_happened
|
.. index:: _Internal_errors_What_happened
|
||||||
|
@ -575,7 +575,7 @@ Glossary
|
|||||||
context to store its internal state. Each processor in the system is owned
|
context to store its internal state. Each processor in the system is owned
|
||||||
by at most one scheduler instance. The processor to scheduler instance
|
by at most one scheduler instance. The processor to scheduler instance
|
||||||
assignment is determined at application configuration time. See
|
assignment is determined at application configuration time. See
|
||||||
`Configuring a System`_.
|
:ref:`Configuring a System`.
|
||||||
|
|
||||||
:dfn:`segments`
|
:dfn:`segments`
|
||||||
Variable sized memory blocks allocated from a region.
|
Variable sized memory blocks allocated from a region.
|
||||||
|
@ -278,7 +278,7 @@ the current date and time. This allows selected time operations to be
|
|||||||
scheduled at an actual calendar date and time. For example, a task could
|
scheduled at an actual calendar date and time. For example, a task could
|
||||||
request to delay until midnight on New Year's Eve before lowering the ball at
|
request to delay until midnight on New Year's Eve before lowering the ball at
|
||||||
Times Square. The data type ``rtems_time_of_day`` is used to specify calendar
|
Times Square. The data type ``rtems_time_of_day`` is used to specify calendar
|
||||||
time in RTEMS services. See `Time and Date Data Structures`_
|
time in RTEMS services. See :ref:`Time and Date Data Structures`.
|
||||||
|
|
||||||
.. index:: rtems_time_of_day
|
.. index:: rtems_time_of_day
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
.. COMMENT: On-Line Applications Research Corporation (OAR).
|
.. COMMENT: On-Line Applications Research Corporation (OAR).
|
||||||
.. COMMENT: All rights reserved.
|
.. COMMENT: All rights reserved.
|
||||||
|
|
||||||
|
.. _Linker Sets:
|
||||||
|
|
||||||
Linker Sets
|
Linker Sets
|
||||||
###########
|
###########
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ dependent.
|
|||||||
|
|
||||||
RTEMS requires RAM to manage each instance of an RTEMS object that is created.
|
RTEMS requires RAM to manage each instance of an RTEMS object that is created.
|
||||||
Thus the more RTEMS objects an application needs, the more memory that must be
|
Thus the more RTEMS objects an application needs, the more memory that must be
|
||||||
reserved. See Configuring a System_.
|
reserved. See :ref:`Configuring a System`.
|
||||||
|
|
||||||
RTEMS utilizes memory for both code and data space. Although RTEMS' data space
|
RTEMS utilizes memory for both code and data space. Although RTEMS' data space
|
||||||
must be in RAM, its code space can be located in either ROM or RAM.
|
must be in RAM, its code space can be located in either ROM or RAM.
|
||||||
|
@ -68,6 +68,8 @@ count of zero. One task waits for the arrival of another task by issuing a
|
|||||||
The other task performs a corresponding ``rtems_semaphore_release`` operation
|
The other task performs a corresponding ``rtems_semaphore_release`` operation
|
||||||
when it reaches its synchronization point, thus unblocking the pending task.
|
when it reaches its synchronization point, thus unblocking the pending task.
|
||||||
|
|
||||||
|
.. _Nested Resource Access:
|
||||||
|
|
||||||
Nested Resource Access
|
Nested Resource Access
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
@ -87,6 +89,8 @@ matched with a ``rtems_semaphore_release``.
|
|||||||
Simple binary semaphores do not allow nested access and so can be used for task
|
Simple binary semaphores do not allow nested access and so can be used for task
|
||||||
synchronization.
|
synchronization.
|
||||||
|
|
||||||
|
.. _Priority Inversion:
|
||||||
|
|
||||||
Priority Inversion
|
Priority Inversion
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@ -100,6 +104,7 @@ priority tasks. Because the low priority task is not executing, it cannot
|
|||||||
complete its interaction with the resource and release that resource. The high
|
complete its interaction with the resource and release that resource. The high
|
||||||
priority task is effectively prevented from executing by lower priority tasks.
|
priority task is effectively prevented from executing by lower priority tasks.
|
||||||
|
|
||||||
|
.. _Priority Inheritance:
|
||||||
|
|
||||||
Priority Inheritance
|
Priority Inheritance
|
||||||
--------------------
|
--------------------
|
||||||
@ -130,6 +135,8 @@ priority or at the priority of the highest priority task blocked waiting for
|
|||||||
any of the semaphores the task holds. Only when the task releases ALL of the
|
any of the semaphores the task holds. Only when the task releases ALL of the
|
||||||
binary semaphores it holds will its priority be restored to the normal value.
|
binary semaphores it holds will its priority be restored to the normal value.
|
||||||
|
|
||||||
|
.. _Priority Ceiling:
|
||||||
|
|
||||||
Priority Ceiling
|
Priority Ceiling
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
@ -166,6 +173,7 @@ or at the priority of the highest priority task blocked waiting for any of the
|
|||||||
semaphores the task holds. Only when the task releases ALL of the binary
|
semaphores the task holds. Only when the task releases ALL of the binary
|
||||||
semaphores it holds will its priority be restored to the normal value.
|
semaphores it holds will its priority be restored to the normal value.
|
||||||
|
|
||||||
|
.. _Multiprocessor Resource Sharing Protocol:
|
||||||
|
|
||||||
Multiprocessor Resource Sharing Protocol
|
Multiprocessor Resource Sharing Protocol
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
@ -184,6 +192,8 @@ owner of a MrsP semaphore gets preempted it can ask all tasks waiting for this
|
|||||||
semaphore to help out and temporarily borrow the right to execute on one of
|
semaphore to help out and temporarily borrow the right to execute on one of
|
||||||
their assigned processors.
|
their assigned processors.
|
||||||
|
|
||||||
|
.. _Building a Semaphore Attribute Set:
|
||||||
|
|
||||||
Building a Semaphore Attribute Set
|
Building a Semaphore Attribute Set
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
@ -248,6 +258,8 @@ following tree figure illustrates the valid combinations.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Semaphore Attributes
|
:alt: Semaphore Attributes
|
||||||
|
|
||||||
|
.. _Building a SEMAPHORE_OBTAIN Option Set:
|
||||||
|
|
||||||
Building a SEMAPHORE_OBTAIN Option Set
|
Building a SEMAPHORE_OBTAIN Option Set
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
@ -277,6 +289,8 @@ be ``RTEMS_NO_WAIT``.
|
|||||||
Operations
|
Operations
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
.. _Creating a Semaphore:
|
||||||
|
|
||||||
Creating a Semaphore
|
Creating a Semaphore
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
@ -295,6 +309,8 @@ free list. This data structure is used by RTEMS to manage the newly created
|
|||||||
semaphore. Also, a unique semaphore ID is generated and returned to the
|
semaphore. Also, a unique semaphore ID is generated and returned to the
|
||||||
calling task.
|
calling task.
|
||||||
|
|
||||||
|
.. _Obtaining Semaphore IDs:
|
||||||
|
|
||||||
Obtaining Semaphore IDs
|
Obtaining Semaphore IDs
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
@ -306,6 +322,8 @@ provided location. Second, the semaphore ID may be obtained later using the
|
|||||||
``rtems_semaphore_ident`` directive. The semaphore ID is used by other
|
``rtems_semaphore_ident`` directive. The semaphore ID is used by other
|
||||||
semaphore manager directives to access this semaphore.
|
semaphore manager directives to access this semaphore.
|
||||||
|
|
||||||
|
.. _Acquiring a Semaphore:
|
||||||
|
|
||||||
Acquiring a Semaphore
|
Acquiring a Semaphore
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
@ -340,6 +358,8 @@ When a task successfully obtains a semaphore using priority ceiling and the
|
|||||||
priority ceiling for this semaphore is greater than that of the holder, then
|
priority ceiling for this semaphore is greater than that of the holder, then
|
||||||
the holder's priority will be elevated.
|
the holder's priority will be elevated.
|
||||||
|
|
||||||
|
.. _Releasing a Semaphore:
|
||||||
|
|
||||||
Releasing a Semaphore
|
Releasing a Semaphore
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
@ -356,6 +376,8 @@ inheritance or priority ceiling and the task does not currently hold any other
|
|||||||
binary semaphores, then the task performing the ``rtems_semaphore_release``
|
binary semaphores, then the task performing the ``rtems_semaphore_release``
|
||||||
will have its priority restored to its normal value.
|
will have its priority restored to its normal value.
|
||||||
|
|
||||||
|
.. _Deleting a Semaphore:
|
||||||
|
|
||||||
Deleting a Semaphore
|
Deleting a Semaphore
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
@ -20,16 +20,16 @@ on
|
|||||||
- SPARC.
|
- SPARC.
|
||||||
|
|
||||||
It must be explicitly enabled via the ``--enable-smp`` configure command line
|
It must be explicitly enabled via the ``--enable-smp`` configure command line
|
||||||
option. To enable SMP in the application configuration see `Enable SMP Support
|
option. To enable SMP in the application configuration see :ref:`Enable SMP
|
||||||
for Applications`_. The default scheduler for SMP applications supports up to
|
Support for Applications`. The default scheduler for SMP applications supports
|
||||||
32 processors and is a global fixed priority scheduler, see also
|
up to 32 processors and is a global fixed priority scheduler, see also
|
||||||
:ref:`Configuring Clustered Schedulers`. For example applications
|
:ref:`Configuring Clustered Schedulers`. For example applications
|
||||||
see:file:`testsuites/smptests`.
|
see:file:`testsuites/smptests`.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
The SMP support in RTEMS is a work in progress. Before you start using this
|
The SMP support in the release of RTEMS is a work in progress. Before you
|
||||||
RTEMS version for SMP ask on the RTEMS mailing list.
|
start using this RTEMS version for SMP ask on the RTEMS mailing list.
|
||||||
|
|
||||||
This chapter describes the services related to Symmetric Multiprocessing
|
This chapter describes the services related to Symmetric Multiprocessing
|
||||||
provided by RTEMS.
|
provided by RTEMS.
|
||||||
@ -197,21 +197,21 @@ available
|
|||||||
|
|
||||||
- message queues,
|
- message queues,
|
||||||
|
|
||||||
- semaphores using the `Priority Inheritance`_ protocol (priority boosting),
|
- semaphores using the :ref:`Priority Inheritance` protocol (priority
|
||||||
and
|
boosting), and
|
||||||
|
|
||||||
- semaphores using the `Multiprocessor Resource Sharing Protocol`_ (MrsP).
|
- semaphores using the :ref:`Multiprocessor Resource Sharing Protocol` (MrsP).
|
||||||
|
|
||||||
The clustered scheduling approach enables separation of functions with
|
The clustered scheduling approach enables separation of functions with
|
||||||
real-time requirements and functions that profit from fairness and high
|
real-time requirements and functions that profit from fairness and high
|
||||||
throughput provided the scheduler instances are fully decoupled and adequate
|
throughput provided the scheduler instances are fully decoupled and adequate
|
||||||
inter-cluster synchronization primitives are used. This is work in progress.
|
inter-cluster synchronization primitives are used. This is work in progress.
|
||||||
|
|
||||||
For the configuration of clustered schedulers see `Configuring Clustered
|
For the configuration of clustered schedulers see :ref:`Configuring Clustered
|
||||||
Schedulers`_.
|
Schedulers`.
|
||||||
|
|
||||||
To set the scheduler of a task see `SCHEDULER_IDENT - Get ID of a scheduler`_
|
To set the scheduler of a task see :ref:`SCHEDULER_IDENT - Get ID of a
|
||||||
and `TASK_SET_SCHEDULER - Set scheduler of a task`_.
|
scheduler` and :ref:`TASK_SET_SCHEDULER - Set scheduler of a task`.
|
||||||
|
|
||||||
Task Priority Queues
|
Task Priority Queues
|
||||||
--------------------
|
--------------------
|
||||||
@ -718,6 +718,7 @@ thread dispatching disabled.
|
|||||||
None.
|
None.
|
||||||
|
|
||||||
.. _rtems_scheduler_ident:
|
.. _rtems_scheduler_ident:
|
||||||
|
.. _SCHEDULER_IDENT - Get ID of a scheduler:
|
||||||
|
|
||||||
SCHEDULER_IDENT - Get ID of a scheduler
|
SCHEDULER_IDENT - Get ID of a scheduler
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
@ -749,7 +750,7 @@ SCHEDULER_IDENT - Get ID of a scheduler
|
|||||||
**DESCRIPTION:**
|
**DESCRIPTION:**
|
||||||
|
|
||||||
Identifies a scheduler by its name. The scheduler name is determined by the
|
Identifies a scheduler by its name. The scheduler name is determined by the
|
||||||
scheduler configuration. See `Configuring a System`_.
|
scheduler configuration. See :ref:`Configuring a System`.
|
||||||
|
|
||||||
**NOTES:**
|
**NOTES:**
|
||||||
|
|
||||||
@ -831,6 +832,7 @@ Returns the scheduler identifier of a task identified by ``task_id`` in
|
|||||||
None.
|
None.
|
||||||
|
|
||||||
.. _rtems_task_set_scheduler:
|
.. _rtems_task_set_scheduler:
|
||||||
|
.. _TASK_SET_SCHEDULER - Set scheduler of a task:
|
||||||
|
|
||||||
TASK_SET_SCHEDULER - Set scheduler of a task
|
TASK_SET_SCHEDULER - Set scheduler of a task
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
.. COMMENT: On-Line Applications Research Corporation (OAR).
|
.. COMMENT: On-Line Applications Research Corporation (OAR).
|
||||||
.. COMMENT: All rights reserved.
|
.. COMMENT: All rights reserved.
|
||||||
|
|
||||||
|
.. _User Extensions Manager:
|
||||||
|
|
||||||
User Extensions Manager
|
User Extensions Manager
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user