® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter...
-
Upload
nathan-obrien -
Category
Documents
-
view
226 -
download
0
Transcript of ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter...
![Page 1: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/1.jpg)
®3-1
WindSh and BrowserWindSh and Browser
3.1 WindSh
Browser
![Page 2: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/2.jpg)
®3-2
WindShWindSh
Interactive C-expression interpreter allows:– Accessing VxWorks facilities
– Downloading and invoking code
– Creating and examining variables
Interactive Tcl interpreter allows:– Defining user commands
– Automating interactions with target.
For UNIX hosts, invoke from the LauncherLauncher. (UNIX Host)
For PC host, invoke from the Tornado development environment ToolsTools menu or launch toolbar. (PC Host)
![Page 3: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/3.jpg)
®3-3
How the Shell Interprets CommandsHow the Shell Interprets Commands
WindSh uses the target server’s system symbol table and the following rules to interpret names in expressions:
-> retVal = printf (“Foo is %d\n”, foo)-> i (tWdbTask)
1.Use a WindSh built-in command in preference to a target symbol of the same name.
2.Look for symbol in the symbol table.
3.Look for _symbol in the symbol table.
4.Convert a task name to a task ID.
5.Create symbol if it is to the left of ‘=‘ and does not exist in the symbol table or as a task name.
![Page 4: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/4.jpg)
®3-4
System Symbol TableSystem Symbol Table
-> x = 10new symbol "x" added to symbol table.x = 0xda188: value = 10 = 0xa
![Page 5: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/5.jpg)
®3-5
WindSh as a C InterpreterWindSh as a C Interpreter
Shell command syntax is generally the same as the C programming language:
-> x = (8 * 6) / 4x = 0x20ff378: value = 12 = 0xc
-> Nom = “Nelson”new symbol “Nom” added to symbol table.Nom = 0x23fe798: value = 37742496 = 0x23fe7a0 = Nom + 0x8
-> printf (“Hello %s, number is %d.\n”, Nom, 0x20)Hello Nelson, number is 32.value = 28 = 0x1c
-> &xvalue = 34599800 = 0x20ff378 = x
![Page 6: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/6.jpg)
®3-6
Syntax QuirksSyntax Quirks
WindSh built-in functions screen target symbols of the same name. To access the target symbol rather than the built-in, prefix its name with ‘@’ :-> @i = @i + 3-> @i = @i + 3
Target functions are always called (spawned) with 10 integer arguments. For example,-> 2 * foo (&mac, 27)-> 2 * foo (&mac, 27) is really-> 2 * foo (&mac, 27, 0,0,0,0,0,0,0,0)-> 2 * foo (&mac, 27, 0,0,0,0,0,0,0,0)
If the entire expression is a function call, with the function name first on the line, parentheses may be omitted:-> foo &mac, 27-> foo &mac, 27 but not-> 2 * foo &mac, 27-> 2 * foo &mac, 27
![Page 7: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/7.jpg)
®3-7
Caveat - Examining VariablesCaveat - Examining Variables
The shell interprets all variables as 32-bit integers unless specified otherwise.Casts must be used to tell the shell how to interpret non-integer
types.
-> z = (short) 0x90-> z = (short) 0x90z = 0x20ff370: value =144 = 0x90-> (short) z-> (short) zz = 0x20ff370: value = 144 = 0x90-> z-> zz = 0x20ff370: value = 9498350 = 0x90eeee
All variables created in the WindSh are allocated 8 bytes of target memory, to preserve space in case the variable’s value is changed to a double.
![Page 8: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/8.jpg)
®3-8
Caveat - Data StructuresCaveat - Data Structures
The shell does not recognize data structures. To view and manipulate data structures, use a source-level debugger.
To display memory:
-> d pMyBuf003fe770 0023 09ea e030 2647 a682 eeee * #...0&G....*003fe780 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe790 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe7a0 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe7b0 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe7c0 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe7d0 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe7e0 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe7f0 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe800 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe810 eeee eeee eeee eeee eeee eeee eeee eeee *................*003fe820 eeee eeee eeee eeee eeee eeee eeee eeee *................*
![Page 9: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/9.jpg)
®3-9
Caveat - MacrosCaveat - Macros
The shell does not recognize symbolic macros (defined for the C preprocessor with #define directives).
Must examine header files to find the value corresponding to a symbolic constant.
![Page 10: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/10.jpg)
®3-10
Symbol Table Look UpSymbol Table Look Up
Display symbols matching a regular expresson with lkup( ).
-> lkup (“stuff”)-> lkup (“stuff”)_stuff 0xda1a0 data (foo.o)value = 0 = 0x0-> lkup (“^_print”)-> lkup (“^_print”)_printf 0x00029622 text (vxWorks)_printErr 0x00029640 text (vxWorks)_printExc 0x0002965e text (vxWorks)value = 0 = 0x0-> lkup "^x$"-> lkup "^x$"x 0x000da188 bss ()value = 0 = 0x0
![Page 11: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/11.jpg)
®3-11
Shell Line EditingShell Line Editing
History mechanism like the UNIX Korn Shell’s.
Type hh to see list of previous commands.
Press escesc to enter line editing mode.
Accept changes by hitting returnreturn. To quit, type ^U.
Editing mode uses vi-like commands, including:
h j lk
![Page 12: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/12.jpg)
®3-12
Shell Special CharactersShell Special Characters
Character Description
^C (UNIX) Terminate a function call and
^-Break (PC) return shell prompt.
^X (UNIX) Reboot VxWorks target.
^D, TAB Symbol and filename completion;command synopses.
^W Show HTML help for command.
Esc Enter Vi-like editing mode from input mode.
^U Delete an entire line, return to normal input mode.
![Page 13: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/13.jpg)
®3-13
Shell Built-in CommandsShell Built-in Commands
WindSh provides common commands needed for development:–sp Create a task with default options.
–td Delete a task.
–ts/tr Suspend/resume a task.
–b Set or display break points.
–s/c Step/continue a task.
–tt Trace a task’s stack.
–i/ti Give (detailed) task information.
–w/tw Show which objects are tasks waiting for.
–ld/unld Load/unload a module.
–show Display object information in WindSh.
![Page 14: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/14.jpg)
®3-14
WindSh Primitives and Target WindSh Primitives and Target ResourcesResources
Shell built-in commands execute as C-interpreter primitives on the host when possible.– Example: the built-in lkup( ) executes entirely on the host. No
communication with the target is required.
Some built-in commands require modules to be loaded into target memory.– The shell primitive period( ) executes as a function _periodHost_periodHost
on the target.
– The shell primitive repeat( ) executes as function _repeatHost_repeatHost on the target.
![Page 15: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/15.jpg)
®3-15
Changing DirectoriesChanging Directories
Use cd( ) to set WindSh’s working directory (on the host).
-> cd "/u/team3" (quotes required)
pwd( ) shows the current working directory.
Use ls( ) to show contents of the directory.
These functions are WindSh primitives.
![Page 16: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/16.jpg)
®3-16
Downloading via WindShDownloading via WindSh
ld (addSyms) < fileName Loads object module fileName into the target server’s
memory pool on the target.
Adds global symbols to host-resident symbol table (default). If addSyms == 1, load static symbols also.
Resolves undefined symbols as module is loaded.
If loader is unable to resolve an external reference, then ld( ) issues a warning; however the load does not fail and the loaded module is present on the target.
Returns ERROR on error, or a nonzero host-based module ID on success.
Unloads old version of module if it exists.
![Page 17: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/17.jpg)
®3-17
WindSh Loading ExampleWindSh Loading Example
-> ld 1 < foo.oLoading /folk/swagon/prog/foo.o |value = 402912 = 0x625e0-> moduleShowMODULE NAME MODULE ID GROUP TEXT START DATA START BSS START----------- ---------- ------- ---------- ---------- ----------vxWorks 0x5b588 1 0x10074 0x9ae90 0xa0228foo.o 0x62878 2 0xd76c0 0xd7930 0xd7bb4value = 0 = 0x0-> fooInit### Warning: Snafu #6. Continuing anyway...value = 0 = 0x0->
...
-> unld "foo.o"value = 0 = 0x0-> moduleShowMODULE NAME MODULE ID GROUP TEXT START DATA START BSS START----------- ---------- ------- ---------- ---------- ----------vxWorks 0x5b588 1 0x10074 0x9ae90 0xa0228value = 0 = 0x0->
![Page 18: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/18.jpg)
®3-18
Function Call ExecutionFunction Call Execution
From WindSh:
WindSh blocks until demo returns.
Standard I/O of tN is redirected to WindSh (default).
![Page 19: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/19.jpg)
®3-19
Spawning tasks with sp()Spawning tasks with sp()
As a task:
WindSh returns immediately after spawning the task “sMuN”. This task’s I/O is not redirected to the shell.
![Page 20: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/20.jpg)
®3-20
The i functionThe i function
To display task information:
i (taskNameOrId)
Example: -> i (tNetTask) NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY -------- --------- ------ --- ------- ------ ------- ------ ----- tNetTask _netTask 3e1d28 50 READY 261e4 3e1cc0 0 0 value = 0 = 0x0
If taskNameOrId = 0, display information for all tasks.
Use ti( ) for detailed task information.
![Page 21: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/21.jpg)
®3-21
WindSh Assembly Level DebuggingWindSh Assembly Level Debugging
Example:
If a task halts unexpectedly, tt( ) can be used to find out what routine failed.
-> b (printf)-> sp (stuff)task spawned: id = 0x23e0a3c, name = s1u3value = 37620284 = 0x23e0a3cBreak at 0x2005f78: _printf Task: 0x23e0a3c (s1u3)-> tt( )20461b8 _vxTaskEntry +10 : _stuff (0, 0, 0, 0, 0, 0, 0, 0, 0,
0)23feb4a _stuff +12 : _func1 (1)23febf2 _func1 +18 : _printf (23fec39, 23fec2e)value = 0 = 0x0 -> c
value = 0 = 0x0
![Page 22: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/22.jpg)
®3-22
Tcl and WindSh CustomizationTcl and WindSh Customization
Tcl is a powerful scripting language which:– Is interpreted
– Allows commands to take arguments
– Has standard flow-control structures
– Has powerful string manipulation facilities
To toggle between WindSh’s C and Tcl modes, enter ‘?’ at the prompt:-> ?tcl> proc myCmd {...} {...}
To run a single Tcl command from WindSh, preface the command with a ‘?’:
-> ?myCmd
![Page 23: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/23.jpg)
®3-23
Shell Configuration VariablesShell Configuration Variables
The WindSh has a few configuration variables which govern some aspects of its operation.
-> ?shConfigDSM_HEX_MODE = offLD_CALL_XTORS = targetLD_COMMON_MATCH_ALL = onLD_PATH = .LD_SEND_MODULES = onSH_GET_TASK_IO = on-> The above are the default values.
To change a value:-> ?shConfig SH_GET_TASK_IO off?shConfig SH_GET_TASK_IO off->
![Page 24: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/24.jpg)
®3-24
Virtual I/OVirtual I/O
By default, a target’s standard input, output, and error are directed to the console used to set boot parameters.
Use Virtual I/O to associate the target’s input/output with a Virtual Console.
Once a Virtual I/O channel is opened, it behaves like a normal character (stream) I/O device.
Useful if target lacks an serial I/O channel, or if developing remotely.
Click the Virtual Console and Target I/O Redirect checkboxes when configuring the target server.
![Page 25: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/25.jpg)
®3-25
Shell Host I/O RedirectionShell Host I/O Redirection
Shell input can be redirected to come from a file.-> < script
Shell output can be redirected to a file.-> h( ) > hfile
Caveat: I/O can only be redirected to files accessible to the WindSh process running on the development host, not to local devices on the target!
![Page 26: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/26.jpg)
®3-26
Target-resident ToolsTarget-resident Tools
Target-resident tools are available:– loadLibDynamic module loading.
– unldLib Dynamic module unloading.
– shellLib Target-resident C interpreter.
– usrLib Useful utilities like cd, copy, etc.
– dbgLib Native debug library.
The tools require a target-resident symbol table.
Caveats: – These tools consume target resources (RAM).
– Be cautious using these tools in conjunction with Tornado host-based tools!
See the manuals for details.
![Page 27: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/27.jpg)
®3-27
Symbol Table SynchronizationSymbol Table Synchronization
When using both host-based and target-based tools, the host and target symbol tables can become inconsistent.
To prevent this, enable symbol table synchronization:– Include the component development tool components > symbol table development tool components > symbol table
components > synchronize host and target symbol tablescomponents > synchronize host and target symbol tables in VxWorks.
– Launch the target server with the -s-s option
The task tSymSync is spawned. It does the following:– Makes modules or symbols loaded on target before target server
attached visible to target server.
– When host symbol table changed, updates the target symbol table; when target symbol table changed, informs the target server.
![Page 28: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/28.jpg)
®3-28
WindSh and BrowserWindSh and Browser
WindSh
3.2 Browser
![Page 29: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/29.jpg)
®3-29
Browser OverviewBrowser Overview
Graphical tool for displaying target information:– Loaded object modules
– Tasks
– Memory and stack usage
– Interrupt vector table
– VxWorks objects such as semaphores, message queues, and watchdog timers
– CPU utilization
Information is updated on demand or periodically.
Invoke Browser from – launcher’s application pane (UNIX)
– launch toolbar or the Tools menu (Windows)
![Page 30: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/30.jpg)
®3-30
UNIX: The BrowserUNIX: The Browser
Button Bar
System Tasks
User Tasks
Object DisplaySelection
MemoryConsumption
LoadedModules
![Page 31: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/31.jpg)
®3-31
PC: The BrowserPC: The Browser
Browser Display
Selector
Data
Panel
![Page 32: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/32.jpg)
®3-32
Browser: Examining ObjectsBrowser: Examining Objects
Message Queue Display
Semaphore Display
![Page 33: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/33.jpg)
®3-33
Timing OverviewTiming Overview
Browser’s spy facility– Activity profiler (% CPU utilization per task).
– Uses the auxiliary clock.
timexLib– Subroutine timer.
– Uses the system clock.
WindView– Uses instrumented kernel and high-resolution timer drivers to
capture precise event data.
– Intuitive GUI for analyzing data.
– Discussed in chapter 7.
![Page 34: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/34.jpg)
®3-34
Browser’s Activity ProfilerBrowser’s Activity Profiler
Configure Spy’s sampling with the Browser configuration button
– Browser update time /
– Spy report time.
– Spy collection frequency.
– Spy mode: differential or
– cumulative
![Page 35: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/35.jpg)
®3-35
Subroutine TimerSubroutine Timer
timex (func, args) Times single execution of func.
timexN (func, args) Repeats execution to obtainaccurate timing.
Example:
-> timex (stuff, "The answer is", 42)timex (stuff, "The answer is", 42)timex: execution time too short to be measured meaningfully in a single execution.
Type “timexN” to time repeated execution.Type “timexHelp” for more information.
value = 46 = 0x2e = ‘.’-> timexN (stuff, "The answer is", 42)timexN (stuff, "The answer is", 42)timex: 50 reps, time per rep = 50293 +/- 333 (0%) microsecs
![Page 36: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/36.jpg)
®3-36
SummarySummary
WindSh is a C and Tcl interpreter shell for accessing the target.
Tools for managing target-resident object modules:
ld unld moduleShow
Tools for starting/stopping a thread of execution:
sp td
Tools for debugging from WindSh:
i lkup
l tt
![Page 37: ® 3-2 WindSh and Browser 3.1WindSh Browser. ® 3-3 WindSh Interactive C-expression interpreter allows: –Accessing VxWorks facilities –Downloading and invoking.](https://reader033.fdocuments.net/reader033/viewer/2022052414/56649ce15503460f949abbc7/html5/thumbnails/37.jpg)
®3-37
SummarySummary
Use the Browser to:– Display system information.
– Examine objects.
– Display CPU utilization.
Performance monitoring tools:
timex timexN
spy