ARM调试器
深圳市完美体育·(中国)手机网页版科技有限公司是ARM公司官方授权全线工具产品代理商, 提供ARM公司原装正版开发工具(包括本产品DS-5)的销售服务,以及ARM工具产品的市场推广、产品更新、技术支持和售后服务。
概念:该产品官方名称为DS-5,也称ARM DS-5,ARM Development Studio 5 等,系为同一产品。
针对基于 Linux 的目标系统的专业的系统范围调试环境。
概述
DS-5 调试器兼具集成的微控制器工具的方便性和高生产率以及针对 Linux 的开放源工具的强大功能和灵活性。其基于 Eclipse 的 GUI 简化了管理不同目标连接类型的复杂工作,为在启动加载程序、内核和应用程序级别进行软件调试提供多种不同的方式,同时,其与 GDB 类似的命令行接口为专业的 Linux 用户增添了快速控制和脚本撰写功能。
DS-5应用版
它是在标准 GDB 连接的基础上建立的,适合于用户空间本机代码调试(例如,Linux 应用程序和共享库、Android NDK 调试)。DS-5 应用程序调试器支持同时发生的若干调试会话、SMP 系统、多线程,并且还允许 Android SDK/ADT 集成到 DS-5 Eclipse IDE 中以便进行 Java 级别的调试。
DS-5 Linux 版
扩展了现有对 DS-5 AE 的调试支持,以便还包括通过 JTAG / SWD 连接针对单核和 AMP 系统的启动加载程序和内核空间调试。(SMP 支持已在 2011 年上半年提供)
5.4版本中的新增功能
-
跟踪导出功能,以便实现对外部工具的跟踪数据分析
-
访问 NEON 寄存器
-
添加了目标配置,以便只允许 Linux 内核跟踪 - 不捕获用户级别数据
-
反汇编视图显示内联函数的位置,并且还具备了符号搜索和自动完成功能
-
支持调试 Linux 独立于位置的可执行文件 (PIE)
-
在设备配置数据库上增加了更多的设备和开发平台,以便提供现成的 JTAG 调试兼容性
主要特性
专业的端到端调试器
-
单个直观的用户界面,涵盖从启动加载程序到本机应用程序调试的所有软件层
-
由 ARMCC 和 GCC 编译器生成的调试代码
-
专业维护和支持的解决方案:对于软件开发十分可靠且响应迅速
- 一个许可证可用于所有支持的 ARM 应用程序核心
-
使用源代码匹配的指令级别 ETB 跟踪
-
针对基于时间的分析的指令和函数视图
-
具有 DSTREAM 的最高 4 GB 的片外跟踪缓冲区
Linux 识别
-
Linux 内核和用户空间上下文识别,包括进程和线程
-
模块视图,列出动态加载的模块和共享库
-
自动化工作流:连接、下载和运行
-
与 GDB 相似的命令行控制台和脚本撰写功能
-
全面的目标文件系统浏览器
- 设备数据库,以及快速的闪存编程
兼容的调试探针
DSTREAM 高性能调试和跟踪
-
运行控制调试和跟踪单元支持所有 ARM 和 Cortex 处理器
-
通过 USB 2.0 和以太网接口,可以从主机 PC 进行直接和远程连接
-
支持 JTAG 和串行线调试目标接口
-
代码下载速度最高可达 2500 KB/秒
-
频率高达 60 MHz 的 JTAG 时钟可在现有调试端口提供快速软件上载
-
通过 300 MHz DDR 进行 16 位宽度的跟踪捕获(600 兆比特/秒/针)
-
灵活的跟踪时钟定位(相对于跟踪数据)
-
高达 4 GB 的跟踪缓冲区可以对快速目标进行长时间跟踪
-
设备引入和测试实用工具
-
支持通过 JTAG 进行虚拟以太网链接
- 支持第三方 IP 和调试器
RVI 运行控制调试单元
-
运行控制调试单元支持所有 ARM 和 Cortex 处理器
-
通过 USB 2.0 和以太网接口,可以从主机 PC 进行直接和远程连接
-
支持 JTAG 和串行线调试目标接口
-
设备引入和测试实用工具
-
支持通过 JTAG 进行虚拟以太网链接
- 支持第三方 IP 和调试器
会话控制
调试会话配置
可以通过简单的对话框(如下所示)轻松地配置新的 DS-5 调试器连接。在这个对话框中,用户从支持的平台的数据库中选择其设备/开发板、定义调试会话的类型(裸机、Linux 应用程序或 Linux 内核和驱动程序)、加载符号文件以及设置目标环境变量等。在保存后,仅需双击即可随时重新调用会话配置,从而在每次调试交互操作时节省开发人员的宝贵时间。
调试控制视图
使用调试控制视图,可以非常轻松地管理调试连接、展现上下文和控制程序执行。调试连接在此视图中列出,并且只需一次单击即可启动连接,而与连接类型(例如 JTAG 或 GDB)无关。在顶部栏中,开发人员可利用运行控制命令来执行程序,这具有很高的灵活性。在由于谨慎处理或由于断点命中而暂停执行时,进程、线程和调用堆栈信息将立即显示。最终,调试控制视图允许与一个或多个目标同时建立多个连接,并且在用户将重心放在某个连接时自动刷新所有其他调试器视图。
源代码和单步汇编
对于对低级别调试或优化感兴趣的开发人员,DS-5 调试器提供了一个反汇编视图,可用于自动或手动对 ARM 或 Thumb 指令进行解码。通过与程序执行完全同步,该反汇编视图突出显示了与所选源代码行匹配的所有指令,并且还可以用于逐步骤执行机器指令以及源代码级别。从调试控制视图,可通过运行、暂停和单步执行/单步跳过/单步跳出图标对程序执行进行控制。
命令行接口和脚本撰写
您是否已经对 GDB 的命令行接口十分熟悉?想要进一步自动化调试设置或者复现您未能记住的最近执行的步骤?DS-5 调试器实现自己的类似于 GDB 的命令行接口,扩展了 GNU 工具的功能,并且包含 JTAG/SWD 和 GDB 连接。DS-5 调试器命令提示符可从 DS-5 IDE 内访问,也可以通过控制台从外部访问,前者还具备自动完成功能和工具提示帮助以方便您使用(下面是屏幕快照)。所有调试器操作(CLI 或 GUI 驱动的)都显示在命令视图中并且记录在历史记录视图中,这允许用户只需通过选择文本并在脚本视图中拖放脚本,即可将任何命令序列转换为脚本。然后,用户可以随时调用已保存的脚本,或者在初始化时或命中断点时自动执行已保存的脚本。
断点和数据观察点
断点和观察点已成为软件调试的重要一环,但 DS-5 调试器令其功能更强大且更易于使用。软件和硬件断点可以轻松地从源代码进行设置,并且在断点视图中与观察点一起列出。此视图用于禁用、启用、删除或配置断点和观察点属性,以便确保执行在正确的上下文中停止。“断点属性”对话框(显示在右侧)允许开发人员设置停止条件表达式、忽略计数、运行保存的脚本和自动继续执行,甚至允许仅在特定的线程停止。同样,DS-5 调试器中的数据观察点也非常灵活,并且可在以特定方式访问内存位置时、表达式计算结果为 true 时或者在到达了忽略计数时触发。数据观察点从变量视图或内存视图进行设置。
跟踪
非侵入性跟踪
在调试软件时,在许多情况下,错误的负面影响显而易见,但导致出现此类错误的根本原因却远在程序执行之前就已存在。DS-5 调试器所支持的 ARM CoreSight ETM 和 PTM 提供非侵入性程序跟踪,允许开发人员在出现错误时查看说明(以及关联的源代码)。它还使开发人员能够调试对时间敏感的问题,而用传统的侵入性单步技术将很难发现这些问题。DS-5 调试器目前使用 DSTREAM 来捕获 ETB 上的跟踪。还添加了对在此调试和跟踪探针中安装的 4 GB 片外跟踪缓冲区的支持。
灵活的跟踪显示 p<> 跟踪是用于调试和短期性能分析的宝贵工具。但是,只有非常少的开发人员能够应付已执行的机器指令的长长的列表。在 DS-5 中,十分重视以开发人员可以轻松地进行有意义的处理的高级语言来展示这些数据,例如将指令链接到相应的源代码、显示功能级别跟踪分析或者提供图形跟踪显示。
基于跟踪的分析
基于跟踪数据,DS-5 调试器还生成时间表图表,所含信息可帮助开发人员迅速理解其软件在目标上的执行方式以及哪些功能最占用 CPU。通过提供不同的缩放级别,该时间表可基于每个时间单位的指令数显示以其最高分辨率显示热点地图,并且提供按每组指令的典型延迟时间以不同颜色编码的每指令显示。
系统视图
寄存器视图
在 DS-5 调试器内核中,协处理器和外设寄存器全都在寄存器视图中列出(屏幕快照)。此层次结构树视图以逻辑方式将寄存器和位字段进行分组,使用户可以轻松地导航其内容。所有寄存器和字段都进行标记并根据制造商的官方文档进行验证,这样,用户不会由于在无穷无尽的数据表中搜索地址、位字段和可接受值而浪费宝贵时间。此外,开发人员可以随时冻结此视图,使所有内容不可更改以便与以后的快照进行比较。
内存、变量和表达式视图
有许多方法可以使用 DS-5 调试器查看和修改内存内容。内存视图是传统的以线性方式展示内存空间的视图。此视图对于低级别调试非常有用,这体现在:可对此视图进行配置以便以不同的格式(默认为十六进制)和宽度显示数据,接受表达式和符号作为起始地址,并且可用于在特定的内存地址设置数据观察点。功能强大的变量视图将提供所有局部和全局变量的内容、类型、大小和地址的逻辑和上下文可视性。与寄存器视图相似,此视图也以黄色突出显示在前一步骤/运行中已修改的变量的值(请参见下面的屏幕快照)。最后,表达式视图提供快捷的方式来计算常用表达式和变量的值。
屏幕视图和半主机
为简化负责板引入/低级别调试的人士的工作,DS-5 提供了屏幕缓冲区查看器和通过调试代理的 I/O 通道功能。该屏幕视图可在主机上生动地展现屏幕缓冲区的内容,允许开发人员无需连接任何硬件即可显示视频输出。同样,可以在其他外设及其驱动程序启动前,使用半主机作为控制台的标准 I/O。
Linux识别
上下文识别
DS-5 调试器可提供处理器内核、操作系统进程和线程以及调用堆栈的完整情况。调试控制视图在每个调试连接的基础上通过直观的层次分明的布局显示所有这些信息,使得开发人员可以非常轻松地标识当前上下文以及堆栈帧之间的开关。此外,还为基于 Linux 的系统调试自定义了 DS-5 断点,实现了特定于线程的条件断点以及内核模块中尚未插入的挂起断点。
远程系统浏览器
通过远程系统视图,可以方便快捷地访问在基于 Linux 的系统开发中常用的服务。DS-5 是在安全外壳连接 (SSH) 的基础上建立的,它嵌入了远程文件系统浏览器。在该浏览器中,可以对文件和目录进行完全管理和直接编辑,并且可以轻松地在主机和目标之间转换,如同拖放操作一般简单。此外,在 IDE 中,可以直接从远程系统视图随时启动远程终端视图。
模块视图
模块视图是特定于操作系统的生产率提高工具,可加快涉及共享库和内核模块的调试活动的速度。此数据面板可用于展现和管理正调试的应用程序所使用的共享库以及自连接了调试器后安装的内核模块。此外,在调查其中一个或多个库或模块内所发生的情况变得重要时,开发人员可以轻松地使用模块视图加载其调试信号。