无可匹敌的集成开发环境
三十多年来,成千上万的开发人员一直在使用 MULTI IDE,它是业界无与伦比的集成开发环境,用于创建、调试和优化嵌入式处理器的代码。MULTI 使开发人员能够轻松查找和修复困难的错误,查明性能瓶颈,并防止将来出现问题。MULTI 降低了按时交付软件的成本,帮助组织避免因软件质量差而导致代价高昂的召回,并降低了硬件成本,因为更高效的代码使用更少的内存和更小的 CPU。
MULTI 支持所有流行的处理器架构,可在本地或云端的 Linux 和 Windows 机器上运行。它调试来自多个编译器的代码,通过各种链接连接到目标,并支持在芯片、模拟器或仿真器上运行的多个操作系统。
更快地查找和修复错误
在复杂的实时系统中,在寻找零星和深埋的错误或查找性能瓶颈上花费的意外时间可能需要数周甚至数月的时间,这可能会危及产品按时发布的风险。
借助 MULTI,曾经需要数天、数周或数月才能发现的问题在数小时甚至数分钟内得到解决。在复杂的系统中,最耗时的错误是零星的、隐藏的,并且通过代码检查不明显。MULTI 使开发人员能够快速查明由内存损坏、意外依赖关系、意外中断、多核复杂性、任务间损坏、缺少源代码或虚拟化导致的不透明性、错过实时需求和异步硬件事件引起的问题......仅举几例。
MULTI
调试器包括三个强大的功能:
历史记录查看器显示程序如何达到当前状态以及系统正在执行的操作
TimeMachine
使用跟踪数据,因此您可以在调试器中运行、单步执行和分析
调试快照保存调试会话,您可以轻松地与同事共享该会话
MULTI 工具套件
MULTI 中的工具套件由 Green Hills Software 开发人员创建,旨在形成一个完整的环境,专门用于满足嵌入式软件开发人员的需求: 经过安全认证的 C/C++ 编译器和运行时库。
多核调试器
高级系统查看器
回溯调试
操作系统感知
静态代码分析器
运行时错误检测
内存泄漏检测
性能探查器
编辑 器
指令集模拟器
代码覆盖率
项目管理人
版本控制集成
闪存编程器
Python 接口
理解复杂系统
这个项目是怎么来的?
时间花在哪里?
程序是否做了任何意外的事情?
这三个问题是调试代码和提高系统运行速度的基础。历史记录查看器可以回答这些问题。
历史记录查看器通过自然直观的 GUI 显示跨复杂异构多核系统执行程序的最后几秒、几分钟或几天。现在,您第一次可以清晰、完整地了解模糊的硬件和软件系统。您可以在微秒级别深入放大处理器行为,也可以缩小以查看跨分钟和数天的系统行为。这种新的可见性使您能够在几秒钟内找到困难的错误,查看隐藏的瓶颈和依赖关系,并分析执行时间。
历史记录通过显示复杂异构多核系统中程序执行的最后几秒、几分钟或几天,为您的系统提供前所未有的可见性。
回溯调试
通过自动捕获实际的程序执行数据,TimeMachine
使 调试器,用于向后运行、单步调试和调试代码到历史记录中显示的任何问题区域。 它还支持其他工具,例如 Profiler。
TimeMachine 使 MULTI 调试器能够及时向前和向后运行、单步执行和分析程序,以找到问题的根本原因。
预防新问题
DoubleCheck
是 Green Hills Software 的集成静态源代码分析器,通过在运行程序之前识别编程错误来节省您的时间和金钱。由于 DoubleCheck 是 Green Hills 优化编译器的一部分,因此没有设置麻烦,使用它的开销也很小。只需设置一个选项,DoubleCheck 就会在每次编译时自动审查源代码。由于它是编译器的一部分,因此 DoubleCheck 的运行速度比传统的静态分析工具快得多,这意味着每个开发人员都可以一直打开它。
此外,DoubleCheck 比传统的代码审查更可靠,可以发现在常规系统测试中可能永远不会出现的错误。
运行时错误检查通过查找仅通过静态分析无法识别的错误来补充 DoubleCheck。由于内存损坏导致的错误特别令人发指且难以发现,并且可以长时间保持沉默。通过运行时错误检查,当问题发生时,您会收到有关问题原因的警报。运行时错误检查可识别问题,例如通过指针进行无效的内存访问、超出范围的值赋值、switch 语句中未处理的情况以及除以零。
DoubleCheck通过在“开发”阶段及早发现问题来降低开发成本,从而节省时间和资源。
干净的代码不太可能包含错误,并且更易于测试、理解和修改。所有这些因素都有助于减少错误和提高可靠性。Green Hills 优化编译器能够执行由行业标准定义的干净编码约定,例如
MISRA 2012和2004
编码标准,其中包括一百多条安全编程规则。您还可以选择强制执行这些规则的自定义子集以满足特定要求。
高级调试
MULTI 调试器是一个强大的工具,用于检查、监控和更改在复杂的异构多核目标处理器和仿真器上运行的源代码。什么时候 使用TimeMachine,它甚至可以在时间上倒退。调试器与 MULTI 中的其他工具无缝集成,可以通过单击各种 MULTI 工具(如历史记录查看器)来调用。
在各种操作系统或裸板代码上调试应用程序、内核和设备驱动程序代码
调试虚拟化操作系统内核及其应用程序
一个调试器,用于同步 (SMP) 和异步多核 (AMP) 的运行模式和冻结模式调试以及运行控制
遍历调用堆栈、查看缓存、浏览对象以及查看内存和寄存器
使用 OSA Explorer 深入了解内核对象、任务和资源的状态
在源级别调试任务交互
使用强大的执行和数据断点查找特定数据点
调试在虚拟地址空间中运行的代码
使用 MULTI Debugger,调试多任务、多核系统就像调试单核系统一样简单。
当您在 INTEGRITY 或 Linux 等操作系统上调试多任务应用程序时,MULTI 可以同时在运行模式、冻结模式或两种模式下与多个任务进行交互。在运行模式下,操作系统内核会在您停止和检查单个任务时继续运行。在冻结模式下,当您检查任务时,整个目标系统将停止。
多核调试功能中的关键是同步运行控制,当任何内核遇到调试条件时,它会将所有内核作为一个单元停止。例如,当内核命中断点时,目标列表会清楚地显示:
哪些内核已命中断点
当时哪个线程在核心上执行
系统中的其他内核在做什么
MULTI 的同步运行控制可同时停止多核系统中的所有内核。这使您能够调试一个内核,而不必担心在另一个内核上运行的操作会影响共享内存。
调试嵌入式 Linux
MULTI for
Linux 为开发嵌入式 Linux 的工程师提供高级调试 软件。它极大地提高了他们的生产力,并帮助他们更快地将更可靠、性能更高的产品推向市场。
传统的 Linux 调试工具只能提供有限的可见性和实用性。GDB 和 Eclipse 等前端设置起来很麻烦,使用困难,响应速度慢,而且在调试嵌入式优化代码时并不总是值得信赖。
因此,开发人员经常求助于 printf 和 printk 命令的命中和失误效率。遗憾的是,部分由于对性能的重大影响,这些技术引入了自己的问题,并且只能为复杂系统执行提供有限的窗口。
借助 MULTI for Linux 和 Green Hills 咨询服务,您现在可以比以往任何时候都更快、更轻松地可视化和调试嵌入式 Linux 系统的各个方面,包括 Linux 内核、内核线程、中断服务例程、用户模式线程和进程。
灵活的 IDE,可帮助您在任何软件开发生命周期流程中管理项目
MULTI IDE 简化的项目管理让您将更多时间花在开发产品上。借助其 Builder,无需维护复杂的构建基础架构,并且可以轻松更改构建配置。生成器会自动分析整个项目的依赖关系,并并行编译和链接尽可能多的文件,充分利用现代多核系统。
与构建器一起,无缝集成的项目管理器、编辑器、闪存编程器和指令集模拟器以自己的方式帮助您减少在构建管理上花费的时间,而将更多时间花在代码上。
无论您组织的软件开发生命周期流程如何,MULTI 都允许您选择在本地或云端运行其编译器、静态源代码检查和模拟器,作为 CI/CD 流程的一部分,从而提高团队在编译和测试阶段的效率。
MULTI Project Manager 简化了您构建和更新应用程序的方式。选项卡式框图和内存布局视图提供对应用程序结构的概览。这里绿色表示读/写内存,红色表示只读内存。
最大限度地提高性能
对于需要尽可能高性能的应用程序,MULTI IDE提供了业界最好的嵌入式C / C++编译器和最佳的性能分析工具。为了达到终极性能,您还可以聘请 Green Hills Software 性能调优专家为您的设备定制解决方案。
生成更快、更小的代码编译器是利用处理器性能的基本要素,Green Hills C/C++ 优化编译器是业内最好的。在广泛的- Green Hills 编译器是公认的嵌入式处理器 EEMBC 基准测试,性能始终优于竞争编译器,可为 32 位和 64 位处理器生成最快、最小的代码。
Green Hills 编译器使用数百种最先进的编译器优化来显着提高程序执行速度并减小大小。
芯片供应商发布经过认证的 EEMBC 基准测试,以展示其处理器在各种实际应用中的性能。这些供应商选择使用 Green Hills Compilers 生成的乐谱,其发布次数是任何其他编译器的两倍以上。
查明性能瓶颈最大限度地提高程序性能的第二个关键因素是使用最佳的性能分析工具。借助
History和Profiler工具,您可以轻松识别和消除代码中的性能瓶颈。其结果是应用程序更快、更高效。
在最大限度地提高性能时,时间是最重要的考虑因素。这也是大多数分析工具丢弃的维度。创新的历史记录可视化工具为程序中执行的每个功能提供了基于时间的高级视图,从而可以轻松识别程序流中的模式,并轻松发现时间花费的位置。功能强大的 Profiler 使用从跟踪或检测代码中收集的数据,提供对程序行为的额外洞察。它显示了每个任务、函数、源代码行和汇编语言指令消耗了多少处理器时间,从而可以轻松:
查找性能问题
查找覆盖率差距并跟踪特定代码的测试覆盖率
与其他用户共享个人资料数据
从多个测试或配置文件记录中收集和合并配置文件数据
Profiler 的界面通过显示不同任务、函数和指令的运行频率和时间来简化分析,以便您可以确定优化和测试工作的重点。
从我们的专业知识中获益为了达到尽可能高的性能,请引入 Green Hills Software 的性能调优专家。我们的定制服务将帮助您充分利用我们的开发工具和编译器, 评估您的设计,甚至创建适合您目标的自定义编译器优化。
降低生产成本
在高产量环境中,即使每单位节省几美分,也可以带来巨大的整体节省。MULTI IDE 可以显著降低内存和处理器成本,从而提高您的利润。
降低处理器成本
您并不总是需要更快的处理器来满足日益增长的性能要求。我们卓越的 C/C++ 编译器优化经过调整,可充分利用您使用的处理器。此外,我们的性能分析工具(如历史记录查看器和性能分析器)可让您鸟瞰程序所花费的时间,从而帮助您集中精力进行优化。如果您可以使用成本较低的处理器来满足相同的实时要求,您将节省多少钱?
提高代码性能是有回报的,因为它为您的设计提供了更多的 CPU 空间来添加更多功能。它甚至可以让您选择成本更低、功耗和冷却性能更低的处理器。
MULTI生态系统
请联系 Green Hills Software,获取对新处理器和操作系统的最新支持。
目标处理器
操作系统
Linux操作系统
FreeRTOS
VxWorks公司
AUTOSAR系统
JTAG和跟踪探针
选定的第三方探测器
开发主机
仿真平台
Arm Fast 模型
新思科技VDK
VLAB作品
Cadence VSP
MULTI指令集模拟器
语言
EC++的
艾达 (w/AdaMULTI)
GNU C/C++ 扩展
第三方集成编译器
GCC 和那些生成 DWARF 或 Stabs 调试信息的人
设计和测试工具
狂想曲
斯卡德
矢量广播
LDRA公司
蟒
功能安全信心
MULTI C/C++ IDE和工具链经过认证,符合最高安全级别:
ISO 26262:2018(汽车);IEC 61508:2010(工业); EN 50128:2011 和 EN 50657(铁路)功能安全标准
TÜV NORD和exida颁发的证书
满足最高可达到的级别 SIL 4(安全完整性等级)和 ASIL D(汽车安全完整性等级),并满足 C/C++ 运行时库认证要求
在广泛的目标处理器上受支持
好处是多方面的:
降低成本,缩短认证和生产时间
减少产品发布后的认证维护
更高的质量和可信度,将代码定位到最高的 ASIL/SIL 级别
Green Hills 培训和咨询
Green Hills 专家培训和咨询服务提供了最直接的途径来了解 MULTI IDE 的全部潜力,因此您可以在最短的时间内达到最大的生产力。
托管实施计划该计划旨在通过 Green Hills Software 产品环境提高开发团队的效率和生产力。所提供的服务在内容和持续时间上是完全可定制的,包括:
专家培训
环境设置
应用程序设计指导
定制培训 我们的培训课程涵盖广泛的材料,从 INTEGRITY 编程到高级历史引导调试。课程由具有使用 Green Hills 工具开发的实践经验的专家授课。课程可以在您的设施和时间表上授课,以最小的干扰提供最大的价值。
除了定制培训外,托管实施计划还提供积极主动的持续指导,以确保您知道如何最好地使用我们的环境,并定期与Green Hills Software专家联系。