linux下ARM汇编程序的调试
时间:11-21
来源:互联网
点击:
最近在学习ARM汇编语言,但是ARM不像x86,可以很方便的调试。不过还好有虚拟机,而且还有GDB这样万能的调试器。Google了很久,又结合自己的实践,终于成功的调试了ARM的汇编,在此向对ARM嵌入式开发感兴趣的同学分享一下。
首先说明需要的工具
1. QEMU
首先说明需要的工具
1. QEMU
2. GDB(源代码) 3. arm-linux交叉工具链 先编译GDB,设置target为ARM平台: $ ./configure --target=arm-linux $ make OK,开始写汇编程序,sample代码很简单,给3个寄存器赋值,之后死循环。注意一定要死循环,否则的话会遇到非法指令或者未知指令。 =======test.S======== .globl _start _start: loop: =======EOF========= 编译: $ ./arm-linx-as -o test.o test.S 链接: $ ./arm-linux-ld -o test test.o 此时可以用objdump查看test的内容: $ ./arm-linux-objdump -d test 接下来就是调试了,用qemu启动gdb端口监听: $ qemu-arm -g 11111 test 之后启动gdb,注意启动的时候要指明test,不能启动之后用file指定test(为什么不能不清楚,不过是试验结果): $ ./gdb /PATH_TO_TEST (gdb) target remote localhost:11111 (gdb) disassemble (gdb) display /10i $pc-16 (gdb) si (gdb) info register (gdb) x /16 0 差不多就知道这些了,有一个问题是不知道如何设置指令的断点,以后再试吧…… 现在可以边看书边动手嵌入式项目实战了~ |
linuxARM汇编程序调 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)