GDB是Linux下非常好用且功能强大的调试工具,使用gdb调试u-boot,能加快分析u-boot代码过程,使我们更加清晰的掌握u-boot运行过程。本文介绍使用qemu模拟运行u-boot时,用gdb调试u-
测试环境:
虚拟机:ubuntu18.04 LTS
qemu 版本:version 2.11.1
u-boot版本:u-boot-2017.05-rc2
gdb-multiarch版本:8.1.1
编译生成u-boot
u-boot编译过程可以参考之前的文章,这里就不做详细介绍。
安装gdb-multiarch
apt-get install gdb-multiarch
gdb-multiarch 是一个经过交叉编译后的、支持多架构版本的 gdb。
运行u-boot
使用如下命令运行u-boot
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot -s -S
-s 选项告诉 qemu-system-arm 启动内置的 gdb-server, 监听在 TCP 端口 1234 上
-S 选项告诉 qemu-system-arm 不要启动程序执行,等待 gdb 的指令
目前程序 u-boot 处于停止状态
qemu-system-arm 等待 gdb 客户端连接它,发送进一步的指令。
u-boot运行界面如下ÿ