SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

SystemView mac版是一款适用于苹果电脑端的分析嵌入式系统的工具。知识兔可以分析有哪些中断、任务执行了,知识兔以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点,比如信号量、互斥量、事件、消息队列等。这在开发和处理具有多个线程和事件的复杂系统时尤其有效。感兴趣的朋友快来下载体验吧。

软件介绍

  SystemView是一个用于嵌入式系统的实时记录和可视化工具,它可以揭示应用程序的真实运行时行为,比调试器分享的系统洞察力要深入得多。当开发和处理由多个线程和中断组成的复杂嵌入式系统时,这一点尤为有效:SystemView可以确保系统按设计执行,知识兔可以追踪低效,并显示非预期的交互和资源冲突,关注每一个系统tick的细节。

软件亮点

  通过J-Link和SEGGER RTT技术、IP或UART进行记录。

  采集数据的实时分析和可视化

  系统侵入性最小,可在任何CPU上工作

  适用于任何RTOS和裸机系统

  标准的SEGGER embOS、emNet和emFile API调用跟踪。

  包括uC/OS-III、Micrium OS Kernel和FreeRTOS仪器。

  免费用于非商业用途,不受限制

软件特色

  系统中发生了什么?

  在目标系统上,SystemView记录了运行时发生的事件。这可以是中断、定时器、任务切换和RTOS的调度、API函数调用和返回,或者用户事件和消息。这些事件从目标机中检索出来,在SystemView应用程序中进行分析和可视化,同时目标机继续运行。SystemView中的事件窗口显示记录的事件以及更多信息。

  为了降低目标系统的通信开销,它只需要记录基本信息,如 “在最后一个事件发生后,API函数Id x被调用,参数值为y和z,并有n个ticks”。

  SystemView对事件的所有信息进行分析并显示。API函数名称及其参数和值

  呼叫发生时的记录时间或系统时间。呼叫发生的任务,API调用的持续时间

  一个普通事件的长度是4到8个字节,在200MHz的频率下,需要大约1个us来记录。每秒钟10,000个事件,SystemView增加的开销不到CPU时间的1%,而且知识兔数据量很容易在记录器的带宽限制内。

  事件的时间戳可以精确到1个CPU周期,相当于200 MHz CPU上的5 ns。

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

  系统的驱动力是什么?

  大多数嵌入式系统没有线性代码执行。它们实现了定时器的中断和外设的使用,或者可能使用具有多个任务的RTOS。SystemView记录了这样一个系统的运行时行为。

  目标在进入和离开中断时、任务准备执行时、任务开始或停止执行时都会产生事件。SystemView应用程序将这些事件可视化,在时间线窗口中绘制出系统时间,并在事件发生的上下文中显示所有其他事件。

  这样可以方便地分析任务运行的时间、时间长短和原因,或者在中断时发生了什么。

  系统中的问题和低效可以通过这种方式确定。

  不正确的任务优先级或优先级反转导致饥饿感

  任务间沟通不正确,低效率的延迟和超时,虚假或不必要的中断

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

  系统时间花在哪里?

  嵌入式系统的CPU周期是有限的。因此,优化任务的性能以及正确掌握执行顺序和时间分配是很重要的。

  通过CPU负载窗口,SystemView可以帮助分析CPU负载高的地方。通过SystemView分享的高负载时间或之前发生的信息,知识兔可以调整系统以避免这种可能导致重要任务延迟执行的瓶颈。

  运行时窗口分享了有关上下文的运行时分布的额外信息。它可以用来验证每个上下文是否在其时间限制内运行,或者发现上下文意外运行时间过长的情况。

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

  如何跟踪和测量性能?

  SystemView分享的事件特别适用于标记目标系统中的某些点。为了方便地测量从A点到B点的持续时间,或者从A点通过B点到C点的持续时间,知识兔可以生成标记开始、标记和标记停止事件。SystemView应用程序会自动链接相应的标记,并添加更多信息,如测量的运行时间和运行次数。

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

  如何获取日志输出?

  SystemView还包括对消息的记录与记录。简单的字符串可以记录为日志、警告或错误信息。日志功能支持对字符串进行格式化,类似于printf()。由于格式化字符串可能会很耗时,并且知识兔需要额外的内存,因此可以推迟到SystemView应用程序中进行。目标系统只需将格式字符串和参数记录在事件中,SystemView应用程序负责格式化字符串并在终端窗口中打印出来。

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

