使用arm DS5在fvp上debug

本文详细介绍了如何使用ARM公司的DS5工具配合FVP进行软件调试。首先,通过Debug Configuration设置连接目标为FVP并选择只连接模式。接着,载入软件ELF程序,并可设置PC到入口点。DS5会自动连接模型并停止所有核心。通过DS5的Debug界面,可以查看寄存器值和反汇编代码。此外,DS5还支持查看MMU转换,便于理解内存映射。总的来说,DS5为ARM程序调试提供了便利,特别是当有对应硬件平台的FVP时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在调试arm的软件时,可以使用arm公司提供的DS5工具,配合FVP,进行debug。 启动ds5,选择Window->Open Perspective->DS-5 Debug
在这里插入图片描述

进入DS5 debug界面,如下图所示:

在这里插入图片描述

一、debug配置 在Debug control子界面,右键选择 debug configuration,弹出debug配置界面。如下图所示:

在这里插入图片描述

在DS-5 Debugger双击,会弹出一个配置,在name处填入该debug配置的名字,在select target处,选择FVP。 选择Debugger选项栏,选择connect only,只连接该debug model,需要运行的软件,在后面在加载。
在这里插入图片描述

配置完毕后,选择apply,debug。

在这里插入图片描述

二、ds5 debug 在DS5的debug界面,会自动连接该model,并且core全部是停掉的。
在这里插入图片描述

在debug control子界面,点击下三角形图标,选择load,载入软件。
在这里插入图片描述

在load type,选择load image and debug info,点击file system,弹出对话框,选择所需debug的elf程序。
在这里插入图片描述

根据自己的需要,可以选择 set PC to entry point。

在这里插入图片描述

此时,程序装载到了FVP上,在dissassembly子界面,可以看到程序的反汇编。

在这里插入图片描述

在1处,可以输入命令,也可以点击2处的debug命令。在3处,可以查看寄存器的值,4处显示的反汇编。
在这里插入图片描述

三、-a载入elf程序 加载程序,也可以在debug配置的时候,配置model参数。-a参数,执行elf程序。这样model在连接的时候,就会将elf程序载入到fvp中。
在这里插入图片描述

四、查看MMU DS5提供了查看MMU转换的功能,可以查看任何一个va地址,对应的pa地址。 在反汇编界面,选择一条指令,右键选择translate address。

在这里插入图片描述

在mmu子界面,会显示,该地址的转换结果。此时因为还没有开mmu,所以转换失败。
在这里插入图片描述

在memory map中,可以看到执行到该条指令,目前软件识别的地址分配以及地址配置。

在这里插入图片描述

五、总结 使用ds5调试arm 程序是比较方便的,只要有对应硬件平台的fvp即可。DS5可以将arm提供的免费的foundation model,载入到DS5中,进行debug。
在这里插入图片描述

作者:卢俊

移知是中国半导体线上讲座和技术交流平台;这里汇聚了众多优秀和资深的大咖,通过提供最接地气的实战课程,分享最实用的经验,为您职场学习和成长助力;关注移知公众号,还可领取100元新人红包和免费半导体课程!

### ARM Development Studio 调调试图教程 #### 使用ARM Development Studio进行调试设置 为了利用ARM Development Studio执行有效的调试操作,开发者需先完成一系列配置工作。这包括但不限于创建项目、导入源文件以及设定目标连接参数。 对于启动代码的调试而言,ARM Development Studio 2021提供了强大的工具链来辅助这一过程[^1]。该IDE不仅能够与物理硬件通过诸如DStream这样的仿真器相连,还支持使用固定的虚拟平台(FVP),使得即使缺乏实际设备也能顺利开展早期阶段的软件测试和验证活动。 #### 配置并运行FVP模型 当采用FVP作为模拟环境时,用户可以在不依赖具体芯片的前提下迅速迭代开发流程中的各个组件。安装好的Development Studio通常预装了一些常用的FVP实例;如果这些不足以满足特定需求,则可以从官方渠道获取更多种类的FVP资源。 一旦选择了合适的FVP版本之后,就可以按照以下方法将其集成到当前的工作空间内: ```bash # 假设已知FVP路径为 /path/to/fvp_model cd ${DEVELOPMENT_STUDIO_PATH}/models/ ln -s /path/to/fvp_model . ``` 上述命令用于建立软链接以便于后续访问指定位置下的FVP镜像文件。 #### 开始调试会话 进入准备就绪的状态后,便可通过图形界面轻松发起新的调试任务。选择菜单栏里的`Run -> Debug Configurations...`项打开相应的对话框,在这里可以根据实际情况调整各项参数直至满意为止。值得注意的是,针对不同类型的程序可能需要定制化某些选项才能获得最佳效果。 例如,在处理裸机应用程序时,往往要指明入口地址以及其他重要的内存映射关系等细节信息。而对于操作系统级别的调试来说,则更侧重于跟踪中断向量表或是捕获异常事件等方面的功能特性[^2]。 #### 实际案例分析——以Cortex-M为例 考虑到大多数嵌入式系统的特殊性质,下面将以基于Cortex-M架构的目标板为例说明如何运用Development Studio来进行深入探究。假设现在有一份简单的Blinky LED闪烁实验代码待测,那么整个过程大致如下所示: 1. 创建一个新的MDK Project并向其中添加必要的头文件及实现单元; 2. 设置好编译选项确保最终产出物符合预期格式要求; 3. 连接至选定的目标平台(此处即为之前提到过的FVP),并通过加载elf/dwarf二进制形式的可执行体开始正式监控其行为表现; 4. 利用断点机制暂停执行流从而逐步审查内部状态变化情况,并借助变量视图窗口观察感兴趣的数据结构成员值是否合理合法; 5. 结合逻辑分析仪插件绘制信号波形图表进一步理解定时器触发原理及其关联动作序列之间的因果联系。 以上便是围绕着ARM Development Studio展开的一套完整的调试指南介绍,希望能为广大爱好者提供有价值的参考资料和支持服务[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值