Skip to main content

Li Zheng flyskywhy@gmail.com

mips 仿真器 gdb 调试方法

1. 开启终端,进入 .elf 文件所在的文件夹

比如类似 apps/ecos_app_base/ 这样的路径

2. 设置 PATH

tools/mips-sde-elf-4.2-199/bin/ 添加到路径中,或者如果存在类似 proj/env.sh 这样的文件的话,运行如下命令即可:

source ../../proj/env.sh

3. 添加 .gdbinit 文件

.elf 文件所在的文件夹中添加 .gdbinit 文本文件,文件的内容根据两种情况而有所不同:

3.1. 软件 MIPS Sim :

set endian little set mdi library libMIPSsim_MDI.so target mdi 1:1 file ecos_app_base.elf load

(注: libMIPSsim_MDI.so 的 Windows 版本是 MIPSsim_MDI.dll

这里 1:1 的意思是 mips-single-core ,其他组合可在 mips-sde-elf-gdb 的 Console 中运行 show mdi devices 来获知。

3.2. 硬件 MIPS :

set endian little set mdi library libjnetfs2mdimips.so target mdi 1:1 file ecos_app_base.elf load

(注:类似 libjnetfs2mdimips.so 的 Windows 版本是 jnetfs2mdilibmips.so 。如果是使用 MIPS ICS 中软件,则这里是 libsysnav_mdi.so 。类似 libsysnav_mdi.so 的 Windows 版本是 sysnav_mdi.dll

4. 运行 gdb

.elf 文件所在的文件夹中运行如下命令:

mips-sde-elf-gdb

在弹出 FS2 的 sysnav 的对话框并点击 OK 后, .elf 文件就会被下载,然后就可以运行 gdb 的命令比如 run 进行全速运行。

5. 整合进 Eclipse 中

.elf 文件所在的文件夹中运行如下命令:

eclipse

对已有的源代码进行简单的 Eclipse 工程管理后,然后就可以在新建的工程比如 ecos_app_base 上右键菜单 | Debug As | Debug Configurations 对话框中,双击 C/C++ Application ,然后在 Main 页的 C/C++ Application 中填入比如 ecos_app_base.elf ,在 Debugger 页的 GDB Debugger 中填入 mips-sde-elf-gdb ,在 GDB command file 中填入 .gdbinit

然后就可以在 Eclipse 中进行断点调试等等操作了。