当前位置: 华文世界 > 数码

程序监控软件system view的移植和使用

2024-10-17数码

1、什么是system view

System view是一种对嵌入式系统进行分析和验证的软件。当使用受支持的RTOS时,不需要对目标系统的硬件或者软件进行更改;对于其它系统,必须添加System view附带的软件模块。System view可以于任何嵌入式系统一起使用,最好通过J-Link,UART或者TCP/IP进行数据传输。

System view主机应用程序支持对嵌入式系统的行为进行详细分析,它记录了嵌入式系统运行过程中所产生的监控数据,并在不同的窗口中显示,也可以将记录的信息保存下来,以便于以后进行分析使用。监控数据通过调试接口进行记录,意味着使用system view不需要额外的硬件资源,可以在任何提供调试访问的系统上使用。

2、system view能干什么

借助Segger J-Link以及实时传输技术(RTT),system view可以连续记录嵌入式系统运行的数据,并对其进行实时可视化分析,验证程序是否按照预期那样运行,明晰嵌入式程序详细运行细节。system view可以分析硬件中断、任务和软件定时器的执行,执行的频率、准确时间以及它们使用了多少时间。它阐明了什么东西按什么顺序发生了什么,哪个中断触发了哪个人物的切换,哪个中断和任务调用了底层RTOS的哪个API函数。

可以执行周期精确的分析,甚至可以计时用户功能。system view可以用来验证嵌入式系统程序是否按照预期运行,并可用来发现问题以及导致低效的原因。比如多余的中断,意外的任务调度。system view可以与任何操作系统一起使用,可以调用system view事件函数,也可以在没有实时任务或者实时操作系统中使用,用于分析中断执行和对用户的功能比如关键子程序进行计时。

3、system view分析系统的组成

根据上面描述可知要使用system view系统的分析监控功能,必须要有一个system view主机应用程序和用于system view分析的目标软件。也就是上位机PC端system view处理程序和下位机嵌入式运行程序。由于system view分析展示的是实时数据,丝毫不会影响下位机程序的运行,对下位机的资源消耗的比较少。

4、system view的移植和使用

1)下载system view(https://www.segger.com/downloads/systemview/?utm_source=www&utm_medium=top_menu)上位机程序和目标主机源码。

2)安装好system view上位机程序。本文以Windows平台为例。

3)解压缩目标主机源码,可以得到Config、Sample和SEGGER三个文件夹,如下所示

4)移植system view源码到目标主机。将目标主机源码文件复制到一个segger文件夹

需要注意的是,由于Sample文件夹下有多个文件,找打目标主机中对应OS的文件复制即可。如果原项目中有相应的SEGGER_RTT文件,则不需要移植对应的SEGGER_RTT文件,否则可能出问题,也就是保留原来的文件即可。

5)将system view移植到目标主机,本文以nRF52840例程为例。移植后的相关文件为

6)修改目标主机代码,修改内容如下:

A、在FreeRTOSConfig.h添加包含SEGGER_SYSVIEW_FreeRTOS.h文件

B、在主线程添加system view配置函数即可。

7)编译下载目标机程序,并打开主机上的system view上位机。电机File下面淡绿色的小三角开始监控,监控界面如下图所示。