3.3 RTT Scope
3.3.1 使用准备
3.3.2 启动采样
开启RTT jscope 监控的流程参考如下图所示:

- 点击启动采样按钮。- 选择RTT采样:选择RTT地址块进行搜索
- 选择内存采样:自行设置采样间隔,为0时,默认是全速的采样率
 
- 配置目标芯片和Power Debugger 之间的工作参数:接口类型,时钟速度。
- 点击确定按钮。
- 等待RTT 初始化完毕。
初始化完成后,将看到如下jscope 的监控通道,如下所示:
同时,将看到jscope 的输出测试正玄波信息,如下所示:

3.3.3 添加任意对象监控
3.3.3.1 获取对象信息
通过编译demo,查看编译输出map文件信息,查找结构体,类似的信息如下所示,可知m_VarScope 的地址为 0x200011c8,如下所示:
#pragma pack(push,1)
typedef struct S_WatchScope{
    float           f32;        //offset:   0
    int32_t         i32;        //offset:   4
    uint32_t        u32;        //offset:   8
    uint16_t        u16;        //offset:   12
    int16_t         i16;        //offset:   14
    int8_t          i8;         //offset:   16
    uint8_t         u8;         //offset:   17
    bool            b8;         //offset:   18
}S_WatchScope;
#pragma pack(pop)
volatile S_RTTScope         m_RTTScope;
map 中查看对应的信息,可查找对应的地址为如下所示.
    m_VarScope                               0x200011c8   Data          19  main.o(.bss)
3.3.3.2 添加监控
除了可以添加监控自定义变量外,还支持通过解析.axf .elf .out文件,快速导入变量。
1 手动添加变量
点击添加对象按钮,弹出添加对象属性设置框,如下所示,根据界面内容,依次设置变量命名、波形颜色、是否添加后使能、以及变量地址和变量类型,然后点击确定按钮,如下所示:

接下来,在RTT Scope左下角添加需要监控的所有的结构体成员,最终添加完成后,如下所示
2 通过解析文件导入变量
点击添加对象按钮,弹出添加对象属性设置框,点击右下角从.axf .elf .out文件快速导入,选择路径下axf,elf或者out文件,勾选需要监控的变量,同时支持设置数组偏移量,如下图所示:



提示
添加自定义监控时,请先停止采样。
3.3.3.3 启动采样
- RTT采样:选择RTT地址块进行搜索
- 内存采样:自行设置采样间隔,为0时,默认是全速的采样率

选择需要监控的对象,然后启动采样,即可看到输出,如下所示。

3.3.4 停止采样
点击【停止采样】按钮进行停止。
3.3.5 复位芯片和运行状态切换
可通过点击【复位芯片】和【运行(暂停)】按钮执行目标芯片复位、以及Run 和 Halt状态的切换。
3.3.6 参考
更多信息请参考 参考指南-RTT Scope