深圳嵌入式培训
达内深圳龙华中心

139-2227-5185

热门课程

在ARM汇编过程中如何进行指令调试_深圳达内嵌入式培训机构

  • 时间:2017-07-26
  • 发布:深圳达内
  • 来源:达内新闻

对于嵌入式知识,我想很多人都会或多或少的有一点了解和认识的,那么接下来的知识信息就是我们深圳嵌入式培达内的老师给大家介绍的操作方法和技巧,我想对于嵌入式技术者来说,一定会很有帮助的,那么就和深圳嵌入式培训的小编一起来看看老师对这方面的认识和理解。

一、准备ARM汇编程序

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

.globl _start

_start:

mov R0,#0

swi 0x00900001

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

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

arm-linux-gcc main.s -o main -nostdlib

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

二、编译安装qemu模拟器

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

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

编译安装qemu。

./configure --prefix=/usr

sudo make && make install

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

qemu ./main

三、编译安装arm-gdb

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

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

./configure --target=arm-linux --prefix=/usr/localsudo make && make install

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

ln -s /usr/bin/arm-gdb /usr/local/gdb/gdb

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

四、调试ARM程序

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

qemu-arm -g 1024 ./main

然后导出环境变量QEMU_GDB。

export QEMU_GDB=/usr/local/gdb

最后,进入gdb调试。

arm-gdb ./main

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

(gdb) target remote localhost:1024

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

(gdb) disassemble // 查看反汇编

(gdb) x /8xw 0x0000808e // 查看内存

(gdb) info register // 查看寄存器

(gdb) continue // 继续执行

(gdb) stepi // 汇编级逐过程

(gdb) nexti // 汇编级逐语句

对于上面的这个方法技巧都是按着一定的顺序进行操作和命令的,相应的大家可以跟着做一些简单的应用和练习的,最后如果大家嵌入式知识和内容感兴趣,那么欢迎来深圳达内嵌入式培训机构进行更多的了解和咨询。


达内深圳校区温馨提示:如果你在阅读文章时碰到什么不清楚或不明白的地方,可以进行在线咨询;如果你需要报名,也可以通过在线预约,我们将免费为你安排,或者关注深圳达内微信公众平台:tarenasz(更多内容请点击:深圳嵌入式培训



深圳达内
上一篇:高性能FPGA与存储器_深圳达内龙岗校区
下一篇:云、后端技术与嵌入式是什么关系_深圳达内嵌入式培训机构

女孩子学完软件开发能找到工作吗?

浅析比选择嵌入式操作系统更重要的事情

嵌入式培训好还是自学基本没问题?

人工智能时代论嵌入式人才培养必要性

选择城市和中心
贵州省

广西省

海南省

台湾