详情介绍
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。
系统的驱动力是什么?
大多数嵌入式系统没有线性代码执行。它们实现了定时器的中断和外设的使用,或者可能使用具有多个任务的RTOS。SystemView记录了这样一个系统的运行时行为。
目标在进入和离开中断时、任务准备执行时、任务开始或停止执行时都会产生事件。SystemView应用程序将这些事件可视化,在时间线窗口中绘制出系统时间,并在事件发生的上下文中显示所有其他事件。
这样可以方便地分析任务运行的时间、时间长短和原因,或者在中断时发生了什么。
系统中的问题和低效可以通过这种方式确定。
不正确的任务优先级或优先级反转导致饥饿感
任务间沟通不正确,低效率的延迟和超时,虚假或不必要的中断
系统时间花在哪里?
嵌入式系统的CPU周期是有限的。因此,优化任务的性能以及正确掌握执行顺序和时间分配是很重要的。
通过CPU负载窗口,SystemView可以帮助分析CPU负载高的地方。通过SystemView提供的高负载时间或之前发生的信息,可以调整系统以避免这种可能导致重要任务延迟执行的瓶颈。
运行时窗口提供了有关上下文的运行时分布的额外信息。它可以用来验证每个上下文是否在其时间限制内运行,或者发现上下文意外运行时间过长的情况。
如何跟踪和测量性能?
SystemView提供的事件特别适用于标记目标系统中的某些点。为了方便地测量从A点到B点的持续时间,或者从A点通过B点到C点的持续时间,可以生成标记开始、标记和标记停止事件。SystemView应用程序会自动链接相应的标记,并添加更多信息,如测量的运行时间和运行次数。
如何获取日志输出?
SystemView还包括对消息的记录与记录。简单的字符串可以记录为日志、警告或错误信息。日志功能支持对字符串进行格式化,类似于printf()。由于格式化字符串可能会很耗时,并且需要额外的内存,因此可以推迟到SystemView应用程序中进行。目标系统只需将格式字符串和参数记录在事件中,SystemView应用程序负责格式化字符串并在终端窗口中打印出来。
常见问题解答
我可以在调试应用程序时使用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 系统下,如提示“无法启动”,请在系统偏好设置-安全性与隐私-选择【仍要打开】,即可使用。
对于下载了应用,显示“打不开或者显示应用已损坏的情况”的用户,可以参考一下这里的解决办法《Mac打开应用提示已损坏怎么办 Mac安装软件时提示已损坏怎么办》。10.12系统之后的新的Mac系统对来自非Mac App Store中的应用做了限制,所以才会出现“应用已损坏或打不开的”情况。
用户如果下载软件后(请确保已下载完的.dmg文件是完整的,不然打开文件的时候也会出现文件损坏无法打开),在打开.dmg文件的时候提示“来自不受信用的开发者”而打不开软件的,请在“系统偏好设置—安全性与隐私—通用—允许从以下位置下载的应用”选择“任何来源”即可。新系统OS X 10.13及以上的用户打开“任何来源”请参照《macOS 10.13允许任何来源没有了怎么办 macOS 10.13允许任何来源没了怎么开启》
下载地址
人气软件
Fish Shell Mac版 for Mac V3.1.2 苹果电脑版
Java SE Development Kit(JDK) 21 LTS for Mac v21.0.3 官方正式
IntelliJ IDEA 社区版 2024.3 Mac中文正式免费版(附安装教程)
Myeclipse for Mac V2014 苹果电脑版(附破解工具及破解教程)
Navicat for MySQL 11 for Mac V11.2.18 苹果电脑版
Mathematica for Mac 11.3 中文特别版(附注册机+激活方法)
JDK11(Java SE Development Kit 11) for Mac v11.0.25 x64 官方
SvnX(SVN客户端软件) for Mac V1.3 苹果电脑版
Jetbrains Clion、PyCharm、WebStorm、PhpStorm等万能破解注册机
Mathematica 12 for Mac 12.3.0 中/英文正式破解版(附注册机+激
相关文章
- Navicat for SQL Server for Mac v17.1.6 苹果电脑版
Navicat for MySQL mac中文版是一款功能强大、使用简单的数据库管理开发工具,对于数据需要大的用户来说非常实用,界面体验好,能使用函数快速得出各种数据,是做报表的得...
- 游戏引擎开发工具Unity 6 v600.0.28f1 LTS for Mac 官方稳定正式版 x64
unity6是一款非常好用的游戏引擎开发工具,可制作出游戏的各种动态画面,改进了粒子系统和GPU Instancing等功能,这里提供Unity6 Mac下载...
- Java SE Development Kit(JDK) 23 for Mac v23.0.1 官方最新正式版
Java 23 / JDK 23 已正式发布,新版包含了一系列重要的新特性和改进,使 Java 开发者能够在性能、可读性和并发处理等方面获得更好的体验...
- 腾讯UGit for Mac v5.22.2 苹果电脑版
腾讯UGit优化Git功能,提升代码管理效率,注重代码安全,支持团队协作,提供加密存储和传输,促进多人开发时权限分配和代码审查,提升团队效率和质量...
- 反汇编工具IDA Pro v9.0.240925 Mac官方完整免费版(Inter/Apple Silicon)
IDA Pro 是一款交互式反汇编器,广泛用于逆向工程,它极其灵活,内置命令语言,支持多种可执行文件格式,目前Hexrays为了充分调动大家主观能动性, 主动公开了测试版的完整I...
- Redis可视化管理工具 Redis Insight v2.60 for Mac 官方免费安装版
RedisInsight是一款Redis官方出品的可视化管理工具,可用于设计、开发、优化你的Redis应用,支持String、Hash、Set、List、JSON等多种数据类型的管理,支持远程使用CLI功能...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的SystemView for Mac(分析嵌入式系统工具) V3.12 苹果电脑版资源来源互联网,版权归该下载资源的合法拥有者所有。