eclipse + cdt + gdb 进行arm linux 交叉调试 (

原文:http://blog.chinaunix.net/space.php?uid=20671208&do=blog&id=1580649

eclipse + cdt + gdb 进行arm linux 交叉调试

    如何使用eclipse进行嵌入式Linux的开发 习惯了在windows环境下开发的程序员在转到Linux平台时经常会抱怨没有一个好用的集成开发环境。和windows下常用的一些开发软件相比,Linux自带的一些开发环境使用起来要么界面和操作不够方便、友好,要么功能不全。其实我们完全可以在开源社区上找到操作方便,功能强大的开发环境。下面就向大家介绍一个能在Linux上运行,界面和功能与windows上同类软件相似的开发平台eclipse。

    eclipse是著名的跨平台的集成开发环境(IDE),最初是由IBM公司开发的替代商业软件Visual Age For Jave的下一代开发环境。2001年,IBM将eclipse贡献给开源社区,现在由eclipse基金会管理。2005年7月,eclipse稳定版3.1.0发布,目前最新的稳定版本是3.4。

    eclipse本身只是一个框架平台,最初主要用于java语言的开发。但是众多插件的支持使得eclipse同样可以用来开发其他的语言,如c/c++、c#、perl、cobol的等等。cdt(c/c++ development toolkit)就是支持c/c++开发的插件。许多软件开发商也以eclipse为框架推出了自己的集成开发环境。由于eclipse平台用java实现,所以运行时需要jre(java runtime environment)的支持。下面我们以ubuntu(linux发行版的一种)为例,介绍如何在linux上使用
eclipse+cdt来进行嵌入式Linux应用程序的开发。

一、安装软件

    在ubuntu下安装软件有两种方法:使用apt-get来自动安装或手动安装。用户使用自动安装非常方便,适合初学者。但是安装过程过于依赖资源网站的连接状况,可能需要耗费过多的时间。这里我们推荐手动安装的方式,花的时间比较短。

1、安装jdk

    jdk(java development kit)即java开发包,其中包含了运行eclipse所需要的jre. ubuntu缺省安装的gnu版本的jre运行效率不高,所以我们需要安装sun公司的jre. 首先从sun的网站上(http://java.sun.com/javase/downloads/index.jsp)下载安装包jdk-6u7-linux-i586.bin,然后如下进行安装:

    # mkdir -p /opt/java 
    # ./jdk-6u7-linux-i586.bin // 执行自解压文件,生成目录
    # mv jdk1.6.0_07 /opt/java // 把目录移到/opt/java下
    # cd /opt/java
    # ln -s jdk1.6.0_07 jdk 
    # mv /etc/alternatives/java /etc/alternatives/java.gnu
    # ln -s /opt/java/jdk/bin/java /etc/alternatives/java
    # export JAVA_HOME=/opt/java/jdk // 设置环境变量

2、安装eclipse和cdt

    从eclipse网站上(http://www.eclipse.org/)下载安装包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip

    # cd /opt
    # tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解压生成eclipse目录
    # export PATH=/opt/eclipse:$PATH
    # mkdir -p /opt/cdt
    # cd /opt/cdt
    # unzip cdt-master-5.0.0.zip
    # cp -r plugins/* /opt/eclipse/plugins/
    # cp -r features/* /opt/eclipse/features/

二、创建c/c++工程

    假设我们已经在linux上安装好了arm交叉工具链,下面介绍如何创建、交叉编译和调试c/c++工程。为了更直观的说明,我们截取了相关的图片:

进入eclipse安装路径后,运行eclipse

eclipse运行界面

创建c 工程

使用缺省的Linux GCC工具链

进入c/c++ 界面

添加源代码文件1

添加源代码文件2

编辑代码

设置工程属性,指定交叉工具链1

设置工程属性,指定交叉工具链2

设置工程属性,指定交叉工具链3

编译工程

 

已生成arm平台可执行代码

配置调试选项

 

设置Debugger和 GDB debugger选项

设置连接类型为TCP,目标板的ip地址和调试端口号。端口号任意指定,通常大于1024(避免和系统所用端口号冲突)

在开发板上运行程序,格式如上图所示:gdbserver是交叉调试辅助程序;192.168.0.150是主机的ip地址;1234是调试端口号,和eclipse调试选项里设定的端口号要一致

点击Debug,进入调试界面

执行到断点

    eclipse的调试界面和操作和在windows下开发类似,相信到了这一步,大家已经可以很方便来进行应用程序的开发了。

时间: 2024-09-30 16:02:05

eclipse + cdt + gdb 进行arm linux 交叉调试 (的相关文章

用Eclipse和GDB构建ARM交叉编译和在线调试环境

我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.04 LTS 为例. 搭建应用开发环境   安装 JRE Eclipse 依赖于Java 环境,所以必须先安装 JRE 或 JDK. 安装 Eclipse 和 CDT 去 Eclipse官网下载最新的Eclipse IDE. 我们一般选择 C/C++ 版本(Eclipse IDE for C/C++ Developers),这个版本自带了CDT,不用另行安装CDT插件.下载时选择 Linux 的版本,如:eclipse-cp

WiEngine+Eclipse+CDT+Sequoyah实现c++编程智能感知提示

经过一段时间的摸索,我初步肯定自己基于WiEngine平台和C++开发跨Android/iPhone游戏的最佳(至少目前)环境为: Eclipse+CDT+Sequoyah 第一,JAVA代码调试技术没有问题. 第二,有了CDT+Sequoyah,可以实现类似于VISUAL STUDIO 2010中的流行的智能感知提示.看下图: 起初,智能感知提示是没有实现的.也是花费了不少时间,才找到如下答案: Project->Properties->C/C++ General->Indexer,在

Eclipse CDT使用GDB调试C++的问题:无源文件命名(No source file named)

Eclipse CDT调试C++, 使用的Unix的调试器GDB; 由于在Unix下, 文件的目录格式使用的是"/", 但是在Windows下, 文件的目录格式使用的是"\", 在C/C++中是转义字符; 所以导致GDB由Unix移植到Windows下, 使用的文件目录会发生转义错误, 从而找不到源文件, 即无源文件命名(No source file named); 使得GDB即使设置断点, 也无法挂起(Suspend)程序, 出现调试问题, 无法调试; 解决方法:

嵌入式arm linux环境中gdb+gdbserver调试

采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试.目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序.在此我们还不能直接采用linux发行版自带的gdb,需要交叉编译gdb和gdbserver. 一.前言 嵌入式Linux系统中,应用开发过程中,很多情况下,用户需要对一个应用程序进行反复调试,特别是复杂的程序.采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gd

Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试

Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文档本着开源精神,基于LGPL协议发布:因网上开源的单片机.微控制器开发平台信息很少,故:因用ARM公司的KeiluVision开发环境开:因Eclipse是一个       Eclipse + CDT + YAGARTO + J-Link,STM32 开源开发环境搭建与调试 作者 :Chongqin

Eclipse CDT Linux下内存分析 实战历险

C++产品开发,上线集成时,都需要内存泄露.覆盖率等检测,这些在Windows下都有很好的工具,如 Visual Studio: 这个内置了很多的工具 Devpartner: VC6时BoundChecker非常棒,Devpartner集成了很多的功能集合 http://www.borland.com/products/devpartner/default.aspx Insure++: http://www.parasoft.com/jsp/products/insure.jsp?itemId=

交叉编译和交叉调试环境搭建及使用

交叉编译和交叉调试环境搭建及使用 1. 交叉编译器 1.1 交叉编译器介绍 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译.这个编译过程就叫交叉编译.简单地说,就是在一个平台上生成另一个平台上的可执行代码,而这种工具就是交叉编译器(cross compiler). 1.2 搭建交叉编译环境  1.2.1 实验环境 交叉编译工具:arm-linux- 4.2.2 编译平台:ubuntu10.10 开发板类型:UT-S3C6410 1.2.2 搭

如何将外部代码检查器集成到 Eclipse CDT 中

Codan 是在 C/C++ 项目上执行代码检查的代码分析框架.自 2011 年起,Codan 已成为 Eclipse CDT(C/C++ 开发工具 )一部分,它不仅提供执行静态代码分析所需的全部基础架构,还提供了一些有用的.随时可用的问题检查器(参阅 参考 资料). Codan 于 2012 年 6 月随 Eclipse Juno 进行了更新,支持开发人员在 Eclipse 中自动执行外部代码分 析工具.对于 Eclipse CDT 和 C/C++ 开发人员来说,这是一个令人鼓舞的进步.尽管之

嵌入式arm linux蓝牙文件传输移植

嵌入式arm linux蓝牙文件传输移植目前,蓝牙技术已经比较成熟,特别是基于手机和PC得蓝牙文件传输. 本文主要讲述基于嵌入式arm linux的蓝牙文件传输.    现行2.6.x的linux内核都已经集成了bluez蓝牙驱动,对于2.4版本内核的需要到bluez官方网站下载并安装bluez蓝牙驱动.http://www.bluez.org/download/    本为基于2.6版本的内核讲述.对于2.4下载bluez后安装即可.有了bluez蓝牙驱动还需要安装bluez-libs库和bl