source: rtems-docs/shell/rtems_specific_commands.rst @ f3dbb02

4.115
Last change on this file since f3dbb02 was 489740f, checked in by Chris Johns <chrisj@…>, on 05/20/16 at 02:47:09

Set SPDX License Identifier in each source file.

  • Property mode set to 100644
File size: 35.7 KB
Line 
1.. comment SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. COMMENT: COPYRIGHT (c) 1988-2008.
4.. COMMENT: On-Line Applications Research Corporation (OAR).
5.. COMMENT: All rights reserved.
6
7RTEMS Specific Commands
8#######################
9
10Introduction
11============
12
13The RTEMS shell has the following rtems commands:
14
15- shutdown_ - Shutdown the system
16
17- cpuuse_ - print or reset per thread cpu usage
18
19- stackuse_ - print per thread stack usage
20
21- perioduse_ - print or reset per period usage
22
23- profreport_ - print a profiling report
24
25- wkspace_ - Display information on Executive Workspace
26
27- config_ - Show the system configuration.
28
29- itask_ - List init tasks for the system
30
31- extension_ - Display information about extensions
32
33- task_ - Display information about tasks
34
35- queue_ - Display information about message queues
36
37- sema_ - display information about semaphores
38
39- region_ - display information about regions
40
41- part_ - display information about partitions
42
43- object_ - Display information about RTEMS objects
44
45- driver_ - Display the RTEMS device driver table
46
47- dname_ - Displays information about named drivers
48
49- pthread_ - Displays information about POSIX threads
50
51Commands
52========
53
54This section details the RTEMS Specific Commands available.  A
55subsection is dedicated to each of the commands and
56describes the behavior and configuration of that
57command as well as providing an example usage.
58
59.. _shutdown:
60
61shutdown - Shutdown the system
62------------------------------
63.. index:: shutdown
64
65**SYNOPSYS:**
66
67.. code:: shell
68
69    shutdown
70
71**DESCRIPTION:**
72
73This command is used to shutdown the RTEMS application.
74
75**EXIT STATUS:**
76
77This command does not return.
78
79**NOTES:**
80
81**EXAMPLES:**
82
83The following is an example of how to use ``shutdown``:
84
85.. code:: shell
86
87    SHLL [/] $ shutdown
88    System shutting down at user request
89
90The user will not see another prompt and the system will shutdown.
91
92**CONFIGURATION:**
93
94.. index:: CONFIGURE_SHELL_NO_COMMAND_SHUTDOWN
95.. index:: CONFIGURE_SHELL_COMMAND_SHUTDOWN
96
97This command is included in the default shell command set.  When building a
98custom command set, define ``CONFIGURE_SHELL_COMMAND_SHUTDOWN`` to have this
99command included.
100
101This command can be excluded from the shell command set by defining
102``CONFIGURE_SHELL_NO_COMMAND_SHUTDOWN`` when all shell commands have been
103configured.
104
105**PROGRAMMING INFORMATION:**
106
107The configuration structure for the ``shutdown`` has the following prototype:
108
109.. code:: c
110
111    extern rtems_shell_cmd_t rtems_shell_SHUTDOWN_Command;
112
113.. _cpuuse:
114
115cpuuse - print or reset per thread cpu usage
116--------------------------------------------
117.. index:: cpuuse
118
119**SYNOPSYS:**
120
121.. code:: shell
122
123    cpuuse [-r]
124
125**DESCRIPTION:**
126
127This command may be used to print a report on the per thread cpu usage or to
128reset the per thread CPU usage statistics. When invoked with the ``-r`` option,
129the CPU usage statistics are reset.
130
131**EXIT STATUS:**
132
133This command returns 0 on success and non-zero if an error is encountered.
134
135**NOTES:**
136
137The granularity of the timing information reported is dependent upon the BSP
138and the manner in which RTEMS was built.  In the default RTEMS configuration,
139if the BSP supports nanosecond granularity timestamps, then the information
140reported will be highly accurate. Otherwise, the accuracy of the information
141reported is limited by the clock tick quantum.
142
143**EXAMPLES:**
144
145The following is an example of how to use ``cpuuse``:
146
147.. code:: shell
148
149    SHLL [/] $ cpuuse
150    CPU Usage by thread
151    ID            NAME         SECONDS   PERCENT
152    0x09010001   IDLE            49.745393   98.953
153    0x0a010001   UI1              0.000000    0.000
154    0x0a010002   SHLL             0.525928    1.046
155    Time since last CPU Usage reset 50.271321 seconds
156    SHLL [/] $ cpuuse -r
157    Resetting CPU Usage information
158    SHLL [/] $ cpuuse
159    CPU Usage by thread
160    ID            NAME         SECONDS   PERCENT
161    0x09010001   IDLE             0.000000    0.000
162    0x0a010001   UI1              0.000000    0.000
163    0x0a010002   SHLL             0.003092  100.000
164    Time since last CPU Usage reset 0.003092 seconds
165
166In the above example, the system had set idle for nearly a minute when the
167first report was generated.  The``cpuuse -r`` and ``cpuuse`` commands were
168pasted from another window so were executed with no gap between.  In the second
169report, only the ``shell`` thread has run since the CPU Usage was reset.  It
170has consumed approximately 3.092 milliseconds of CPU time processing the two
171commands and generating the output.
172
173**CONFIGURATION:**
174
175.. index:: CONFIGURE_SHELL_NO_COMMAND_CPUUSE
176.. index:: CONFIGURE_SHELL_COMMAND_CPUUSE
177
178This command is included in the default shell command set.  When building a
179custom command set, define ``CONFIGURE_SHELL_COMMAND_CPUUSE`` to have this
180command included.
181
182This command can be excluded from the shell command set by defining
183``CONFIGURE_SHELL_NO_COMMAND_CPUUSE`` when all shell commands have been
184configured.
185
186**PROGRAMMING INFORMATION:**
187
188.. index:: rtems_shell_rtems_main_cpuuse
189
190The ``cpuuse`` is implemented by a C language function which has the following
191prototype:
192
193.. code:: c
194
195    int rtems_shell_rtems_main_cpuuse(
196       int    argc,
197       char **argv
198    );
199
200The configuration structure for the ``cpuuse`` has the following prototype:
201
202.. code:: c
203
204    extern rtems_shell_cmd_t rtems_shell_CPUUSE_Command;
205
206.. _stackuse:
207
208stackuse - print per thread stack usage
209---------------------------------------
210.. index:: stackuse
211
212**SYNOPSYS:**
213
214.. code:: shell
215
216    stackuse
217
218**DESCRIPTION:**
219
220This command prints a Stack Usage Report for all of the tasks and threads in
221the system.  On systems which support it, the usage of the interrupt stack is
222also included in the report.
223
224**EXIT STATUS:**
225
226This command always succeeds and returns 0.
227
228**NOTES:**
229
230The ``CONFIGURE_STACK_CHECKER_ENABLED`` ``confdefs.h`` constant must be defined
231when the application is configured for this command to have any information to
232report.
233
234**EXAMPLES:**
235
236The following is an example of how to use ``stackuse``:
237
238.. code:: shell
239
240    SHLL [/] $ stackuse
241    Stack usage by thread
242    ID      NAME    LOW          HIGH     CURRENT     AVAILABLE     USED
243    0x09010001  IDLE 0x023d89a0 - 0x023d99af 0x023d9760      4096        608
244    0x0a010001  UI1  0x023d9f30 - 0x023daf3f 0x023dad18      4096       1804
245    0x0a010002  SHLL 0x023db4c0 - 0x023df4cf 0x023de9d0     16384       5116
246    0xffffffff  INTR 0x023d2760 - 0x023d375f 0x00000000      4080        316
247
248**CONFIGURATION:**
249
250.. index:: CONFIGURE_SHELL_NO_COMMAND_STACKUSE
251.. index:: CONFIGURE_SHELL_COMMAND_STACKUSE
252
253This command is included in the default shell command set.  When building a
254custom command set, define ``CONFIGURE_SHELL_COMMAND_STACKUSE`` to have this
255command included.
256
257This command can be excluded from the shell command set by defining
258``CONFIGURE_SHELL_NO_COMMAND_STACKUSE`` when all shell commands have been
259configured.
260
261**PROGRAMMING INFORMATION:**
262
263.. index:: rtems_shell_rtems_main_stackuse
264
265The ``stackuse`` is implemented by a C language function which has the
266following prototype:
267
268.. code:: c
269
270    int rtems_shell_rtems_main_stackuse(
271        int    argc,
272        char **argv
273    );
274
275The configuration structure for the ``stackuse`` has the following prototype:
276
277.. code:: c
278
279    extern rtems_shell_cmd_t rtems_shell_STACKUSE_Command;
280
281.. _perioduse:
282
283perioduse - print or reset per period usage
284-------------------------------------------
285.. index:: perioduse
286
287**SYNOPSYS:**
288
289.. code:: shell
290
291    perioduse [-r]
292
293**DESCRIPTION:**
294
295This command may be used to print a statistics report on the rate monotonic
296periods in the application or to reset the rate monotonic period usage
297statistics. When invoked with the ``-r`` option, the usage statistics are
298reset.
299
300**EXIT STATUS:**
301
302This command returns 0 on success and non-zero if an error is encountered.
303
304**NOTES:**
305
306The granularity of the timing information reported is dependent upon the BSP
307and the manner in which RTEMS was built.  In the default RTEMS configuration,
308if the BSP supports nanosecond granularity timestamps, then the information
309reported will be highly accurate. Otherwise, the accuracy of the information
310reported is limited by the clock tick quantum.
311
312**EXAMPLES:**
313
314The following is an example of how to use ``perioduse``:
315
316.. code:: shell
317
318    SHLL [/] $ perioduse
319    Period information by period
320    --- CPU times are in seconds ---
321    --- Wall times are in seconds ---
322    ID     OWNER COUNT MISSED          CPU TIME                  WALL TIME
323    MIN/MAX/AVG                MIN/MAX/AVG
324    0x42010001 TA1    502      0 0:000039/0:042650/0:004158 0:000039/0:020118/0:002848
325    0x42010002 TA2    502      0 0:000041/0:042657/0:004309 0:000041/0:020116/0:002848
326    0x42010003 TA3    501      0 0:000041/0:041564/0:003653 0:000041/0:020003/0:002814
327    0x42010004 TA4    501      0 0:000043/0:044075/0:004911 0:000043/0:020004/0:002814
328    0x42010005 TA5     10      0 0:000065/0:005413/0:002739 0:000065/1:000457/0:041058
329    MIN/MAX/AVG                MIN/MAX/AVG
330    SHLL [/] $ perioduse -r
331    Resetting Period Usage information
332    SHLL [/] $ perioduse
333    --- CPU times are in seconds ---
334    --- Wall times are in seconds ---
335    ID     OWNER COUNT MISSED          CPU TIME                  WALL TIME
336    MIN/MAX/AVG                MIN/MAX/AVG
337    0x42010001 TA1      0      0
338    0x42010002 TA2      0      0
339    0x42010003 TA3      0      0
340    0x42010004 TA4      0      0
341    0x42010005 TA5      0      0
342
343**CONFIGURATION:**
344
345.. index:: CONFIGURE_SHELL_NO_COMMAND_PERIODUSE
346.. index:: CONFIGURE_SHELL_COMMAND_PERIODUSE
347
348This command is included in the default shell command set.  When building a
349custom command set, define ``CONFIGURE_SHELL_COMMAND_PERIODUSE`` to have this
350command included.
351
352This command can be excluded from the shell command set by defining
353``CONFIGURE_SHELL_NO_COMMAND_PERIODUSE`` when all shell commands have been
354configured.
355
356**PROGRAMMING INFORMATION:**
357
358.. index:: rtems_shell_rtems_main_perioduse
359
360The ``perioduse`` is implemented by a C language function
361which has the following prototype:
362
363.. code:: c
364
365    int rtems_shell_rtems_main_perioduse(
366        int    argc,
367        char **argv
368    );
369
370The configuration structure for the ``perioduse`` has the following prototype:
371
372.. code:: c
373
374    extern rtems_shell_cmd_t rtems_shell_PERIODUSE_Command;
375
376.. _profreport:
377
378profreport - print a profiling report
379-------------------------------------
380.. index:: profreport
381
382**SYNOPSYS:**
383
384.. code:: shell
385
386    profreport
387
388**DESCRIPTION:**
389
390This command may be used to print a profiling report if profiling is built into
391the RTEMS kernel.
392
393**EXIT STATUS:**
394
395This command returns 0.
396
397**NOTES:**
398
399Profiling must be enabled at build configuration time to get profiling
400information.
401
402**EXAMPLES:**
403
404The following is an example of how to use ``profreport``:
405
406.. code:: shell
407
408    SHLL [/] $ profreport
409    <ProfilingReport name="Shell">
410    <PerCPUProfilingReport processorIndex="0">
411    <MaxThreadDispatchDisabledTime unit="ns">10447</MaxThreadDispatchDisabledTime>
412    <MeanThreadDispatchDisabledTime unit="ns">2</MeanThreadDispatchDisabledTime>
413    <TotalThreadDispatchDisabledTime unit="ns">195926627</TotalThreadDispatchDisabledTime>
414    <ThreadDispatchDisabledCount>77908688</ThreadDispatchDisabledCount>
415    <MaxInterruptDelay unit="ns">0</MaxInterruptDelay>
416    <MaxInterruptTime unit="ns">688</MaxInterruptTime>
417    <MeanInterruptTime unit="ns">127</MeanInterruptTime>
418    <TotalInterruptTime unit="ns">282651157</TotalInterruptTime>
419    <InterruptCount>2215855</InterruptCount>
420    </PerCPUProfilingReport>
421    <PerCPUProfilingReport processorIndex="1">
422    <MaxThreadDispatchDisabledTime unit="ns">9053</MaxThreadDispatchDisabledTime>
423    <MeanThreadDispatchDisabledTime unit="ns">41</MeanThreadDispatchDisabledTime>
424    <TotalThreadDispatchDisabledTime unit="ns">3053830335</TotalThreadDispatchDisabledTime>
425    <ThreadDispatchDisabledCount>73334202</ThreadDispatchDisabledCount>
426    <MaxInterruptDelay unit="ns">0</MaxInterruptDelay>
427    <MaxInterruptTime unit="ns">57</MaxInterruptTime>
428    <MeanInterruptTime unit="ns">35</MeanInterruptTime>
429    <TotalInterruptTime unit="ns">76980203</TotalInterruptTime>
430    <InterruptCount>2141179</InterruptCount>
431    </PerCPUProfilingReport>
432    <SMPLockProfilingReport name="SMP lock stats">
433    <MaxAcquireTime unit="ns">608</MaxAcquireTime>
434    <MaxSectionTime unit="ns">1387</MaxSectionTime>
435    <MeanAcquireTime unit="ns">112</MeanAcquireTime>
436    <MeanSectionTime unit="ns">338</MeanSectionTime>
437    <TotalAcquireTime unit="ns">119031</TotalAcquireTime>
438    <TotalSectionTime unit="ns">357222</TotalSectionTime>
439    <UsageCount>1055</UsageCount>
440    <ContentionCount initialQueueLength="0">1055</ContentionCount>
441    <ContentionCount initialQueueLength="1">0</ContentionCount>
442    <ContentionCount initialQueueLength="2">0</ContentionCount>
443    <ContentionCount initialQueueLength="3">0</ContentionCount>
444    </SMPLockProfilingReport>
445    <SMPLockProfilingReport name="Giant">
446    <MaxAcquireTime unit="ns">4186</MaxAcquireTime>
447    <MaxSectionTime unit="ns">7575</MaxSectionTime>
448    <MeanAcquireTime unit="ns">160</MeanAcquireTime>
449    <MeanSectionTime unit="ns">183</MeanSectionTime>
450    <TotalAcquireTime unit="ns">1772793111</TotalAcquireTime>
451    <TotalSectionTime unit="ns">2029733879</TotalSectionTime>
452    <UsageCount>11039140</UsageCount>
453    <ContentionCount initialQueueLength="0">11037655</ContentionCount>
454    <ContentionCount initialQueueLength="1">1485</ContentionCount>
455    <ContentionCount initialQueueLength="2">0</ContentionCount>
456    <ContentionCount initialQueueLength="3">0</ContentionCount>
457    </SMPLockProfilingReport>
458    </ProfilingReport>
459
460**CONFIGURATION:**
461
462.. index:: CONFIGURE_SHELL_NO_COMMAND_PROFREPORT
463.. index:: CONFIGURE_SHELL_COMMAND_PROFREPORT
464
465When building a custom command set, define
466``CONFIGURE_SHELL_COMMAND_PROFREPORT`` to have this command included.
467
468This command can be excluded from the shell command set by defining
469``CONFIGURE_SHELL_NO_COMMAND_PROFREPORT`` when all shell commands have been
470configured.
471
472**PROGRAMMING INFORMATION:**
473
474The configuration structure for the ``profreport`` has the following prototype:
475
476.. code:: c
477
478    extern rtems_shell_cmd_t rtems_shell_PROFREPORT_Command;
479
480.. _wkspace:
481
482wkspace - display information on executive workspace
483----------------------------------------------------
484.. index:: wkspace
485
486**SYNOPSYS:**
487
488.. code:: shell
489
490    wkspace
491
492**DESCRIPTION:**
493
494This command prints information on the current state of the RTEMS Executive
495Workspace reported.  This includes the following information:
496
497- Number of free blocks
498
499- Largest free block
500
501- Total bytes free
502
503- Number of used blocks
504
505- Largest used block
506
507- Total bytes used
508
509**EXIT STATUS:**
510
511This command always succeeds and returns 0.
512
513**NOTES:**
514
515NONE
516
517**EXAMPLES:**
518
519The following is an example of how to use ``wkspace``:
520
521.. code:: shell
522
523    SHLL [/] $ wkspace
524    Number of free blocks: 1
525    Largest free block:    132336
526    Total bytes free:      132336
527    Number of used blocks: 36
528    Largest used block:    16408
529    Total bytes used:      55344
530
531**CONFIGURATION:**
532
533.. index:: CONFIGURE_SHELL_NO_COMMAND_WKSPACE
534.. index:: CONFIGURE_SHELL_COMMAND_WKSPACE
535
536This command is included in the default shell command set.  When building a
537custom command set, define ``CONFIGURE_SHELL_COMMAND_WKSPACE`` to have this
538command included.
539
540This command can be excluded from the shell command set by defining
541``CONFIGURE_SHELL_NO_COMMAND_WKSPACE`` when all shell commands have been
542configured.
543
544**PROGRAMMING INFORMATION:**
545
546.. index:: rtems_shell_rtems_main_wkspace
547
548The ``wkspace`` is implemented by a C language function which has the following
549prototype:
550
551.. code:: c
552
553    int rtems_shell_rtems_main_wkspace(
554        int    argc,
555        char **argv
556    );
557
558The configuration structure for the ``wkspace`` has the following prototype:
559
560.. code:: c
561
562    extern rtems_shell_cmd_t rtems_shell_WKSPACE_Command;
563
564.. _config:
565
566config - show the system configuration.
567---------------------------------------
568.. index:: config
569
570**SYNOPSYS:**
571
572.. code:: shell
573
574    config
575
576**DESCRIPTION:**
577
578This command display information about the RTEMS Configuration.
579
580**EXIT STATUS:**
581
582This command always succeeds and returns 0.
583
584**NOTES:**
585
586At this time, it does not report every configuration parameter.  This is an
587area in which user submissions or sponsorship of a developer would be
588appreciated.
589
590**EXAMPLES:**
591
592The following is an example of how to use ``config``:
593
594.. code:: shell
595
596    SHLL [/] $ config
597    INITIAL (startup) Configuration Info
598
599    WORKSPACE      start: 0x23d22e0;  size: 0x2dd20
600    TIME           usec/tick: 10000;  tick/timeslice: 50;  tick/sec: 100
601    MAXIMUMS       tasks: 20;  timers: 0;  sems: 50;  que's: 20;  ext's: 1
602    partitions: 0;  regions: 0;  ports: 0;  periods: 0
603
604**CONFIGURATION:**
605
606.. index:: CONFIGURE_SHELL_NO_COMMAND_CONFIG
607.. index:: CONFIGURE_SHELL_COMMAND_CONFIG
608
609This command is included in the default shell command set.  When building a
610custom command set, define ``CONFIGURE_SHELL_COMMAND_CONFIG`` to have this
611command included.
612
613This command can be excluded from the shell command set by defining
614``CONFIGURE_SHELL_NO_COMMAND_CONFIG`` when all shell commands have been
615configured.
616
617**PROGRAMMING INFORMATION:**
618
619.. index:: rtems_shell_rtems_main_config
620
621The ``config`` is implemented by a C language function which has the following
622prototype:
623
624.. code:: c
625
626    int rtems_shell_rtems_main_config(
627        int    argc,
628        char **argv
629    );
630
631The configuration structure for the ``config`` has the following prototype:
632
633.. code:: c
634
635    extern rtems_shell_cmd_t rtems_shell_CONFIG_Command;
636
637.. _itask:
638
639itask - list init tasks for the system
640--------------------------------------
641.. index:: itask
642
643**SYNOPSYS:**
644
645.. code:: shell
646
647    itask
648
649**DESCRIPTION:**
650
651This command prints a report on the set of initialization tasks and threads in
652the system.
653
654**EXIT STATUS:**
655
656This command always succeeds and returns 0.
657
658**NOTES:**
659
660At this time, it includes only Classic API Initialization Tasks.  This is an
661area in which user submissions or sponsorship of a developer would be
662appreciated.
663
664**EXAMPLES:**
665
666The following is an example of how to use ``itask``:
667
668.. code:: shell
669
670    SHLL [/] $ itask
671    #    NAME   ENTRY        ARGUMENT    PRIO   MODES  ATTRIBUTES   STACK SIZE
672    ------------------------------------------------------------------------------
673    0   UI1    [0x2002258] 0 [0x0]        1    nP      DEFAULT     4096 [0x1000]
674
675**CONFIGURATION:**
676
677.. index:: CONFIGURE_SHELL_NO_COMMAND_ITASK
678.. index:: CONFIGURE_SHELL_COMMAND_ITASK
679
680This command is included in the default shell command set.  When building a
681custom command set, define ``CONFIGURE_SHELL_COMMAND_ITASK`` to have this
682command included.
683
684This command can be excluded from the shell command set by defining
685``CONFIGURE_SHELL_NO_COMMAND_ITASK`` when all shell commands have been
686configured.
687
688**PROGRAMMING INFORMATION:**
689
690.. index:: rtems_shell_rtems_main_itask
691
692The ``itask`` is implemented by a C language function which has the following
693prototype:
694
695.. code:: c
696
697    int rtems_shell_rtems_main_itask(
698        int    argc,
699        char **argv
700    );
701
702The configuration structure for the ``itask`` has the following prototype:
703
704.. code:: c
705
706    extern rtems_shell_cmd_t rtems_shell_ITASK_Command;
707
708.. _extension:
709
710extension - display information about extensions
711------------------------------------------------
712.. index:: extension
713
714**SYNOPSYS:**
715
716.. code:: shell
717
718    extension [id [id ...]]
719
720**DESCRIPTION:**
721
722When invoked with no arguments, this command prints information on the set of
723User Extensions currently active in the system.
724
725If invoked with a set of ids as arguments, then just those objects are included
726in the information printed.
727
728**EXIT STATUS:**
729
730This command returns 0 on success and non-zero if an error is encountered.
731
732**NOTES:**
733
734NONE
735
736**EXAMPLES:**
737
738The following is an example of using the ``extension`` command
739on a system with no user extensions.
740
741.. code:: shell
742
743    SHLL [/] $ extension
744    ID       NAME
745    ------------------------------------------------------------------------------
746
747**CONFIGURATION:**
748
749.. index:: CONFIGURE_SHELL_NO_COMMAND_EXTENSION
750.. index:: CONFIGURE_SHELL_COMMAND_EXTENSION
751
752This command is included in the default shell command set.  When building a
753custom command set, define ``CONFIGURE_SHELL_COMMAND_EXTENSION`` to have this
754command included.
755
756This command can be excluded from the shell command set by defining
757``CONFIGURE_SHELL_NO_COMMAND_EXTENSION`` when all shell commands have been
758configured.
759
760**PROGRAMMING INFORMATION:**
761
762.. index:: rtems_shell_rtems_main_extension
763
764The ``extension`` is implemented by a C language function which has the
765following prototype:
766
767.. code:: c
768
769    int rtems_shell_rtems_main_extension(
770        int    argc,
771        char **argv
772    );
773
774The configuration structure for the ``extension`` has the following prototype:
775
776.. code:: c
777
778    extern rtems_shell_cmd_t rtems_shell_EXTENSION_Command;
779
780.. _task:
781
782task - display information about tasks
783--------------------------------------
784.. index:: task
785
786**SYNOPSYS:**
787
788.. code:: shell
789
790    task [id [id ...]]
791
792**DESCRIPTION:**
793
794When invoked with no arguments, this command prints information on the set of
795Classic API Tasks currently active in the system.
796
797If invoked with a set of ids as arguments, then just those objects are included
798in the information printed.
799
800**EXIT STATUS:**
801
802This command returns 0 on success and non-zero if an error is encountered.
803
804**NOTES:**
805
806NONE
807
808**EXAMPLES:**
809
810The following is an example of how to use the ``task`` on an application with
811just two Classic API tasks:
812
813.. code:: shell
814
815    SHLL [/] $ task
816    ID       NAME   PRIO   STAT   MODES  EVENTS   WAITID  WAITARG  NOTES
817    ------------------------------------------------------------------------------
818    0a010001   UI1      1   SUSP   P:T:nA  NONE
819    0a010002   SHLL   100   READY  P:T:nA  NONE
820
821**CONFIGURATION:**
822
823.. index:: CONFIGURE_SHELL_NO_COMMAND_TASK
824.. index:: CONFIGURE_SHELL_COMMAND_TASK
825
826This command is included in the default shell command set.  When building a
827custom command set, define ``CONFIGURE_SHELL_COMMAND_TASK`` to have this
828command included.
829
830This command can be excluded from the shell command set by defining
831``CONFIGURE_SHELL_NO_COMMAND_TASK`` when all shell commands have been
832configured.
833
834**PROGRAMMING INFORMATION:**
835
836.. index:: rtems_shell_rtems_main_task
837
838The ``task`` is implemented by a C language function which has the following
839prototype:
840
841.. code:: shell
842
843    int rtems_shell_rtems_main_task(
844        int    argc,
845        char **argv
846    );
847
848The configuration structure for the ``task`` has the following prototype:
849
850.. code:: c
851
852    extern rtems_shell_cmd_t rtems_shell_TASK_Command;
853
854.. _queue:
855
856queue - display information about message queues
857------------------------------------------------
858.. index:: queue
859
860**SYNOPSYS:**
861
862.. code:: shell
863
864    queue [id [id ... ]]
865
866**DESCRIPTION:**
867
868When invoked with no arguments, this command prints information on the set of
869Classic API Message Queues currently active in the system.
870
871If invoked with a set of ids as arguments, then just those objects are included
872in the information printed.
873
874**EXIT STATUS:**
875
876This command returns 0 on success and non-zero if an error is encountered.
877
878**NOTES:**
879
880NONE
881
882**EXAMPLES:**
883
884The following is an example of using the ``queue`` command on a system with no
885Classic API Message Queues.
886
887.. code:: shell
888
889    SHLL [/] $ queue
890    ID       NAME   ATTRIBUTES   PEND   MAXPEND  MAXSIZE
891    ------------------------------------------------------------------------------
892
893**CONFIGURATION:**
894
895.. index:: CONFIGURE_SHELL_NO_COMMAND_QUEUE
896.. index:: CONFIGURE_SHELL_COMMAND_QUEUE
897
898This command is included in the default shell command set.  When building a
899custom command set, define ``CONFIGURE_SHELL_COMMAND_QUEUE`` to have this
900command included.
901
902This command can be excluded from the shell command set by defining
903``CONFIGURE_SHELL_NO_COMMAND_QUEUE`` when all shell commands have been
904configured.
905
906**PROGRAMMING INFORMATION:**
907
908.. index:: rtems_shell_rtems_main_queue
909
910The ``queue`` is implemented by a C language function which has the following
911prototype:
912
913.. code:: c
914
915    int rtems_shell_rtems_main_queue(
916        int    argc,
917        char **argv
918    );
919
920The configuration structure for the ``queue`` has the following prototype:
921
922.. code:: c
923
924    extern rtems_shell_cmd_t rtems_shell_QUEUE_Command;
925
926.. _sema:
927
928sema - display information about semaphores
929-------------------------------------------
930.. index:: sema
931
932**SYNOPSYS:**
933
934.. code:: shell
935
936    sema [id [id ... ]]
937
938**DESCRIPTION:**
939
940When invoked with no arguments, this command prints information on the set of
941Classic API Semaphores currently active in the system.
942
943If invoked with a set of objects ids as arguments, then just those objects are
944included in the information printed.
945
946**EXIT STATUS:**
947
948This command returns 0 on success and non-zero if an error is encountered.
949
950**NOTES:**
951
952NONE
953
954**EXAMPLES:**
955
956The following is an example of how to use ``sema``:
957
958.. code:: shell
959
960    SHLL [/] $ sema
961    ID       NAME   ATTR        PRICEIL CURR_CNT HOLDID
962    ------------------------------------------------------------------------------
963    1a010001   LBIO   PR:BI:IN      0        1     00000000
964    1a010002   TRmi   PR:BI:IN      0        1     00000000
965    1a010003   LBI00  PR:BI:IN      0        1     00000000
966    1a010004   TRia   PR:BI:IN      0        1     00000000
967    1a010005   TRoa   PR:BI:IN      0        1     00000000
968    1a010006   TRxa   <assoc.c: BAD NAME>   0    0 09010001
969    1a010007   LBI01  PR:BI:IN      0        1     00000000
970    1a010008   LBI02  PR:BI:IN      0        1     00000000
971
972**CONFIGURATION:**
973
974.. index:: CONFIGURE_SHELL_NO_COMMAND_SEMA
975.. index:: CONFIGURE_SHELL_COMMAND_SEMA
976
977This command is included in the default shell command set.  When building a
978custom command set, define ``CONFIGURE_SHELL_COMMAND_SEMA`` to have this
979command included.
980
981This command can be excluded from the shell command set by defining
982``CONFIGURE_SHELL_NO_COMMAND_SEMA`` when all shell commands have been
983configured.
984
985**PROGRAMMING INFORMATION:**
986
987.. index:: rtems_shell_rtems_main_sema
988
989The ``sema`` is implemented by a C language function which has the following
990prototype:
991
992.. code:: c
993
994    int rtems_shell_rtems_main_sema(
995        int    argc,
996        char **argv
997    );
998
999The configuration structure for the ``sema`` has the following prototype:
1000
1001.. code:: c
1002
1003    extern rtems_shell_cmd_t rtems_shell_SEMA_Command;
1004
1005.. _region:
1006
1007region - display information about regions
1008------------------------------------------
1009.. index:: region
1010
1011**SYNOPSYS:**
1012
1013.. code:: shell
1014
1015    region [id [id ... ]]
1016
1017**DESCRIPTION:**
1018
1019When invoked with no arguments, this command prints information on the set of
1020Classic API Regions currently active in the system.
1021
1022If invoked with a set of object ids as arguments, then just those object are
1023included in the information printed.
1024
1025**EXIT STATUS:**
1026
1027This command returns 0 on success and non-zero if an error is encountered.
1028
1029**NOTES:**
1030
1031NONE
1032
1033**EXAMPLES:**
1034
1035The following is an example of using the ``region`` command on a system with no
1036user extensions.
1037
1038.. code:: shell
1039
1040    SHLL [/] $ region
1041    ID       NAME   ATTR        STARTADDR LENGTH    PAGE_SIZE USED_BLOCKS
1042    ------------------------------------------------------------------------------
1043
1044**CONFIGURATION:**
1045
1046.. index:: CONFIGURE_SHELL_NO_COMMAND_REGION
1047.. index:: CONFIGURE_SHELL_COMMAND_REGION
1048
1049This command is included in the default shell command set.  When building a
1050custom command set, define ``CONFIGURE_SHELL_COMMAND_REGION`` to have this
1051command included.
1052
1053This command can be excluded from the shell command set by defining
1054``CONFIGURE_SHELL_NO_COMMAND_REGION`` when all shell commands have been
1055configured.
1056
1057**PROGRAMMING INFORMATION:**
1058
1059.. index:: rtems_shell_rtems_main_region
1060
1061The ``region`` is implemented by a C language function which has the following
1062prototype:
1063
1064.. code:: c
1065
1066    int rtems_shell_rtems_main_region(
1067        int    argc,
1068        char **argv
1069    );
1070
1071The configuration structure for the ``region`` has the following prototype:
1072
1073.. code:: c
1074
1075    extern rtems_shell_cmd_t rtems_shell_REGION_Command;
1076
1077.. _part:
1078
1079part - display information about partitions
1080-------------------------------------------
1081.. index:: part
1082
1083**SYNOPSYS:**
1084
1085.. code:: shell
1086
1087    part [id [id ... ]]
1088
1089**DESCRIPTION:**
1090
1091When invoked with no arguments, this command prints information on the set of
1092Classic API Partitions currently active in the system.
1093
1094If invoked with a set of object ids as arguments, then just those objects are
1095included in the information printed.
1096
1097**EXIT STATUS:**
1098
1099This command returns 0 on success and non-zero if an error is encountered.
1100
1101**NOTES:**
1102
1103NONE
1104
1105**EXAMPLES:**
1106
1107The following is an example of using the ``part`` command on a system with no
1108user extensions.
1109
1110.. code:: shell
1111
1112    SHLL [/] $ part
1113    ID       NAME   ATTR        STARTADDR LENGTH    BUF_SIZE  USED_BLOCKS
1114    ------------------------------------------------------------------------------
1115
1116**CONFIGURATION:**
1117
1118.. index:: CONFIGURE_SHELL_NO_COMMAND_PART
1119.. index:: CONFIGURE_SHELL_COMMAND_PART
1120
1121This command is included in the default shell command set.  When building a
1122custom command set, define ``CONFIGURE_SHELL_COMMAND_PART`` to have this
1123command included.
1124
1125This command can be excluded from the shell command set by defining
1126``CONFIGURE_SHELL_NO_COMMAND_PART`` when all shell commands have been
1127configured.
1128
1129**PROGRAMMING INFORMATION:**
1130
1131.. index:: rtems_shell_rtems_main_part
1132
1133The ``part`` is implemented by a C language function which has the following
1134prototype:
1135
1136.. code:: c
1137
1138    int rtems_shell_rtems_main_part(
1139        int    argc,
1140        char **argv
1141    );
1142
1143The configuration structure for the ``part`` has the following prototype:
1144
1145.. code:: c
1146
1147    extern rtems_shell_cmd_t rtems_shell_PART_Command;
1148
1149.. _object:
1150
1151object - display information about rtems objects
1152------------------------------------------------
1153.. index:: object
1154
1155**SYNOPSYS:**
1156
1157.. code:: shell
1158
1159    object [id [id ...]]
1160
1161**DESCRIPTION:**
1162
1163When invoked with a set of object ids as arguments, then a report on those
1164objects is printed.
1165
1166**EXIT STATUS:**
1167
1168This command returns 0 on success and non-zero if an error is encountered.
1169
1170**NOTES:**
1171
1172NONE
1173
1174**EXAMPLES:**
1175
1176The following is an example of how to use ``object``:
1177
1178.. code:: shell
1179
1180    SHLL [/] $ object 0a010001 1a010002
1181    ID       NAME   PRIO   STAT   MODES  EVENTS   WAITID  WAITARG  NOTES
1182    ------------------------------------------------------------------------------
1183    0a010001   UI1      1   SUSP   P:T:nA  NONE
1184    ID       NAME   ATTR        PRICEIL CURR_CNT HOLDID
1185    ------------------------------------------------------------------------------
1186    1a010002   TRmi   PR:BI:IN      0        1     00000000
1187
1188**CONFIGURATION:**
1189
1190.. index:: CONFIGURE_SHELL_NO_COMMAND_OBJECT
1191.. index:: CONFIGURE_SHELL_COMMAND_OBJECT
1192
1193This command is included in the default shell command set.  When building a
1194custom command set, define ``CONFIGURE_SHELL_COMMAND_OBJECT`` to have this
1195command included.
1196
1197This command can be excluded from the shell command set by defining
1198``CONFIGURE_SHELL_NO_COMMAND_OBJECT`` when all shell commands have been
1199configured.
1200
1201**PROGRAMMING INFORMATION:**
1202
1203.. index:: rtems_shell_rtems_main_object
1204
1205The ``object`` is implemented by a C language function which has the following
1206prototype:
1207
1208.. code:: c
1209
1210    int rtems_shell_rtems_main_object(
1211        int    argc,
1212        char **argv
1213    );
1214
1215The configuration structure for the ``object`` has the
1216following prototype:
1217
1218.. code:: c
1219
1220    extern rtems_shell_cmd_t rtems_shell_OBJECT_Command;
1221
1222.. _driver:
1223
1224driver - display the rtems device driver table
1225----------------------------------------------
1226.. index:: driver
1227
1228**SYNOPSYS:**
1229
1230.. code:: shell
1231
1232    driver [major [major ...]]
1233
1234**DESCRIPTION:**
1235
1236When invoked with no arguments, this command prints information on the set of
1237Device Drivers currently active in the system.
1238
1239If invoked with a set of major numbers as arguments, then just those Device
1240Drivers are included in the information printed.
1241
1242**EXIT STATUS:**
1243
1244This command returns 0 on success and non-zero if an error is encountered.
1245
1246**NOTES:**
1247
1248NONE
1249
1250**EXAMPLES:**
1251
1252The following is an example of how to use ``driver``:
1253
1254.. code:: shell
1255
1256    SHLL [/] $ driver
1257    Major      Entry points
1258    ------------------------------------------------------------------------------
1259    0          init: [0x200256c];  control: [0x20024c8]
1260    open: [0x2002518];  close: [0x2002504]
1261    read: [0x20024f0];  write: [0x20024dc]
1262    1          init: [0x20023fc];  control: [0x2002448]
1263    open: [0x0];  close: [0x0]
1264    read: [0x0];  write: [0x0]
1265    SHLL [/] $
1266
1267**CONFIGURATION:**
1268
1269.. index:: CONFIGURE_SHELL_NO_COMMAND_DRIVER
1270.. index:: CONFIGURE_SHELL_COMMAND_DRIVER
1271
1272This command is included in the default shell command set.  When building a
1273custom command set, define ``CONFIGURE_SHELL_COMMAND_DRIVER`` to have this
1274command included.
1275
1276This command can be excluded from the shell command set by defining
1277``CONFIGURE_SHELL_NO_COMMAND_DRIVER`` when all shell commands have been
1278configured.
1279
1280**PROGRAMMING INFORMATION:**
1281
1282.. index:: rtems_shell_rtems_main_driver
1283
1284The ``driver`` is implemented by a C language function which has the following
1285prototype:
1286
1287.. code:: c
1288
1289    int rtems_shell_rtems_main_driver(
1290        int    argc,
1291        char **argv
1292    );
1293
1294The configuration structure for the ``driver`` has the following prototype:
1295
1296.. code:: c
1297
1298    extern rtems_shell_cmd_t rtems_shell_DRIVER_Command;
1299
1300.. _dname:
1301
1302dname - displays information about named drivers
1303------------------------------------------------
1304.. index:: dname
1305
1306**SYNOPSYS:**
1307
1308.. code:: shell
1309
1310    dname
1311
1312**DESCRIPTION:**
1313
1314WARNING! This command does not appear to work as of 27 February 2008.
1315
1316**EXIT STATUS:**
1317
1318This command returns 0 on success and non-zero if an error is encountered.
1319
1320**NOTES:**
1321
1322NONE
1323
1324**EXAMPLES:**
1325
1326The following is an example of how to use ``dname``:
1327
1328.. code:: shell
1329
1330    EXAMPLE_TBD
1331
1332**CONFIGURATION:**
1333
1334.. index:: CONFIGURE_SHELL_NO_COMMAND_DNAME
1335.. index:: CONFIGURE_SHELL_COMMAND_DNAME
1336
1337This command is included in the default shell command set.  When building a
1338custom command set, define ``CONFIGURE_SHELL_COMMAND_DNAME`` to have this
1339command included.
1340
1341This command can be excluded from the shell command set by defining
1342``CONFIGURE_SHELL_NO_COMMAND_DNAME`` when all shell commands have been
1343configured.
1344
1345**PROGRAMMING INFORMATION:**
1346
1347.. index:: rtems_shell_rtems_main_dname
1348
1349The ``dname`` is implemented by a C language function which has the following
1350prototype:
1351
1352.. code:: c
1353
1354    int rtems_shell_rtems_main_dname(
1355        int    argc,
1356        char **argv
1357    );
1358
1359The configuration structure for the ``dname`` has the following prototype:
1360
1361.. code:: c
1362
1363    extern rtems_shell_cmd_t rtems_shell_DNAME_Command;
1364
1365.. _pthread:
1366
1367pthread - display information about POSIX threads
1368-------------------------------------------------
1369.. index:: pthread
1370
1371**SYNOPSYS:**
1372
1373.. code:: shell
1374
1375    pthread [id [id ...]]
1376
1377**DESCRIPTION:**
1378
1379When invoked with no arguments, this command prints information on the set of
1380POSIX API threads currently active in the system.
1381
1382If invoked with a set of ids as arguments, then just those objects are included
1383in the information printed.
1384
1385**EXIT STATUS:**
1386
1387This command returns 0 on success and non-zero if an error is encountered.
1388
1389**NOTES:**
1390
1391This command is only available when the POSIX API is configured.
1392
1393**EXAMPLES:**
1394
1395The following is an example of how to use the ``task`` on an application with
1396four POSIX threads:
1397
1398.. code:: shell
1399
1400    SHLL [/] $ pthread
1401    ID       NAME           PRI  STATE MODES   EVENTS    WAITID  WAITARG  NOTES
1402    ------------------------------------------------------------------------------
1403    0b010002   Main           133 READY  P:T:nA    NONE   43010001 0x7b1148
1404    0b010003   ISR            133 Wcvar  P:T:nA    NONE   43010003 0x7b1148
1405    0b01000c                  133 READY  P:T:nA    NONE   33010002 0x7b1148
1406    0b01000d                  133 Wmutex P:T:nA    NONE   33010002 0x7b1148
1407
1408**CONFIGURATION:**
1409
1410This command is part of the monitor commands which are always available in the
1411shell.
1412
1413**PROGRAMMING INFORMATION:**
1414
1415This command is not directly available for invocation.
Note: See TracBrowser for help on using the repository browser.