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 中进行断点调试等等操作了。