卢骏 · 2020年06月05日

使用arm DS5在fvp上debug

在调试arm的软件时,可以使用arm公司提供的DS5工具,配合FVP,进行debug。

启动ds5,选择Window->Open Perspective->DS-5 Debug
1.png

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

一、debug配置

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

在DS-5 Debugger双击,会弹出一个配置,在name处填入该debug配置的名字,在select target处,选择FVP。

选择Debugger选项栏,选择connect only,只连接该debug model,需要运行的软件,在后面在加载。
4.png

配置完毕后,选择apply,debug。
5.png

二、ds5

在DS5的debug界面,会自动连接该model,并且core全部是停掉的。
6.png

在debug control子界面,点击下三角形图标,选择load,载入软件。
7.png

在load type,选择load image and debug info,点击file system,弹出对话框,选择所需debug的elf程序。
8.png

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

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

在1处,可以输入命令,也可以点击2处的debug命令。在3处,可以查看寄存器的值,4处显示的反汇编。
11.png

三、-a载入elf程序

加载程序,也可以在debug配置的时候,配置model参数。-a参数,执行elf程序。这样model在连接的时候,就会将elf程序载入到fvp中。
12.png

四、查看MMU

DS5提供了查看MMU转换的功能,可以查看任何一个va地址,对应的pa地址。

在反汇编界面,选择一条指令,右键选择translate address。

13.png

在mmu子界面,会显示,该地址的转换结果。此时因为还没有开mmu,所以转换失败。
14.png

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

五、总结

使用ds5调试arm 程序是比较方便的,只要有对应硬件平台的fvp即可。DS5可以将arm提供的免费的foundation model,载入到DS5中,进行debug。

系列其他篇

原文首发于骏的世界博客
作者:卢骏.
更多Arm技术相关的文章请关注Arm技术博客极术专栏,每日更新。
推荐阅读
关注数
23392
内容数
895
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息