2024年6月5日发(作者:)
GDB-sim模拟器结构剖析
一、引言
GDB,作为一种很优秀的开源调试器,是GNU开发工具链中很重要的产品,由于其
适用于多种平台及对多种cpu的支持而受到普遍的关注。在PC上进行开发嵌入式程序时
(例如mips、arm程序),不能在pc的x86平台上进行调试,只能通过仿真器连接开发
板进行调试或通过GDB内嵌的sim模拟器进行调试。在进行非驱动开发时,使用内嵌sim
模拟器调试是一个较好的选择。本文将对sim模拟器的结构及运行进行剖析。
二、配置及编译
产生可执行程序的过程为配置、编译、安装。
该模拟器支持ARM、MIPS、PowerPC、Hitachi Super-H等cpu。在编译前要通过
configure来指定target。例如:
./configure --target=mips
在configure后,执行命令make。产生可执行文件run和库文件libsim.a。
最后通过执行命令make install安装run到usr/local/bin目录下和安装libsim.a到
usr/local/lib目录下。
在这三个过程中用到了configure和Makefile两个文件。
第 1 页
1.configure分析
GNU的模拟器支持多类型的CPU,通过configure的target选项来配置不同的CPU
系统。
例如:在linux或cygwin下配置mips模拟器执行命令
./configure --target=mips
configure主要作用:
根据target决定模拟器挂载的设备
生成相关环境变量(包括源文件路径、可执行文件路径、库文件路径等)读入
文件,根据配置生成Makefile文件。
相关部分代码:
case "${target}" in
mips*-*-*) //target=mips的设置
# The MIPS simulator can only be compiled by gcc.
sim_target=mips
第 2 页


发布评论