vxworks中Tornado的操作示例

发布时间:2021-12-22 11:02:50 作者:小新
来源:亿速云 阅读:256
# VxWorks中Tornado的操作示例

## 1. Tornado开发环境概述

Tornado是Wind River公司为VxWorks实时操作系统开发的集成开发环境(IDE),它提供了从代码编写到目标系统调试的全套工具链。作为VxWorks开发的核心平台,Tornado具有以下特点:

- 交叉开发架构:主机(开发机)与目标机分离
- 集成编辑器、编译器、调试器和仿真器
- 支持多任务调试和系统级分析
- 提供WindSh命令行工具进行交互式操作

## 2. 环境搭建与工程创建

### 2.1 安装要求
- 主机系统:Windows NT/2000/XP
- 硬件配置:建议512MB以上内存
- 目标机:支持x86、PPC、ARM等架构

### 2.2 新建工程步骤
1. 启动Tornado开发环境
2. 选择菜单栏"File"→"New Project"
3. 选择工程类型:
   ```plaintext
   - Bootable VxWorks image (可启动镜像)
   - Downloadable project (可下载模块)
  1. 设置目标处理器架构和BSP
  2. 指定输出目录和工程名称

2.3 工程配置示例

通过”Build”选项卡可配置:

#define INCLUDE_NETWORK      /* 包含网络组件 */
#define INCLUDE_SHELL        /* 包含Shell组件 */
#define USER_APPL_INIT       usrAppInit /* 用户初始化函数 */

3. 核心功能操作示例

3.1 WindSh命令行操作

WindSh是Tornado的交互式Shell,常用命令:

命令 功能
ld 加载目标模块
unld 卸载模块
i 查看任务列表
tt 挂起指定任务
td 删除任务
sp 启动新任务

示例调试会话:

-> ld "demo.o"         # 加载目标文件
Loading...done.
-> sp demoTask         # 启动任务
New task created: 0x3a8c
-> i                   # 查看任务状态
NAME        TID     PRI STATUS      PC       SP
demoTask    0x3a8c  100 READY       0x20200  0x3ac4
tShell      0x3a00  110 READY       0x18200  0x3a44

3.2 断点设置与调试

  1. 在编辑器窗口设置断点
  2. 通过调试工具栏启动目标机连接
  3. 使用调试控制按钮:
    • Continue 继续执行
    • Step Over 单步跳过
    • Step Into 单步进入

内存查看示例:

-> d 0x10000,10       # 查看内存0x10000开始的16字节
0x10000: 0x12345678 0x9abcdef0 0x11223344 0x55667788

4. 系统级调试技巧

4.1 任务状态分析

使用checkStack命令检测栈溢出:

-> checkStack
TASK NAME    STACK SIZE  STACK USED  STACK FREE
tNetTask     4096        768         3328
demoTask     2048        1984        64       !!!警告!!!

4.2 性能分析工具

  1. 激活WindView日志:
    
    #include <wv/wvLib.h>
    wvStart(100); /* 每100ms采样一次 */
    
  2. 通过时间轴分析任务调度

4.3 网络调试

查看网络配置:

-> ifShow
lo0: flags=0x808<UP,LOOPBACK>
    inet 127.0.0.1 netmask 0xff000000
eth0: flags=0x8863<UP,BROADCAST,NOTRLERS,RUNNING>
    inet 192.168.1.100 netmask 0xffffff00

5. 常见问题解决方案

5.1 目标机连接失败

检查步骤: 1. 确认网络物理连接正常 2. 验证目标IP配置:

   -> ifShow
  1. 检查后台组件是否运行:
    
    -> tgtsvr
    Target server already running
    

5.2 内存泄漏检测

使用memShow命令:

-> memShow
FREE LIST:
block     bytes      seg
0x3c004   1024       0x38000
0x3c408   2048       0x38000

5.3 中断处理调试

查看中断向量:

-> intVecShow
IRQ VECTOR    ISR ADDRESS
0x20          0x00105a80 (usrInt)
0x21          0x00105b00 (serialInt)

6. 进阶操作示例

6.1 动态加载驱动

-> ld "/romfs/drivers/nicEnd.o"
-> nicEndLoad(0, "eth0", 0)

6.2 创建看门狗任务

#include <wdLib.h>
WDOG_ID wdId;
wdId = wdCreate();
wdStart(wdId, 200, (FUNCPTR)watchdogHandler, 0);

7. 总结

Tornado作为VxWorks的经典开发环境,通过本文演示的: - 工程配置方法 - WindSh交互技巧 - 系统调试手段 - 故障排查流程

开发者可以快速掌握嵌入式实时系统的开发要点。建议结合Wind River官方文档《Tornado User’s Guide》进行深入学习。

注意:本文基于Tornado 2.2版本编写,部分命令在新版Workbench中可能有所变化。 “`

这篇文章总计约1350字,采用Markdown格式编写,包含: 1. 多级标题结构 2. 代码块示例 3. 表格展示 4. 命令行交互片段 5. 结构化的问题解决方案 6. 版本兼容性说明

推荐阅读:
  1. python中tornado微信开发的示例分析
  2. Tornado高并发处理的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

tornado vxworks

上一篇:php如何将字符串全部转大写

下一篇:Tool中如何实现Host/Target符号同步

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》