@c ****** This comment is here to remind you not to edit the wksheets.t @c ****** in any directory but common. @c @c Figures ... @c RTEMS RAM Workspace Worksheet @c RTEMS Code Space Worksheet @c @c COPYRIGHT (c) 1988-2002. @c On-Line Applications Research Corporation (OAR). @c All rights reserved. @c @c $Id$ @c @node Memory Requirements, Memory Requirements Introduction, Processor Dependent Information Table CPU Dependent Information Table, Top @chapter Memory Requirements @ifinfo @menu * Memory Requirements Introduction:: * Memory Requirements Data Space Requirements:: * Memory Requirements Minimum and Maximum Code Space Requirements:: * Memory Requirements RTEMS Code Space Worksheet:: * Memory Requirements RTEMS RAM Workspace Worksheet:: @end menu @end ifinfo @node Memory Requirements Introduction, Memory Requirements Data Space Requirements, Memory Requirements, Memory Requirements @section Introduction Memory is typically a limited resource in real-time embedded systems, therefore, RTEMS can be configured to utilize the minimum amount of memory while meeting all of the applications requirements. Worksheets are provided which allow the RTEMS application developer to determine the amount of RTEMS code and RAM workspace which is required by the particular configuration. Also provided are the minimum code space, maximum code space, and the constant data space required by RTEMS. @node Memory Requirements Data Space Requirements, Memory Requirements Minimum and Maximum Code Space Requirements, Memory Requirements Introduction, Memory Requirements @section Data Space Requirements RTEMS requires a small amount of memory for its private variables. This data area must be in RAM and is separate from the RTEMS RAM Workspace. The following illustrates the data space required for all configurations of RTEMS: @itemize @bullet @item Data Space: na @end itemize @node Memory Requirements Minimum and Maximum Code Space Requirements, Memory Requirements RTEMS Code Space Worksheet, Memory Requirements Data Space Requirements, Memory Requirements @section Minimum and Maximum Code Space Requirements A maximum configuration of RTEMS includes the core and all managers, including the multiprocessing manager. Conversely, a minimum configuration of RTEMS includes only the core and the following managers: initialization, task, interrupt and fatal error. The following illustrates the code space required by these configurations of RTEMS: @itemize @bullet @item Minimum Configuration: na @item Maximum Configuration: na @end itemize @node Memory Requirements RTEMS Code Space Worksheet, Memory Requirements RTEMS RAM Workspace Worksheet, Memory Requirements Minimum and Maximum Code Space Requirements, Memory Requirements @section RTEMS Code Space Worksheet The RTEMS Code Space Worksheet is a tool provided to aid the RTEMS application designer to accurately calculate the memory required by the RTEMS run-time environment. RTEMS allows the custom configuration of the executive by optionally excluding managers which are not required by a particular application. This worksheet provides the included and excluded size of each manager in tabular form allowing for the quick calculation of any custom configuration of RTEMS. The RTEMS Code Space Worksheet is below: @ifset use-ascii @page @end ifset @ifset use-tex @page @end ifset @page @center @b{RTEMS Code Space Worksheet} @sp 1 @ifset use-ascii The following is a list of the components of the RTEMS code space. The first number in parentheses is the size when the component is included, while the second number indicates its size when not included. If the second number is "NA", then the component must always be included. @itemize @bullet @item Core (na, NA) @item Initialization (na, NA) @item Task (na, NA) @item Interrupt (na, NA) @item Clock (na, NA) @item Timer (na, na) @item Semaphore (na, na) @item Message (na, na) @item Event (na, na) @item Signal (na, na) @item Partition (na, na) @item Region (na, na) @item Dual Ported Memory (na, na) @item I/O (na, na) @item Fatal Error (na, NA) @item Rate Monotonic (na, na) @item Multiprocessing (na, na) @end itemize @end ifset @ifset use-tex @tex \line{\hskip 0.50in\vbox{\offinterlineskip\halign{ \vrule\strut#& \hbox to 2.25in{\enskip\hfil#\hfil}& \vrule#& \hbox to 1.00in{\enskip\hfil#\hfil}& \vrule#& \hbox to 1.00in{\enskip\hfil#\hfil}& \vrule#& \hbox to 1.25in{\enskip\hfil#\hfil}& \vrule#\cr \noalign{\hrule} &\bf Component && \bf Included && \bf Not Included && \bf Size &\cr\noalign{\hrule} &Core && na && NA && &\cr\noalign{\hrule} &Initialization && na && NA && &\cr\noalign{\hrule} &Task && na && NA && &\cr\noalign{\hrule} &Interrupt && na && NA && &\cr\noalign{\hrule} &Clock && na && NA && &\cr\noalign{\hrule} &Timer && na && na && &\cr\noalign{\hrule} &Semaphore && na && na && &\cr\noalign{\hrule} &Message && na && na && &\cr\noalign{\hrule} &Event && na && na && &\cr\noalign{\hrule} &Signal && na && na && &\cr\noalign{\hrule} &Partition && na && na && &\cr\noalign{\hrule} &Region && na && na && &\cr\noalign{\hrule} &Dual Ported Memory && na && na && &\cr\noalign{\hrule} &I/O && na && na && &\cr\noalign{\hrule} &Fatal Error && na && NA && &\cr\noalign{\hrule} &Rate Monotonic && na && na && &\cr\noalign{\hrule} &Multiprocessing && na && na && &\cr\noalign{\hrule} &\multispan 5 \bf\hfil Total Code Space Requirements\qquad\hfil&&&\cr\noalign{\hrule} }}\hfil} @end tex @end ifset @ifset use-html @html
Component Included Not Included Size
Core na NA
Initialization na NA
Task na NA
Interrupt na NA
Clock na NA
Timer na na
Semaphore na na
Message na na
Event na na
Signal na na
Partition na na
Region na na
Dual Ported Memory na na
I/O na na
Fatal Error na NA
Rate Monotonic na na
Multiprocessing na na
Total Code Space Requirements
@end html @end ifset @page @c ****** Next node is set by a sed script in the document Makefile. @c ****** This comment is here to remind you not to edit the wksheets.t @c ****** in any directory but common. @node Memory Requirements RTEMS RAM Workspace Worksheet, Timing Specification, Memory Requirements RTEMS Code Space Worksheet, Memory Requirements @section RTEMS RAM Workspace Worksheet The RTEMS RAM Workspace Worksheet is a tool provided to aid the RTEMS application designer to accurately calculate the minimum memory block to be reserved for RTEMS use. This worksheet provides equations for calculating the amount of memory required based upon the number of objects configured, whether for single or multiple processor versions of the executive. This information is presented in tabular form, along with the fixed system requirements, allowing for quick calculation of any application defined configuration of RTEMS. The RTEMS RAM Workspace Worksheet is provided below: @ifset use-ascii @page @end ifset @ifset use-tex @sp 2 @end ifset @center @b{RTEMS RAM Workspace Worksheet} @sp 2 @ifset use-ascii The total RTEMS RAM Workspace required is the sum of the following: @itemize @bullet @item maximum_tasks * na @item maximum_timers * na @item maximum_semaphores * na @item maximum_message_queues * na @item maximum_regions * na @item maximum_partitions * na @item maximum_ports * na @item maximum_periods * na @item maximum_extensions * na @item Floating Point Tasks * na @item Task Stacks @item maximum_nodes * na @item maximum_global_objects * na @item maximum_proxies * na @item Fixed System Requirements of na @end itemize @end ifset @ifset use-tex @tex \line{\hskip 0.75in\vbox{\offinterlineskip\halign{ \vrule\strut#& \hbox to 3.0in{\enskip\hfil#\hfil}& \vrule#& \hbox to 0.75in{\enskip\hfil#\hfil}& \vrule#& \hbox to 1.25in{\enskip\hfil#\hfil}& \vrule#\cr \noalign{\hrule} & \bf Description && \bf Equation && \bf Bytes Required &\cr\noalign{\hrule} & maximum\_tasks && * na = &&&\cr\noalign{\hrule} & maximum\_timers && * na = &&&\cr\noalign{\hrule} & maximum\_semaphores && * na = &&&\cr\noalign{\hrule} & maximum\_message\_queues && * na = &&&\cr\noalign{\hrule} & maximum\_regions && * na = &&&\cr\noalign{\hrule} & maximum\_partitions && * na = &&&\cr\noalign{\hrule} & maximum\_ports && * na = &&&\cr\noalign{\hrule} & maximum\_periods && * na = &&&\cr\noalign{\hrule} & maximum\_extensions && * na = &&&\cr\noalign{\hrule} & Floating Point Tasks && * na = &&&\cr\noalign{\hrule} & Task Stacks &&\hskip 2.3em=&&&\cr\noalign{\hrule} & Total Single Processor Requirements &&&&&\cr\noalign{\hrule} }}\hfil} \line{\hskip 0.75in\vbox{\offinterlineskip\halign{ \vrule\strut#& \hbox to 3.0in{\enskip\hfil#\hfil}& \vrule#& \hbox to 0.75in{\enskip\hfil#\hfil}& \vrule#& \hbox to 1.25in{\enskip\hfil#\hfil}& \vrule#\cr \noalign{\hrule} & \bf Description && \bf Equation && \bf Bytes Required &\cr\noalign{\hrule} & maximum\_nodes && * na = &&&\cr\noalign{\hrule} & maximum\_global\_objects && * na = &&&\cr\noalign{\hrule} & maximum\_proxies && * na = &&&\cr\noalign{\hrule} }}\hfil} \line{\hskip 0.75in\vbox{\offinterlineskip\halign{ \vrule\strut#& \hbox to 3.0in{\enskip\hfil#\hfil}& \vrule#& \hbox to 0.75in{\enskip\hfil#\hfil}& \vrule#& \hbox to 1.25in{\enskip\hfil#\hfil}& \vrule#\cr \noalign{\hrule} & Total Multiprocessing Requirements &&&&&\cr\noalign{\hrule} & Fixed System Requirements && na &&&\cr\noalign{\hrule} & Total Single Processor Requirements &&&&&\cr\noalign{\hrule} & Total Multiprocessing Requirements &&&&&\cr\noalign{\hrule} & Minimum Bytes for RTEMS Workspace &&&&&\cr\noalign{\hrule} }}\hfil} @end tex @end ifset @ifset use-html @html
Description Equation Bytes Required
maximum_tasks * na =
maximum_timers * na =
maximum_semaphores * na =
maximum_message_queues * na =
maximum_regions * na =
maximum_partitions * na =
maximum_ports * na =
maximum_periods * na =
maximum_extensions * na =
Floating Point Tasks * na =
Task Stacks
Total Single Processor Requirements
Description Equation Bytes Required
maximum_nodes * na =
maximum_global_objects * na =
maximum_proxies * na =
Total Multiprocessing Requirements
Fixed System Requirements na
Total Single Processor Requirements
Total Multiprocessing Requirements
Minimum Bytes for RTEMS Workspace
@end html @end ifset