0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

米尔科技 ARM DS-5 DS5 - ARM官方开发工具介绍

米尔科技 来源:米尔科技 作者:米尔科技 2019-11-20 09:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ARM DS-5 中的 ARM 编译器是唯一一个与 ARM 处理器联合开发的商用编译器,专门设计用于为 ARM 架构提供最优支持。该编译器的开发历经 20 年,它被公认为业界标准的面向 ARM 处理器 C 和 C++ 编译器,用于生成面向 ARM、Thumb、Thumb-2、VFP 和 NEON 指令集的应用程序。

ARM Development Studio开发工具

概念:该产品官方名称为ADS,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)以及LinuxAndroid的深入可见性。 在目标板上,您可以轻松地可视化所有任务/线程及其调用框架,设置任务/特定于线程的断点,以及在单步执行代码时查看内核资源(如邮箱和信号量)。 在调试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

整个系统的完整性能视图。 这种简单易懂的可视化有助于分析在CPUGPU或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 GPU的系统上的图形应用程序和内容。
调试和优化图形内容
查找并修复图形缺陷和性能问题,以减少解决方案的上市时间。
标准的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

    文章

    3716

    浏览量

    133106
  • 安卓
    +关注

    关注

    5

    文章

    2178

    浏览量

    59866
  • 米尔科技
    +关注

    关注

    5

    文章

    227

    浏览量

    22162
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    华大电子支持的主流开发工具有哪些

    华大电子支持的主流开发工具
    的头像 发表于 09-28 10:43 318次阅读
    华大电子支持的主流<b class='flag-5'>开发工具</b>有哪些

    ARM入门学习方法分享

    使用一些在线资源,如ARM官方文档和教程,来学习ARM汇编语言。 三、使用开发工具:为了进行ARM
    发表于 07-23 10:21

    IAR发布Arm开发工具链v9.70.1版本

    近期,IAR重磅发布其旗舰产品——Arm开发工具链的全新版本v9.70.1,全面提升了在性能、安全性及自动化方面的能力。此次重大更新将进一步助力汽车、工业、医疗及物联网等行业打造更敏捷、可扩展的嵌入式应用,为全球开发者提供更强大
    的头像 发表于 06-25 14:12 2125次阅读

    搭载ARM,NPU,FPGA三种核心的开发板—米尔安路DR1M90飞龙派

    最近我发现一个有趣的开发板。 这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。 它就是米尔新出的YM90X开发板。 它基于安路
    发表于 06-13 17:02

    在IAR Arm开发工具链中--function_sections编译选项的使用

    本文主要介绍在IAR Arm开发工具链中不修改源代码的情况下使用‑‑function_sections编译选项把函数放到单独的section。
    的头像 发表于 06-13 13:53 1514次阅读
    在IAR <b class='flag-5'>Arm</b><b class='flag-5'>开发工具</b>链中--function_sections编译选项的使用

    ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙派开发

    最近我发现一个有趣的开发板。这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。它就是米尔新出的YM90X开发板。它基于安路科技所打
    的头像 发表于 06-13 08:03 1358次阅读
    有<b class='flag-5'>ARM</b>,NPU,FPGA三种核心的<b class='flag-5'>开发</b>板 — <b class='flag-5'>米尔</b>安路飞龙派<b class='flag-5'>开发</b>板

    Lauterbach TRACE32开发工具现在支持PX5 RTOS

    Lauterbach TRACE32开发工具现在支持PX5 RTOS。这里TRACE32工具支持包括对PX5 RTOS内部结构和数据的访问,使开发
    的头像 发表于 06-12 16:38 826次阅读

    IAR开发平台升级Arm和RISC-V开发工具链,加速现代嵌入式系统开发

    IAR正式发布其旗舰产品的重大更新版本:Arm开发工具链v9.70和RISC-V开发工具链v3.40。
    的头像 发表于 06-11 14:28 651次阅读

    rk3568开发工具

    rk3568开发工具
    发表于 04-16 17:03 7次下载

    AI开发工具分类与功能

    当下,AI开发工具不仅简化了AI开发的复杂流程,还提高了开发效率,推动了AI技术的广泛应用。下面,AI部落小编为大家介绍AI开发工具的分类及
    的头像 发表于 04-12 10:12 1043次阅读

    S32DS v3.5安装S32k3开发包失败的原因?

    : 5.1.7;内部版本 ID: 202112141853 软件包:S32 Design Studio 平台工具包;版本: 3.5.0;内部版本 ID: 202207261752 封装:用于 Arm 嵌入式处理器 Build 1620 的 NXP GCC;版本:1620
    发表于 04-11 07:44

    DS9094-SM5 adi

    电子发烧友网为你提供ADI(ADI)DS9094-SM5相关产品参数、数据手册,更有DS9094-SM5的引脚图、接线图、封装手册、中文资料、英文资料,DS9094-SM5真值表,DS9094
    发表于 03-10 18:35
    <b class='flag-5'>DS9094-SM5</b> adi

    双目视觉处理系统开发实例-基于米尔安路国产DR1M90开发

    开发者根据场景需求加入)4.VTC驱动HDMI输出显示 2. 系统程序开发2.1 DR1固件架构设计GUI设计界面,类Blockdesign设计方式,通过AXI总线,连接DR1的ARM核与定制化外设,包括
    发表于 02-21 14:20

    盘点工程师常用的嵌入式开发工具

    嵌入式开发涉及硬件与软件的紧密结合,开发工具的选择对效率和质量至关重要。以下是嵌入式开发中常用的工具分类及代表性工具,涵盖
    的头像 发表于 02-07 10:06 3744次阅读

    Arm原生Google Chrome增强Windows on Arm性能

    微软 Windows 10 和 Windows 11 集成了 Arm 原生支持,这保证了为 Windows 开发更多 Arm 原生应用。这种支持提供了额外的工具,以简化应用移植、增强应
    的头像 发表于 12-17 10:25 1665次阅读