设为首页 加入收藏

TOP

ARM汇编指令调试方法
2015-11-10 13:45:31 来源: 作者: 【 】 浏览:1
Tags:ARM 汇编 指令 调试 方法

学习ARM汇编时,少不了对ARM汇编指令的调试。作为支持多语言的调试器,gdb自然是较好的选择。调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控。为了在x86平台上执行ARM指令,可以使用qemu模拟器执行ARM汇编指令。


首先,我们构造一段简单的ARM汇编程序作为测试代码main.s。


以上汇编指令完成了0号系统调用exit的调用。mov指令将系统调用号传入寄存器R0,然后使用0x00900001软中断陷入系统调用。


为了运行ARM汇编代码,需要使用交叉编译器arm-linux-gcc对ARM汇编代码进行编译。下载交叉编译器安装完毕后,对ARM汇编代码进行编译。


编译选项“-nostdlib”表示不使用任何运行时库文件,编译生成的可执行文件main只能在ARM体系结构的系统上运行。


为了x86的Linux系统内运行ARM体系结构的可执行程序,需要安装qemu模拟器。


首先下载qemu源码,然后保证系统已经安装了flex和bison。


编译安装qemu。


然后使用qemu的ARM模拟器执行ARM程序。


为了调试ARM程序,需要使用gdb的源码编译生成arm-gdb。


首先下载gdb源代码,编译安装。


为了和系统的gdb避免冲突,我们将gdb的安装目录安装到/usr/local,然后建立软链接即可。


之后便可以使用arm-gdb命令调试ARM程序了。


首先使用qemu打开远程调试端口。


然后导出环境变量QEMU_GDB。


最后,进入gdb调试。


进入arm-gdb后,首先连接远程调试端口。


然后使用gdb常用的调试命令调试代码即可。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C/C++语言中关于const用法的总结 下一篇Java字符串拼接技巧(StringBuilde..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: