ARM Development Studio开发工具
ARM的行业参考C / C ++编译工具针对基于ARM架构的设备的效率进行了优化。 使用ARM Compiler提高性能,创建更小的代码。
- 适用于各种嵌入式工作场景
- 裸机和嵌入式(RT)OS应用程序的代码优化
- 一流的代码密度
- 与生态系统合作伙伴的兼容
- 最大化发挥ARM的设计的潜力
凭借出色的性能,ARM Compiler可以开发高效产品,利用ARM Cortex处理器和架构的所有功能,从ARMv6-M到ARMv8-A 64位ARM。 这种通用编译器可优化裸机和嵌入式(RT)OS应用程序的代码。
ARM Compiler可在ARM Development Studio中使用,包括专用的微控制器专家工具包Keil MDK。 作为开发工作室金牌和银牌版本的一部分,Keil MDK Professional中包含适用于Cortex-M设备的安全认证编译器。 最后,为了与前几代产品最终兼容,Development Studio许可证还支持以前版本的ARM编译工具,例如ARM Compiler 5和RVCT。
- 实时场景的表现
ARM Compiler针对各种嵌入式工作负载以及单一基准测试进行了优化。 这是我们对编译器的持续投资的结果。
- 自动捕获目标
使用户能够自动直接在目标上捕获数据,以便集成到现有的构建系统中。 识别性能下降或出现图形异常时,在引入后立即解决这些问题。
- 满足安全需求
对于功能安全 应用,可通过附加的ARM Compiler安全包简化TÜV SÜD认证过程。
- 生成更快的代码
通过结合微体系结构特定的指令调度,整个程序优化策略和精细调整的库,ARM Compiler 6显着加快了各种工作负载的执行时间。 在一些大型工业和汽车案例中,与前几代相比,性能提升超过30%。 这是针对复杂,逼真的嵌入式代码进行持续优化投资的结果。
- 创建更小的代码
嵌入式开发人员总是在性能和代码大小之间寻求适当的平衡。 通过一系列强大的优化技术,Arm Compiler可提供小巧高效的代码,尤其适用于Cortex-M设备。
- 构建安全关键代码
由安全专家TÜV南德意志集团评估和认证的编译器分支机构,资格证书文件和长期维护合同,Arm Compiler的安全包简化并加速了实现功能安全认证的过程。
- Functional safety Arm 编译器
Arm Compiler C / C ++工具链的全面安全包,可加速安全关键代码的构建并简化TÜV SÜD的认证过程.
Debug
Arm Debugger
一个适用于现代复杂SoC的调试器Arm Debugger可帮助您在整个开发过程中找到软件漏洞的根源。 从设备启动到应用程序调试,它可用于在虚拟平台和硬件上开发代码,以帮助您在竞争对手之前将产品推向市场。
支持前沿的设备,以及您自己的设备
Arm Development Studio附带预加载的调试配置和许多常用设备的示例。 但是,如果您正在设计自己的SoC或正在为不太流行的ASIC开发软件,Arm Debugger和DSTREAM调试探针可以帮助创建新的设备配置,不仅描述其处理器内核,还描述其他调试块,如交叉触发器, 跟踪宏单元和跟踪漏斗。
更轻松的多核调试
Arm Debugger在设计时考虑了复杂的SoC开发,因此多核调试与在单个内核上快速测试执行一样直观。 支持对称(SMP)和非对称(AMP)多处理,以及包括异构(big.LITTLE技术)系统的复杂操作模式。
Arm Debugger在基于Eclipse的Arm Development Studio中可用,它为高级用户提供了一个Python脚本界面,可以按照他们想要的方式配置SoC上的每个Arm CoreSight组件,同时保持调试器界面对每个人都简单直观。
更快更容易的调试
命令行和脚本调试命令视图为您提供了一种熟悉的命令行调试方法。对于纯粹从命令行驱动Arm Debugger的项目,您可以完全在Eclipse环境之外工作。我们知道这仍然是一种流行的调试方式,因此请提供一个Development Studio命令提示符,以便您快速访问。
- 跟踪数据
在调试代码时,系统视图是查看数据更改的简便方法。
- 轻松搜索功能
快速访问搜索框可帮助您查找特定视图或功能,从而节省时间
- 上下文帮助
F1提供了集成的上下文帮助,可帮助您解决复杂的调试问题。
- 复制会话
通过历史记录视图从调试会话中导出一组完整的步骤。
- C表达无处不在
在寄存器,内存地址,断点和表达式视图的内容中编写类似C的表达式。
可以使用MDK兼容命令闪存,包括支持基于CMSIS软件包中包含的信息的闪存设备。
- 内存填充和导出
通过开始和结束地址或表达式将字节写入内存或导出内存内容
在整个产品生命周期中调试应用
Arm Debugger是一个理想的工具,可以在整个团队中实现标准化。从芯片开发到应用程序开发,您的团队可以从增强的协作和统一的用户体验中受益。
Development Studio IDE提供平台配置编辑器(PCE)等实用程序,它使用JTAG自动检测您的平台。虽然现代SoC通常需要一些额外的手动配置,但初始扫描通常会发现几个调试和跟踪元素,为您提供了一个良好的开端。
对于交叉触发器,跟踪生成器,接收器和结构,以及您自己的自定义IP,我们提供了一个称为Debug and Trace Services Layer(DTSL)的抽象层,它允许您使用简单的Jython脚本描述这些元素。
但是,如果您使用的是现成的部件,则很可能在Development Studio中已经预先构建了调试配置。这使得大多数调试都是连接到目标板的情况。
识别目标操作系统
Arm Debugger集成了对流行的实时操作系统(RTOS)以及Linux和Android的深入可见性。 在目标板上,您可以轻松地可视化所有任务/线程及其调用框架,设置任务/特定于线程的断点,以及在单步执行代码时查看内核资源(如邮箱和信号量)。 在调试Linux内核时,您还可以查看和加载动态加载模块的符号,以及设置挂起的断点。 支持的操作系统包括:
Linux & Android
FreeRTOS™
Keil® CMSIS-RTOS RTX
NXP Semiconductors MQX™
Micrium® μCOS (II and III)
Express Logic ThreadX®
Segger embOS™
Quadros RTXC™
Mentor Graphics® Nucleus®
SYSGO PikeOS™ Hypervisor
Wind River VxWorks®
eForce μC3® Standard
内存可视化
使用地址修饰符,您可以访问特定类型的内存,例如,如果键入S:0x0,调试器将在TrustZone安全模式下读取地址0x0处的内存。这些前缀可用于加载符号,设置断点,查看/修改内存内容并报告当前停止状态。
MMU查看和地址转换
利用MMU视图自动完成页表行走,将虚拟转换为物理内存地址并显示内存映射的概述。
定制外设寄存器
目标配置编辑器能够为视图添加自定义外设寄存器,从而可以针对目标特定外设和寄存器进行定制。导出自定义配置
以CMSIS-SVD兼容格式导出已配置目标的设置,以便在Keil MDK中进一步工作。
断点和观察点
完全控制Arm Debugger通过对硬件,软件和条件断点的最大控制,Arm Debugger可帮助您消除复杂的错误。
可以将条件断点设置为在类似C的表达式求值为true时停止执行,在断点触发或运行调试器脚本之前允许多次命中,而线程和虚拟机特定的断点可用于在从特定的特定位置命中时停止处理器 线。
您可以设置的断点的类型和数量取决于内存区域,处理器中的硬件支持,调试接口和运行状态。
同样,您也可以设置监视数据访问的地址或值的观察点,而不是从特定地址执行的指令。
跟踪点
开发工作室中的跟踪功能非常强大,当您反复停止和启动核心时,提供一种非侵入性的方法来挑选难以发现的错误。为了应对现代系统的复杂跟踪拓扑,Development Studio允许您设置和配置跟踪启动,停止和触发点。
在Arm Debugger中,可以从Arm组装编辑器,C / C ++编辑器,反汇编视图,功能视图,内存视图或跟踪视图中设置跟踪点。
协作调试和跟踪
断点,跟踪点和观察点都可以导出,以便在不同的Development Studio工作区中使用,从而帮助您以团队形式调试代码。
Keil µVision Debugger
具有流式跟踪的微控制器调试器
使用流式跟踪调试微控制器
μVision调试器为Keil MDK软件工具套件提供调试功能,是一个用于测试,验证和优化应用程序代码的单一环境。
除响应式运行控制调试外,它还支持使用数据跟踪和非侵入式指令跟踪,从而提供调试和系统优化。 除了支持许多第三方调试适配器,当它与ULINK探针配对时,它还提供流指令跟踪,功率测量功能和数据跟踪。
组件查看器和事件记录器
仅使用内存读取和写入,组件查看器和事件记录器提供有关变量,结构或其他对象中的软件组件的信息。 它们还显示软件组件的执行状态和事件信息。 Keil MDK-Middleware和几个实时操作系统包含事件注释 - 事件记录器允许您快速分析和理解这些软件块的操作。
事件统计
显示代码执行的统计数据。 与任何调试适配器一起使用时,它会记录执行时间和已注释代码段的调用次数。 与ULINKplus调试适配器配合使用时,开发人员可以在注释代码中分析能源使用情况,这在改善电池驱动设备的功率配置时尤其有用。
数据和事件跟踪
分析所有基于Cortex-M3 / M4 / M7 / M23 / M33的设备上的数据和事件跟踪信息。 在系统运行时,您可以跟踪中断和异常。 它还支持通过Instrumented Trace Macrocell(ITM)传输的printf样式的调试消息。
指令跟踪
当使用μVision®Debugger和ULINKpro调试探针时,您可以直接将指令跟踪流传输到PC,从而可以调试历史序列,执行分析,性能优化以及安全关键应用程序所需的代码覆盖率分析。 嵌入式跟踪宏单元(ETM)使其成为可能,嵌入式跟踪宏单元(ETM)集成在许多基于Cortex-M3 / M4 / M7 / M33的设备中。Debug Probes
一系列调试探针支持JTAG和串行线调试连接,无论是用于深度嵌入式系统中的高速串行跟踪还是更简单的微控制器调试。Analyze
Streamline Performance Analyzer
整个系统的完整性能视图。 这种简单易懂的可视化有助于分析在CPU,GPU或NPU上花费的所有时间。
裸板系统支持
Streamline支持裸机系统,可与各种RTOS一起用于从最小的Cortex-M到最大的基于Cortex-A的系统的各种性能分析。 通过编译系统特有的生成代理代码,简化裸金属的工作。 此代码从系统收集相关的性能数据,以便传输和导入Streamline。 完成后,用户可以像使用Linux一样生成分析和可视化。修复裸机系统中的性能瓶颈
Streamline可以使用硬件计数器和一系列其他性能指标来分析整个系统,以识别瓶颈。 简化裸金属系统提供相同级别的性能分析,但专门针对基于Linux的操作系统不存在的基于Cortex-R和Cortex-M的设备。
基于CPU的采样器
对程序计数器进行采样,以显示CPU在系统中花费时间的位置,从系统级到逐行应用程序源代码
重点分析
过滤掉与分析无关的信息,专注于某个瓶颈,或检查特定应用程序或线程的性能。指令跟踪
简化裸裸板系统直接从您的系统导入指令跟踪,显示您的应用程序的确切位置,并填充所有标准的Streamline视图。 此功能可显示准确的调用路径以及CPU花费时间的确切位置。 通过编译系统特有的生成代理代码,简化裸板系哦他能够的工作。 此代码收集用于从系统传输到Streamline的性能数据。
用于多种跟踪机制
我们知道有很多不同的系统,每个系统都有不同的跟踪功能,因此Streamline for Bare-metal系统可以通过STM ITM和ETM从生产设备中提取数据。 在没有跟踪机制的情况下,该工具将数据放入内存中,允许用户决定如何将其传输到PC。
Graphics
Mali Graphics Debugger Professional
通过查找和修复缺陷和性能问题来调试和优化图形内容。
- OpenGL ES,Vulkan和OpenCL的高级API跟踪
- 多供应商GPU支持
- 自动捕获目标
- 脚本支持客户分析目标
- 完整的跟踪重播
- Graphics development tools
调试和优化图形内容
查找并修复图形缺陷和性能问题,以减少解决方案的上市时间。
标准的Mali Graphics Debugger允许开发人员在他们的应用程序中跟踪OpenGL ES,Vulkan和OpenCL API调用,并逐帧了解对应用程序的影响,以识别可能的问题。 调试器支持基于Android和Linux Arm的目标平台。 在Arm Developer Studio中提供的专业版中,下面的附加功能可以实现针对芯片,操作系统和嵌入式产品发布的更全面的调试和分析。
帧硬件counter
在评估图形时,您希望尽快识别哪个帧导致问题。 如果您运行的是具有最新驱动程序的基于Mali的设备,则Mali Graphics Debugger将按Frame显示硬件计数器。 这显示了生成每个帧所需的资源以及哪个帧最昂贵。
虚拟原型
内部函数提供针对未能很好地映射到高级语言的公用代码序列或指令的支持。
- ETSI内部函数提供用在若干示例算法中的电信基元
- TI C55内部函数支持为利用特定于TI的扩展而编写的算法
- Cortex-M4内部函数用于面向板载DSP
- 其他内部函数允许访问从C语言不易访问的所有ARM硬件指令,降低了以汇编语言编写代码的需要
尽可能在早期处理器上模拟内部函数。
Fast Models
快速且功能准确的运行的Arm IP视图模型无需物理目标即可启用软件开发在硅可用性之前的早期软件开发通过虚拟连接到模型进行源级调试脚本接口支持自动化和持续集成流程标准接口支持与第三方IP模型的集成所有Development Studio版本都支持模型调试
Cycle Models
Arm IP的100%周期精确模型基于编译的RTL的模型,导致完整的循环精度使用准确的信息优化性能开发需要确定性的裸机软件和低级固件模型检测可实现系统级可见性和调试所有Development Studio版本都支持模型调试
FVP
准确,可立即运行的模型
即用型,预配置,快速且功能准确的仿真平台
完整的系统仿真,包括处理器,存储器和外设
完全可调试和自动化
支持裸机和OS级开发,包括Linux示例
包含在每个Development Studio Edition中
-
嵌入式系统
+关注
关注
41文章
3586浏览量
129410 -
安卓
+关注
关注
5文章
2125浏览量
57135 -
米尔科技
+关注
关注
5文章
227浏览量
20953
发布评论请先 登录
相关推荐
评论