前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tool之System Viewer

Tool之System Viewer

作者头像
Taishan3721
发布2021-12-02 12:52:37
6980
发布2021-12-02 12:52:37
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

如转发 请标明出处!

Wind River提供了一个叫做System Viewer的工具 (VxWorks5时叫做WindView),这就是一个嵌入式软件的逻辑分析器,能够将复杂的Target活动可视化,可用于故障定位

OS、App和HardWare之间的交互通常在限定的时间内发生,其分辨率为微秒或更高。而RTOS领域常用的调试工具,如源代码级调试器,只提供静态信息

有了System Viewer,就可以记录正在运行的Target上的活动,它可以高度配置要查看的数据类型和系统信息,然后这些数据还可以保存下来供后续分析

  • 可视化多核系统行为,例如,识别CPU affinity问题
  • 检测竞争条件、死锁、CPU饥饿以及其它与任务交互相关的问题
  • 确定应用程序响应能力和性能
  • 查看App的循环模式
  • 保存数据以进行延迟分析

在WorkBench3.x + VxWorks6.x上一直没有操作成功,捕获的数据总是不完整

那就使用WorkBench4 + VxWorks7来试试吧

首先在VSB中包含System Viewer组件

随便写个任务通信的例子

代码语言:javascript
复制
#include <taskLib.h>
#include <semLib.h>
#include <sysLib.h>

static SEM_ID mySem;
int myCount = 0;
static void task1()
{
    while(1)
        {
        semTake(mySem, WAIT_FOREVER);
        myCount++;
        }
    }
static void task2()
{
    while(1)
        {
        semGive(mySem);
        taskDelay(sysClkRateGet());
        }
    }

void test()
{
    mySem = semBCreate(SEM_Q_FIFO, SEM_EMPTY);
    taskSpawn("tTask1",200,0,2000,(FUNCPTR)task1,0,0,0,0,0,0,0,0,0,0);
    taskSpawn("tTask2",200,0,2000,(FUNCPTR)task2,0,0,0,0,0,0,0,0,0,0);
    }

启动Target,连接Connection,执行例子程序

找到Analysis actions,点击Launch System Viewer

在弹出的System Viewer Configuration页面里,根据实际需求定制Event Logging Level,例如Enable All

根据实际需求定制Upload Mode/Buffer Size,建议将Buffer Size改大一些,并选中Use a circular buffer

点击Apply the current configuration to the target

启动System Viewer logging

等待一会儿,观察到buffer的记录

点击Stop,收集到的.wvr文件自动上传并打开了

在Event Graph窗口里,通过Filter或Hide功能,将不关心的Task去掉

在上部的Overview窗口里,通过鼠标拖动,选择有事件的区域,并通过Zoom按钮,调整可视区域

双击某个事件,就可以看到它的属性

或者在Event Table窗口里,可以看到所有事件的列表

事件的属性里,包含了相应Object的ID,可以在Filter中针对这个信息进行定制。例如,只Include某一个Object,这样就可以很清晰地看到任务之间的交互、状态变换等情况了

非常强大的一个工具,可惜我用的不多...

我是泰山 专注VX好多年!

一起学习 共同进步!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档