summaryrefslogtreecommitdiffstats
path: root/doc/shell/rtems.t
diff options
context:
space:
mode:
Diffstat (limited to 'doc/shell/rtems.t')
-rw-r--r--doc/shell/rtems.t315
1 files changed, 248 insertions, 67 deletions
diff --git a/doc/shell/rtems.t b/doc/shell/rtems.t
index b502ce43c3..3e7e63d1f3 100644
--- a/doc/shell/rtems.t
+++ b/doc/shell/rtems.t
@@ -6,7 +6,7 @@
@c $Id$
@c
-@chapter RTEMS Commands
+@chapter RTEMS Specific Commands
@section Introduction
@@ -34,6 +34,10 @@ The RTEMS shell has the following rtems commands:
@section Commands
+This section details the RTEMS Specific Commands available. A
+subsection is dedicated to each of the commands and
+describes the behavior and configuration of that
+command as well as providing an example usage.
@c
@c
@c
@@ -50,7 +54,10 @@ cpuuse [-r]
@subheading DESCRIPTION:
-This command XXX
+This command may be used to print a report on the per thread
+cpu usage or to reset the per thread CPU usage statistics. When
+invoked with the @code{-r} option, the CPU usage statistics
+are reset.
@subheading EXIT STATUS:
@@ -58,16 +65,45 @@ This command returns 0 on success and non-zero if an error is encountered.
@subheading NOTES:
-NONE
+The granularity of the timing information reported is dependent
+upon the BSP and the manner in which RTEMS was built. In the
+default RTEMS configuration, if the BSP supports nanosecond
+granularity timestamps, then the information reported will be
+highly accurate. Otherwise, the accuracy of the information
+reported is limited by the clock tick quantum.
@subheading EXAMPLES:
The following is an example of how to use @code{cpuuse}:
@example
-EXAMPLE_TBD
+SHLL [/] $ cpuuse
+CPU Usage by thread
+ ID NAME SECONDS PERCENT
+0x09010001 IDLE 49.745393 98.953
+0x0a010001 UI1 0.000000 0.000
+0x0a010002 SHLL 0.525928 1.046
+Time since last CPU Usage reset 50.271321 seconds
+SHLL [/] $ cpuuse -r
+Resetting CPU Usage information
+SHLL [/] $ cpuuse
+CPU Usage by thread
+ ID NAME SECONDS PERCENT
+0x09010001 IDLE 0.000000 0.000
+0x0a010001 UI1 0.000000 0.000
+0x0a010002 SHLL 0.003092 100.000
+Time since last CPU Usage reset 0.003092 seconds
@end example
+In the above example, the system had set idle for nearly
+a minute when the first report was generated. The
+@code{cpuuse -r} and @code{cpuuse} commands were pasted
+from another window so were executed with no gap between.
+In the second report, only the @code{shell} thread has
+run since the CPU Usage was reset. It has consumed
+approximately 3.092 milliseconds of CPU time processing
+the two commands and generating the output.
+
@subheading CONFIGURATION:
@findex CONFIGURE_SHELL_NO_COMMAND_CPUUSE
@@ -119,23 +155,33 @@ stackuse
@subheading DESCRIPTION:
-This command XXX
+This command prints a Stack Usage Report for all of the tasks
+and threads in the system. On systems which support it, the
+usage of the interrupt stack is also included in the report.
@subheading EXIT STATUS:
-This command returns 0 on success and non-zero if an error is encountered.
+This command always succeeds and returns 0.
@subheading NOTES:
-NONE
+The @code{STACK_CHECKER_ON} @code{confdefs.h} constant
+must be defined when the application is configured for this
+command to have any information to report.
@subheading EXAMPLES:
The following is an example of how to use @code{stackuse}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ stackuse
+Stack usage by thread
+ ID NAME LOW HIGH CURRENT AVAILABLE USED
+0x09010001 IDLE 0x023d89a0 - 0x023d99af 0x023d9760 4096 608
+0x0a010001 UI1 0x023d9f30 - 0x023daf3f 0x023dad18 4096 1804
+0x0a010002 SHLL 0x023db4c0 - 0x023df4cf 0x023de9d0 16384 5116
+0xffffffff INTR 0x023d2760 - 0x023d375f 0x00000000 4080 316
+@end smallexample
@subheading CONFIGURATION:
@@ -188,7 +234,10 @@ perioduse [-r]
@subheading DESCRIPTION:
-This command XXX
+This command may be used to print a statistics report on the rate
+monotonic periods in the application or to reset the rate monotonic
+period usage statistics. When invoked with the @code{-r} option, the
+usage statistics are reset.
@subheading EXIT STATUS:
@@ -196,15 +245,44 @@ This command returns 0 on success and non-zero if an error is encountered.
@subheading NOTES:
-NONE
+The granularity of the timing information reported is dependent
+upon the BSP and the manner in which RTEMS was built. In the
+default RTEMS configuration, if the BSP supports nanosecond
+granularity timestamps, then the information reported will be
+highly accurate. Otherwise, the accuracy of the information
+reported is limited by the clock tick quantum.
@subheading EXAMPLES:
The following is an example of how to use @code{perioduse}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ perioduse
+Period information by period
+--- CPU times are in seconds ---
+--- Wall times are in seconds ---
+ ID OWNER COUNT MISSED CPU TIME WALL TIME
+ MIN/MAX/AVG MIN/MAX/AVG
+0x42010001 TA1 502 0 0:000039/0:042650/0:004158 0:000039/0:020118/0:002848
+0x42010002 TA2 502 0 0:000041/0:042657/0:004309 0:000041/0:020116/0:002848
+0x42010003 TA3 501 0 0:000041/0:041564/0:003653 0:000041/0:020003/0:002814
+0x42010004 TA4 501 0 0:000043/0:044075/0:004911 0:000043/0:020004/0:002814
+0x42010005 TA5 10 0 0:000065/0:005413/0:002739 0:000065/1:000457/0:041058
+
+ MIN/MAX/AVG MIN/MAX/AVG
+SHLL [/] $ perioduse -r
+Resetting Period Usage information
+SHLL [/] $ perioduse
+--- CPU times are in seconds ---
+--- Wall times are in seconds ---
+ ID OWNER COUNT MISSED CPU TIME WALL TIME
+ MIN/MAX/AVG MIN/MAX/AVG
+0x42010001 TA1 0 0
+0x42010002 TA2 0 0
+0x42010003 TA3 0 0
+0x42010004 TA4 0 0
+0x42010005 TA5 0 0
+@end smallexample
@subheading CONFIGURATION:
@@ -257,11 +335,22 @@ wkspace
@subheading DESCRIPTION:
-This command XXX
+This command prints information on the current state of
+the RTEMS Executive Workspace reported. This includes the
+following information:
+
+@itemize @bullet
+@item Number of free blocks
+@item Largest free block
+@item Total bytes free
+@item Number of used blocks
+@item Largest used block
+@item Total bytes used
+@end itemize
@subheading EXIT STATUS:
-This command returns 0 on success and non-zero if an error is encountered.
+This command always succeeds and returns 0.
@subheading NOTES:
@@ -272,7 +361,13 @@ NONE
The following is an example of how to use @code{wkspace}:
@example
-EXAMPLE_TBD
+SHLL [/] $ wkspace
+Number of free blocks: 1
+Largest free block: 132336
+Total bytes free: 132336
+Number of used blocks: 36
+Largest used block: 16408
+Total bytes used: 55344
@end example
@subheading CONFIGURATION:
@@ -326,23 +421,30 @@ config
@subheading DESCRIPTION:
-This command XXX
+This command display information about the RTEMS Configuration.
@subheading EXIT STATUS:
-This command returns 0 on success and non-zero if an error is encountered.
+This command always succeeds and returns 0.
@subheading NOTES:
-NONE
+At this time, it does not report every configuration parameter.
+This is an area in which user submissions or sponsorship of
+a developer would be appreciated.
@subheading EXAMPLES:
The following is an example of how to use @code{config}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+INITIAL (startup) Configuration Info
+------------------------------------------------------------------------------
+WORKSPACE start: 0x23d22e0; size: 0x2dd20
+TIME usec/tick: 10000; tick/timeslice: 50; tick/sec: 100
+MAXIMUMS tasks: 20; timers: 0; sems: 50; que's: 20; ext's: 1
+ partitions: 0; regions: 0; ports: 0; periods: 0
+@end smallexample
@subheading CONFIGURATION:
@@ -395,23 +497,29 @@ itask
@subheading DESCRIPTION:
-This command XXX
+This command prints a report on the set of initialization
+tasks and threads in the system.
@subheading EXIT STATUS:
-This command returns 0 on success and non-zero if an error is encountered.
+This command always succeeds and returns 0.
@subheading NOTES:
-NONE
+At this time, it includes only Classic API Initialization Tasks.
+This is an area in which user submissions or sponsorship of
+a developer would be appreciated.
@subheading EXAMPLES:
The following is an example of how to use @code{itask}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ itask
+ # NAME ENTRY ARGUMENT PRIO MODES ATTRIBUTES STACK SIZE
+------------------------------------------------------------------------------
+ 0 UI1 [0x2002258] 0 [0x0] 1 nP DEFAULT 4096 [0x1000]
+@end smallexample
@subheading CONFIGURATION:
@@ -464,7 +572,11 @@ extension [id [id ...] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of User Extensions currently active in the system.
+
+If invoked with a set of ids as arguments, then just
+those objects are included in the information printed.
@subheading EXIT STATUS:
@@ -476,11 +588,14 @@ NONE
@subheading EXAMPLES:
-The following is an example of how to use @code{extension}:
+The following is an example of using the @code{extension} command
+on a system with no user extensions.
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ extension
+ ID NAME
+------------------------------------------------------------------------------
+@end smallexample
@subheading CONFIGURATION:
@@ -533,7 +648,11 @@ task [id [id ...] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of Classic API Tasks currently active in the system.
+
+If invoked with a set of ids as arguments, then just
+those objects are included in the information printed.
@subheading EXIT STATUS:
@@ -545,11 +664,16 @@ NONE
@subheading EXAMPLES:
-The following is an example of how to use @code{task}:
+The following is an example of how to use the @code{task} on an
+application with just two Classic API tasks:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ task
+ ID NAME PRIO STAT MODES EVENTS WAITID WAITARG NOTES
+------------------------------------------------------------------------------
+0a010001 UI1 1 SUSP P:T:nA NONE
+0a010002 SHLL 100 READY P:T:nA NONE
+@end smallexample
@subheading CONFIGURATION:
@@ -602,7 +726,11 @@ queue [id [id ... ] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of Classic API Message Queues currently active in the system.
+
+If invoked with a set of ids as arguments, then just
+those objects are included in the information printed.
@subheading EXIT STATUS:
@@ -614,11 +742,14 @@ NONE
@subheading EXAMPLES:
-The following is an example of how to use @code{queue}:
+The following is an example of using the @code{queue} command
+on a system with no Classic API Message Queues.
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ queue
+ ID NAME ATTRIBUTES PEND MAXPEND MAXSIZE
+------------------------------------------------------------------------------
+@end smallexample
@subheading CONFIGURATION:
@@ -671,7 +802,11 @@ sema [id [id ... ] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of Classic API Semaphores currently active in the system.
+
+If invoked with a set of objects ids as arguments, then just
+those objects are included in the information printed.
@subheading EXIT STATUS:
@@ -685,9 +820,19 @@ NONE
The following is an example of how to use @code{sema}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ sema
+ ID NAME ATTR PRICEIL CURR_CNT HOLDID
+------------------------------------------------------------------------------
+1a010001 LBIO PR:BI:IN 0 1 00000000
+1a010002 TRmi PR:BI:IN 0 1 00000000
+1a010003 LBI00 PR:BI:IN 0 1 00000000
+1a010004 TRia PR:BI:IN 0 1 00000000
+1a010005 TRoa PR:BI:IN 0 1 00000000
+1a010006 TRxa <assoc.c: BAD NAME> 0 0 09010001
+1a010007 LBI01 PR:BI:IN 0 1 00000000
+1a010008 LBI02 PR:BI:IN 0 1 00000000
+@end smallexample
@subheading CONFIGURATION:
@@ -740,7 +885,11 @@ region [id [id ... ] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of Classic API Regions currently active in the system.
+
+If invoked with a set of object ids as arguments, then just
+those object are included in the information printed.
@subheading EXIT STATUS:
@@ -752,11 +901,14 @@ NONE
@subheading EXAMPLES:
-The following is an example of how to use @code{region}:
+The following is an example of using the @code{region} command
+on a system with no user extensions.
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ region
+ ID NAME ATTR STARTADDR LENGTH PAGE_SIZE USED_BLOCKS
+------------------------------------------------------------------------------
+@end smallexample
@subheading CONFIGURATION:
@@ -809,7 +961,11 @@ part [id [id ... ] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of Classic API Partitions currently active in the system.
+
+If invoked with a set of object ids as arguments, then just
+those objects are included in the information printed.
@subheading EXIT STATUS:
@@ -821,11 +977,14 @@ NONE
@subheading EXAMPLES:
-The following is an example of how to use @code{part}:
+The following is an example of using the @code{part} command
+on a system with no user extensions.
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ part
+ ID NAME ATTR STARTADDR LENGTH BUF_SIZE USED_BLOCKS
+------------------------------------------------------------------------------
+@end smallexample
@subheading CONFIGURATION:
@@ -878,7 +1037,8 @@ object [id [id ...] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with a set of object ids as arguments, then
+a report on those objects is printed.
@subheading EXIT STATUS:
@@ -892,9 +1052,15 @@ NONE
The following is an example of how to use @code{object}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ object 0a010001 1a010002
+ ID NAME PRIO STAT MODES EVENTS WAITID WAITARG NOTES
+------------------------------------------------------------------------------
+0a010001 UI1 1 SUSP P:T:nA NONE
+ ID NAME ATTR PRICEIL CURR_CNT HOLDID
+------------------------------------------------------------------------------
+1a010002 TRmi PR:BI:IN 0 1 00000000
+@end smallexample
@subheading CONFIGURATION:
@@ -947,7 +1113,11 @@ driver [ major [ major ... ] ]
@subheading DESCRIPTION:
-This command XXX
+When invoked with no arguments, this command prints information on
+the set of Device Drivers currently active in the system.
+
+If invoked with a set of major numbers as arguments, then just
+those Device Drivers are included in the information printed.
@subheading EXIT STATUS:
@@ -961,9 +1131,18 @@ NONE
The following is an example of how to use @code{driver}:
-@example
-EXAMPLE_TBD
-@end example
+@smallexample
+SHLL [/] $ driver
+ Major Entry points
+------------------------------------------------------------------------------
+ 0 init: [0x200256c]; control: [0x20024c8]
+ open: [0x2002518]; close: [0x2002504]
+ read: [0x20024f0]; write: [0x20024dc]
+ 1 init: [0x20023fc]; control: [0x2002448]
+ open: [0x0]; close: [0x0]
+ read: [0x0]; write: [0x0]
+SHLL [/] $
+@end smallexample
@subheading CONFIGURATION:
@@ -1018,6 +1197,8 @@ dname
This command XXX
+WARNING! XXX This command does not appear to work as of 27 February 2008.
+
@subheading EXIT STATUS:
This command returns 0 on success and non-zero if an error is encountered.