没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Tornado Shell 使用指南:
Tornado Shell,即 WindSh,可以用来下载应用模块、激活 VxWorks 操作系统和
应用程序模块的子程序。这些功能有许多的用途:查看 VxWorks 操作系统,交
互开发、测试等。
WindSh 能够解释绝大多数的 C 言语表达式;能执行 C 语言的绝大多数操作。你
可以通过 TCL 解释器与 WindSh 交互,TCL 提供了一个完整的控制结构,对目
标功能提供了更低级的访问,关于 TCL 语言,可以参见附件 2 的描述。
WindSh 在开发主机上运行,但它能够创建任务,能够读写目标机上的设备,提
供对目标机的完全控制。因为 WindSh 在开发主机上运行,所以对目标机资源
的占用比较少。与其它的工具一样,只需在目标机上运行 target Agent。WindSh
操作牵系到 Tornado 开发环境的三个部件。
WindSh 是你直接操作的部件,它接收你的命令并在本地执行,发送请求到
target server 以操作符号表和驻留在目标机上的程序。
Target server 管理符号表并处理所有与远程目标机的通讯,调用发送功能发
送回所需的结果。(尽管符号表包含了对目标机访问的地址,但它全部存储在
主机上。)
Target agent 是唯一一个运行在目标机上的部件;它是一个极小的监视程序,
提供对目标机内存的访问以及其它功能。
WindSh 具有双重功能:
作为一个命令解释器通过调用 VxWorks 的子程序提供对 VxWorks 功能的访
问。
作为一个应用程序的调试工具使你能调用任何的应用程序。WindSh 提供硬
件异常的通知。见下面的系统修改和调试。
WishSh 的功能:
(1) 设定任务级的断点。
(2) 任务级的单步调试。
(3) 符号的反汇编。
(4) 任务和系统的信息。
(5) 调用用户程序
(6) 创建和检查符号变量。
(7) 检查和修改内存。
(8) 异常的捕获。
使用 WishSh:
WishSh 从输入流中读入一行输入,解释并执行该行的命令,把计算结果写入
输出流中。使用默认的 C 翻译器,WishSh 能接收与 C 编译器相同的语法表达式
(变量不能太多)。
启动、停止 WishSh:
有三种方法启动 WishSh:
(1)使用图形界面按钮。
(2)使用图形界面的菜单命令。
(3)使用 windows 的命令行界面,命令为 windsh,指定 target-server 名称。
如:
C:\> windsh phobos
可以用 exit()或 quit()命令,或 CTRL+D 来终止 WindSh 的运行,当. WindSh
不接收输入时(如 target server 已经关闭)可以使用(CTRL+BREAK。可以
对一个 target 运行多个不同的 WindSh。Windsh 中调用的所有函数的输出都
被 重 定向 到 Windsh 窗 口, 并 且它 从 那 里接 收 输 入。 ( 除 非使 用 命令
shConfig 改变配置)。
Windsh 的特征:
I/O 重定向:开发者们经常调用程序来显示数据或从标准输入接收数据。默
认的输入和输出流指向同一 Tornade Shell 窗口。例如,默认配置下,从 shell
中激活 printf()函数输出内容如下:
-> printf("Hello World\n")
Hello World!
value = 13 = 0xd
->
这可以通过使用 TCL 过程 shConfig 来动态修改,如下:
-> ?shConfig SH_GET_TASK_IO off
->
-> printf("Hello World!\n")
value = 13 = 0xd
->
Tornade shell 报告printf()结果。(有13个字符被打印,输出结果到target的标准
输出,而不是shell。为了确定当前的配置,可以使用shConfig。如果该命令不带
参数,则显示所有的配置参数的当前值。使用一个参数则仅显示该参数的当前
值。例如:
-> ?shConfig SH_GET_TASK_IO
SH_GET_TASK_IO = off
ShConfig的更多信息,请参看WindSh的环境变量。
只有那些从WindSh中调用的函数的输入和输出才被重定向到Windsh,如果该函
数产生了其它的任务,该新产生任务的的输入和输出并不被重定向到windsh。
如果要使所有的IO操作都重定向到WINDSH。可以在启动target server的时候使
用参数-C –redirectShell。
目标符号和路径的自动填充:
输入目标符号或路径的一些开始字符,然后按ctrl+d,则WindSh会自动完成
剩下字符串的输入。如果存在多个选项,则shell显示这些选项,你可以重新输
入。例如:
-> C:\Tor [CTRL+D]
Tornado/ TorClass/
-> C:\Tor
你可以增加一个或多个字符,然后按CTRL+D以完成输入。
显示摘要:
当你完成了一个函数名的输入,再按CTRL+D,则SHELL显示该函数的摘
要信息,并接着输出该函数名以等待你的进一步输入,例如:
-> _taskIdDefault [CTRL+D]
taskIdDefault() - set the default task ID (WindSh)
int taskIdDefault
(
int tid /* user-supplied task ID; if 0, return default */
)
-> _taskIdDefault
如果该例程在主机和目标机中都存在,则WindSh显示摘要。为了显示目标
机上函数的摘要可以在函数名前加入字符@。
你也可以扩展摘要打印功能到包括你自己的例程,步骤如下:
(1)创建一个包含新例程的文件。(在WRS编码约定后,参见VxWorks
Programmer’s Guide: WRS Coding Conventions.)
(2)在项目中包含这些文件。
(3)把该文件名增加到makefile的宏DOC_FILES中。
(4)进入项目树的顶层目录,运行“make sysnopsis”,如下:
-> cd $WIND_BASE/target/src/projectX
-> make synopsis
这将在host/resource/synopsis目录下增加文件projectX。
HTML 帮助:
输入任何函数名,一个空格,然后键入CTRL+W能打开一个browser并显示与
该函数相关的HTML参考。(确保在函数名后有一个空格)。
数据转换:
SHELL以十进制和十六进制显示所有的整数,如果可能,可以作为一个字符
常数或符号地址和偏移量。
-> 68
value = 68 = 0x44 = 'D'
-> 0xf5de
value = 62942 = 0xf5de = _init + 0x52
-> 's'
value = 115 = 0x73 = 's'
数据计算:
几乎所有的C操作符都可以用来进行数据计算。可以使用“(”和“)”来改变优
先级。
-> (14 * 9) / 3
value = 42 = 0x2a = '*'
-> (0x1355 << 3) & 0x0f0f
value = 2568 = 0xa08
-> 4.3 * 5
value = 21.5
带参数计算:
-> (j + k) * 3
value = ...
-> *(j + 8 * k)
(…address (j + 8 * k)…): value = …
-> x = (val1 - val2) / val3
new symbol "x" added to symbol table
address = …
value = …
-> f = 1.41 * 2
new symbol "f" added to symbol table
f = (…address of f…): value = 2.82
WindSh的环境变量:
通过改变WindSh的环境变量可以改变特定会话的行为。Tcl过程shConfig可
以用来显示和设置I/O重定向,C++构造器和释构器,等。
因为shConfig是一个Tcl进程,使用?来把C翻译器换成Tcl翻译器。WindSh
的环境变量见下表:
变量 结果
SH_GET_TASK_IO Sets the I/O redirection mode for called functions.
The default is “on”, which redirects input and output
of called functions to WindSh. To have input and
output of called functions appear in the target
console, set SH_GET_TASK_IO to “off.”
LD_CALL_XTORS Sets the C++ strategy related to constructors and
destructors. The default is “target”, which causes
WindSh to use the value set on the target using
cplusXtorSet(). If LD_CALL_XTORS is set to “on”,
the C++ strategy is set to automatic (for the current
WindSh only). “Off” sets the C++ strategy to manual
for the current shell.
LD_SEND_MODULES Sets the load mode. The default “on” causes modules
to be transferred to the target server. This means that
any module WindSh can see can be loaded. If
LD_SEND_MODULES if “off”, the target server
must be able to see the module to load it.
LD_PATH Sets the search path for modules using the separator
“;”. When a ld() command is issued, WindSh first
searches the current directory and loads the module
if it finds it. If not, WindSh searches the directory
path for the module.
LD_COMMON_MATC
H_ALL
Sets the loader behavior for common symbols. If it is
set to on, the loader tries to match a common symbol
with an existing one. If a symbol with the same name
is already defined, the loader take its address.
Otherwise, the loader creates a new entry. If set to off,
the loader does not try to find an existing symbol. It
creates an entry for each common symbol.
DSM_HEX_MOD Sets the disassembling “symbolic + offset” mode.
When set to “off” the “symbolic + offset” address
representation is turned on and addresses inside
thedisassembled instructions are given in terms of
“symbol name + offset.” When set to “on” these
addresses are given in hexadecimal.
例子:使用shConfig修改WindSh的行为:
-> ?shConfig
SH_GET_TASK_IO = on
LD_CALL_XTORS = target
LD_SEND_MODULES = on
LD_PATH = C:/ProjectX/lib/objR4650gnutest/;C:/ProjectY/lib/objR4560gnuvx
-> ?shConfig LD_CALL_XTORS on
-> ?shConfig LD_CALL_XTORS
LD_CALL_XTORS = on
剩余32页未读,继续阅读
xiaochubing20023
- 粉丝: 6
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- LCD1602电子时钟程序
- 西北太平洋热带气旋【灾害风险统计】及【登陆我国次数评估】数据集-1980-2023
- 全球干旱数据集【自校准帕尔默干旱程度指数scPDSI】-190101-202312-0.5x0.5
- 基于Python实现的VAE(变分自编码器)训练算法源代码+使用说明
- 全球干旱数据集【标准化降水蒸发指数SPEI-12】-190101-202312-0.5x0.5
- C语言小游戏-五子棋-详细代码可运行
- 全球干旱数据集【标准化降水蒸发指数SPEI-03】-190101-202312-0.5x0.5
- spring boot aop记录修改前后的值demo
- 全球干旱数据集【标准化降水蒸发指数SPEI-01】-190101-202312-0.5x0.5
- ActiveReports
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页