在调试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
在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。
系列其他篇
原文首发于骏的世界博客
作者:卢骏.
更多Arm技术相关的文章请关注Arm技术博客极术专栏,每日更新。