3. WindView 安装与配置:Workbench 中 WindView 插件的安装、目标机代理配置

WindView 作为 VxWorks 系统级行为分析工具,其安装与配置的正确性直接决定了中断分析能否顺利开展。本节将分两部分展开:首先介绍如何在 Wind River Workbench 中安装 WindView 插件,然后详细说明目标机代理(Agent)的配置步骤与参数含义。

3.1 WindView 插件安装

WindView 以 Eclipse 插件形式集成在 Workbench 中。安装过程分为“检查预装状态”与“手动安装”两种场景。

3.1.1 检查预装状态

打开 Workbench,依次点击 Help → About Wind River Workbench → Installation Details。在 Installed Software 标签页中搜索 “WindView”。若列表中出现类似 Wind River WindView 3.0 的条目,则说明插件已预装,可直接跳过安装步骤。

3.1.2 手动安装步骤

  1. 获取安装包:从 Wind River 官方安装介质或更新站点获取 WindView 插件压缩包(通常为 WindView-*.zip)。
  2. 启动安装向导:选择 Help → Install New Software。
  3. 添加仓库:点击 Add 按钮,在 Archive 类型中选择下载的 ZIP 文件,并命名(如 “WindView Plugin”)。
  4. 选择组件:在列表中找到 Wind River WindView 或 WindView Host Tools,勾选后点击 Next。
  5. 确认许可:接受许可协议,点击 Finish 开始安装。
  6. 重启 Workbench:安装完成后提示重启,点击 Yes 使插件生效。
验证安装:重启后,在 Workbench 的 Window → Show View → Other 中展开 Wind River 分类,若出现 WindView Log 或 WindView Timeline 视图,则表明插件安装成功。

3.2 目标机代理配置

WindView 依赖目标机上的代理组件(windview 任务)来采集事件数据。代理配置分为“内核配置”与“运行时参数”两个层面。

3.2.1 内核配置(VxWorks Image 中启用 WindView)

在 VxWorks 工程中,通过 vxprj 或 Workbench 的 Kernel Configuration 界面启用以下组件:

配置项 符号名 说明
WindView 核心库 INCLUDE_WINDVIEW 必须包含,提供事件记录与缓冲机制
WindView 代理任务 INCLUDE_WINDVIEW_AGENT 启动后台代理任务,负责与主机通信
中断事件支持 INCLUDE_WINDVIEW_INT 使能中断进入/退出事件的记录
任务切换事件 INCLUDE_WINDVIEW_TASK 记录任务上下文切换事件
配置示例:在 Workbench 的 Kernel Configuration 视图中,搜索 “windview”,将上述四个组件全部勾选为 Include。重新编译 VxWorks 镜像并下载到目标机。

3.2.2 运行时代理参数

目标机启动后,WindView 代理任务 windview 自动运行。可通过以下方式调整其行为:

  • 缓冲区大小:默认 64 KB,通过 windviewBufSize 全局变量修改(单位:字节)。
  • 事件过滤级别:通过 windviewFilter 设置掩码,例如 0x0001 仅记录中断事件。
  • 触发模式:支持 连续记录(覆盖旧事件)与 单次触发(满缓冲区后停止)。
/* 在目标机 shell 中动态配置示例 */
windviewBufSize = 256 * 1024;   /* 设置缓冲区为 256 KB */
windviewFilter  = 0x0003;       /* 记录中断 + 任务切换事件 */
windviewMode    = 1;            /* 1 = 单次触发模式 */

3.3 主机-目标机连接验证

完成插件安装与代理配置后,需验证主机能否成功连接目标机并启动 WindView 采集。

  1. 启动 WindView 视图:在 Workbench 中打开 WindView Timeline 视图。
  2. 配置连接:点击视图工具栏的 Connect 按钮,选择目标机对应的 Target Server(需提前通过 tgtsvr 或 Workbench 的 Target Manager 建立连接)。
  3. 开始采集:点击 Start Logging,观察状态栏是否显示 “WindView: Logging started”。
  4. 触发事件:在目标机上运行一个产生中断的测试程序(如 intTest),然后点击 Stop Logging。
  5. 检查数据:若 Timeline 视图中出现彩色事件条带,则说明安装与配置全部成功。
常见问题:若连接失败,请检查目标机网络可达性、Target Server 端口(默认 1534)是否开放,以及 VxWorks 镜像中是否确实包含了 INCLUDE_WINDVIEW 组件。可在目标机 shell 中执行 i 命令查看 windview 任务是否在运行。

3.4 WindView 组件架构图

下图展示了 WindView 在主机与目标机之间的组件关系与数据流向:

WindView 组件架构与数据流向 主机侧 (Workbench) 目标机侧 (VxWorks) WindView Timeline 视图 WindView 插件 (Eclipse) Target Server windview 代理任务 事件缓冲区 (Ring Buffer) 中断 / 任务 / 信号量事件源 WDB / 网络 说明:事件数据由目标机代理采集并暂存于环形缓冲区,主机通过 Target Server 经 WDB 协议读取后由 WindView 插件解析并显示

3.5 配置清单速查表

以下表格汇总了安装与配置过程中需要确认的关键项,可作为调试前的快速检查清单:

检查项 验证方法 常见问题
WindView 插件已安装 Workbench → Help → About → Installation Details 未出现 WindView 条目 → 重新安装
内核包含 WindView 组件 vxprj 或 Kernel Configuration 中搜索 windview 缺少 INCLUDE_WINDVIEW → 添加后重编译
目标机代理任务运行 目标机 shell 执行 i 查看任务列表 无 windview 任务 → 检查内核配置
主机-目标机连接正常 Workbench Target Manager 中状态显示 Connected 连接失败 → 检查网络与 Target Server 配置
WindView 能启动采集 Timeline 视图点击 Start Logging 无报错 报错 “No agent response” → 检查代理配置
最佳实践:建议在开发初期就将 WindView 相关组件加入 VxWorks 镜像的默认配置中,避免后期调试时因缺少组件而反复重建镜像。同时,将缓冲区大小设置为 128 KB 以上,以捕获足够长的中断序列。