常见问题解答

  我可以在调试应用程序时使用SystemView吗?

  A: 是的。SystemView可以与调试器并行运行并进行连续记录。为了确保可以足够快地读取数据,请将调试器连接配置为高接口速度(>=4MHz)。目前仅在Windows和Linux上支持与目标的并行连接。

  我可以将SystemView与我的J-Link LITE或J-Link OB一起使用吗?

  A: 是的。SystemView通常可用于任何J-Link。J-Link-LITE和J-Link OB在调试接口速度上受到限制,当RTT缓冲区读取速度不够快,系统产生过多事件时,会导致溢出事件。要获得功能齐全的J-Link,请查看购买选项。

  我可以将SystemView与旧的J-Link一起使用吗?

  A: 是的。如果知识兔J-Link支持目标核心,那么SystemView通常可以与任何J-Link一起使用。较旧的J-Links(V8及更早版本)可能具有有限的RTT功能,当RTT缓冲区读取速度不够快且系统创建的事件太多时,可能会导致溢出事件。要以旧换新或升级您的J-Link,请查看知识兔的购买选项。

  我能在Cortex-A或Cortex-R设备上连续录音吗?

  A: 这取决于目标设备。RTT要求在目标运行时对目标进行内存访问。在Cortex-A和Cortex-R上,这是通过AHB-AP完成的。如果知识兔目标设备有AHB-AP,则可以使用SystemView连续录制。

  我能在ARM7,ARM9上连续录音吗?

  A: 不需要。RTT需要在目标运行时对目标进行内存访问。如果知识兔您有其中一个设备,则只支持单发和事后检查模式。

  我不使用embOS或FreeRTOS,我还可以为我的应用程序使用SystemView吗?

  A: 是的。SystemView可用于任何(RT)操作系统。对于任务和操作系统执行记录,您的操作系统可能有连接跟踪/分析检测模块的选项,您可以在其中添加SystemView,否则必须对操作系统进行检测才能执行此操作那么,什么时候如有疑问,请与  您的操作系统供应商联系。如果知识兔无法检测操作系统,您仍然可以使用SystemView来记录中断活动和用户事件。

  我根本不使用任何操作系统。我还应该使用SystemView吗?

  A: 是的。即使知识兔没有任何操作系统,SystemView也可以用来记录中断活动,验证中断是否按预期发生,并记录用户事件,这些事件可用于测量模块执行时间。

  连续录制时会出现溢出事件。我怎样才能防止这种情况?

  A: 当SystemView RTT缓冲区已满时,会发生溢出事件。发生这种情况的原因如下:

  J-Link被调试器保持忙碌,无法足够快地读取数据。

  目标接口速度太低,无法足够快地读取数据。

  应用程序生成的事件太多,无法放入缓冲区。为防止发生这种情况:

  最小化目标运行时调试器与J-Link的交互。(即禁用实时监视)

  在所有连接到J-Link的实例中选择更高的接口速度。(即调试器和系统视图)

  为SystemView选择一个更大的缓冲区。(1-4千字节)

  在不使用调试器的情况下独立运行SystemViewer。

  我的应用程序在连接SystemView时崩溃。可能出了什么问题?

  A: 确保在每个可以创建SystemView事件的上下文(任务、中断、调度程序)中,SystemView有大约200字节的堆栈可用。

  我无法在SystemView中开始录制。可能出了什么问题?

  A: 可能的原因是:

  J-Link或target未连接:确保所有连接正常。

  目标未运行:请确保目标正在运行,否则连接可能会失败或找不到RTT控制块。

  系统视图模块未配置:确保系统视图模块包含在应用程序中,并在应用程序开始时调用SEGGER_SYSVIEW_Conf()。

  J-Link软件已过期:请确保安装了最新的J-Link软件和文档包。

  SystemView找不到RTT控制块,如何配置?

  A: RTT控制块的自动检测只能在初始化后的已知RAM地址范围内完成。确保开始录制时应用程序启动已运行。如果知识兔RTT控制块超出所选设备的已知范围,请选择“地址”并输入RTT控制块的确切地址,或者选择“地址范围”并输入RTT控制块所在的地址范围。

  我收到无效的数据包。怎么会这样?

  A: 无效数据包通常由目标系统生成,原因有两个:1。SystemView在录制事件时无法正确锁定,并被另一个事件中断。在这种情况下,请确保为您的设备正确配置了SEGGER_SYSVIEW_LOCK()和SEGGER_RTT_LOCK()。2系统进入休眠或低功耗模式,J-Link无法正确访问RAM以读取SystemView缓冲区。当调试探针连接到sy时,知识兔建议不要使用WFI或任何低功耗模式

注意事项

  macOS Catalina (macOS 10.15) 已损坏无法打开解决办法:

  打开终端(屏幕下方“小火箭”——“其他”——打开“终端”),在终端中粘贴下面命令:

  sudo xattr -d com.apple.quarantine /Applications/xxxx.app

  注意:/Applications/xxxx.app 换成你的App路径,或在输入 sudo xattr -d com.apple.quarantine 后将软件拖进终端,重启App即可。

  MacOS 10.15 系统下,如提示“无法启动”,请在系统偏好设置-安全性与隐私-选择【仍要打开】,即可使用。

SystemView mac版下载 SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版

  对于下载了应用,显示“打不开或者显示应用已损坏的情况”的用户,知识兔可以参考一下这里的解决办法《Mac打开应用提示已损坏怎么办 Mac安装软件时提示已损坏怎么办》。10.12系统之后的新的Mac系统对来自非Mac App Store中的应用做了限制,所以才会出现“应用已损坏或打不开的”情况。

  用户如果知识兔下载软件后(请确保已下载完的.dmg文件是完整的,不然打开文件的时候也会出现文件损坏无法打开),在打开.dmg文件的时候提示“来自不受信用的开发者”而打不开软件的,请在“系统偏好设置—安全性与隐私—通用—允许从以下位置下载的应用”选择“任何来源”即可。新系统OS X 10.13及以上的用户打开“任何来源”请参照《macOS 10.13允许任何来源没有了怎么办 macOS 10.13允许任何来源没了怎么开启

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论