搭建Eclipse + GDBserver进行linux-arm远程交叉调试

linux环境:VMware + ubuntu12.04

ARM板:iTOP4412 (cortex A9)

本篇参考博文https://blog.csdn.net/u010561799/article/details/75093277和https://blog.csdn.net/linuxarmsummary/article/details/44975495

搭建流程:

        一、Linux系统上(ubuntu)安装eclipse

               1)到官网下载jdk-8u181-linux-x64.tar.gz源码包,解压,配置环境变量

                     tar zvxf  jdk-8u181-linux-x64.tar.gz

                     vim /etc/profile

                     JAVA_HOME=/home/jiangyu/software/eclipse/jdk1.8.0_181   #jdk路径
                     JRE_HOME=$JAVA_HOME/jre  #注意 如果jdk11解压后是没有jre目录的所以这里直接配成$JAVA_HOME/即可 去掉jre
                     PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
                     CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib:$JRE_HOME/lib
                     export JAVA_HOME JRE_HOME PATH CLASSPATH

               2)官网下载linux版本的eclipse源码包eclipse-cpp-oxygen-3a-linux-gtk-x86_64.tar.gz,解压,将可执行程序eclipse软链接到/usr/sbin/下面,使全局可用。

 

        二、配置、编译、安装gdbclient

            # tar -xzvf gdb-8.2.tar.gz

            # cd ./gdb-8.2

            # ./configure --target=arm-linux --prefix=/usr/local/arm-gdb(--target配置gdb的目标平台,--prefix安装路径)

            # make   (若出现gcc版本过低错误,升级gcc版本即可)

            #make install 

        三、配置、交叉编译gdbserver (运行在在ARM开发板端)

             编译gdb依赖库ncurses:

             下载最新版本的源码包

              配置:

              ./configure --host=arm-none-linux-gnueabi --prefix=$PWD/_insatll --without-ada --enable-termcap --with-shared

              编译:make 

              安装:make install  (_install/lib目录下生成libncurses.so库)

              新建gdbserver目录,拷贝一份源码到下面,再进行解压(避免弄脏之前gdb,否则编译不通过)

           # ./configure --target=arm-linux --host=arm-linux(--target=arm-linux表示开发板平台,--host表示PC端运行的是arm-linux-gdb,不需要配置—prefix,因为gdbserver不在PC端安装运行) 

             # make CC=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc(这里的交叉编译链路径根据自己安装位置修改)

             编译完成后,拷贝gdbserver至开发板。

         四、调试测试

               eclipse通过gdbclient连接开发板

               1)打开eclipse,新建一个c语言工程。File->New->C Project。

               2)填写工程名,选择工具链为Cross GCC。

               3) Next。

               4)Finish。

               5) 给新建工程添加源文件。选中工程,File->New Source File,输入文件名,记得加上后缀.c,Finish。

               6) 写入代码,编译。

               7) Run->Debug Configurations,配置调试。

     

9) Debug Configurations->Debugger->Main,在GDB debugger选择gdb安装的路径,并制定arm-linux-gdb。 

10 )Debug Configurations->Debugger->Connection,类型选择TCP,主机地址即开发板的IP地址,端口号设置为10000。 

11) 配置完eclipse,保存之后关闭。接下来启动开发板的gdbserver 。

12)用串口工具连接到开发板。将要调试的程序放到目标板或者通过nfs把PC端linux的eclipse工作文件夹挂载到开发板的/mnt/workspace目录下。<此操作在开发板上操作>。 

 [root@jy]# mount -t nfs -o nolock 192.168.31.91:/home/jiangyu/ /mnt/workspace

13) 进入待调试程序目录或/mnt/workspace/目录

14) 启动gbdserver调试待调试程序(例hello).

[root@jy]# gdbserver :100000 hello

Process hello created;

pid = 150 Listening on port 100000

15 )eclipse启动调试。Run->Debug,启动调试。此步要在开发板启动了gdbserver之后执行,否则无法连接到开发板上,也无法出现如下提示。

16) eclipse成功连接到开发板上,按单步执行(F6),在开发板的终端可以看到输出。

17) 点击Run->Terminate(Ctrl+F2),终止调试。 

你可能感兴趣的:(嵌入式)