`

使用Eclipse开发嵌入式linux应用程序

阅读更多

1. 安装Eclipse for C/C++ developer的版本

 

2. 安装交叉编译工具链

 

若Eclipse使用不正常(如在新建工程的时候出现"Plug-in org.eclipse.cdt.ui was unable to load class org.eclipse.cdt.ui.wizards"错误等),可尝试用oracle官方提供的JRE替换掉ubuntu自带的OpenJDK,参考http://blog.csdn.net/zgrjkflmkyc/article/details/9263119

 

3. 在Project -> Properties -> C/C++ Bulid -> Settings -> Tool Settings里将对应的Command项改成之前安装的交叉编译工具链的版本,All options项填入对应的FLAG。注意GCC C Linker一项是gcc而不是ld

 

4. 在GCC C Compiler -> Includes里填入工程所需的头文件或头文件位置,在 GCC C Linker -> Library 填入工程所需的库文件或库文件位置(通常含在交叉编译工具链中)

 

5. 编译工程

 

6.远程调试(参考用Eclipse和GDB构建ARM交叉编译和在线调试环境一文)

(1) 在host上交叉编译针对target平台的gdbserver并移植到target中

(2) 在host上本地编译针对target平台的gdb,并将其安装路径填入debugger option --> C/C++ Remote Application --> debugger选项卡中的GDB debugger栏(若无C/C++ Remote Application选项,则可能是因为没有安装RSE(Remote System Explorer)插件(Indigo,Juno的CDT版本中通常自带))

(3) 在debugger选项卡的Connection(手动模式)/Gdbserver Settings(自动模式)填入target的IP/gdbserver安装位置

(4) 在target上通过gdbserver启动待调试的应用程序

 

参考Ubuntu下使用Eclipse编译、调试嵌入式程序的方法一文和附件中的Freescale_Eclipse.pdf文档

更多信息请参考Doug Abbort所著的《embedded linux development using Eclipse》一书,里面介绍了Eclipse的使用方法,辅助嵌入式远程调试的插件,以及一些基于Eclipse开发的商业IDE的特性

 

 

分享到:
评论

相关推荐

    linux嵌入式开发Linux平台的软件

    集成开发环境简称IDE,是用于开发软件的应用程序。Linux上有许多免费的IDE,例如Eclipse、NetBeans和Code::Blocks。这些IDE提供了代码编辑、调试和编译等功能,可以大大提高开发效率。 ## 版本控制 版本控制是开发...

    嵌入式学习之Linux基础

    嵌入式学习的关于Linux的一些知识,小白必备,下载可用于自己学习研究 我作为一个计算机编程爱好者,拥有丰富而优质的资源,使我能够在编程领域取得不错的成绩。以下是我资源优势的一些描述: 首先,我掌握了多种...

    chp1 linux.rar

    任何应用程序的开发都离不开编辑器、编译器及调试器,嵌入式Linux的C语言开发也一样,它也有一套优秀的编辑、编译及调试工具。 C语言产生的历史背景  嵌入式Linux下C语言的开发环境  嵌入式Linux下的编辑器vi...

    PHP程序开发范例宝典III

    实例019 应用Eclipse开发PHP程序 25 实例020 应用PHPEditor开发PHP程序 27 实例021 应用UltraEdit开发PHP程序 29 实例022 应用Namo WebEditor开发PHP程序 30 第2章 表单及表单元素的应用 33 2.1 获取表单...

    基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)

    嵌入式底层驱动开发技术含量较高,掌握Android从应用开发,到系统移植,再到设备驱动开发的全套技术,无疑会极大的提升自己的职业竞争力和薪酬谢水平 ,本课程深入浅出,手敲全部实战项目代码,经历软硬件结合的...

    vxWorks最新开发工具Wind River Workbench用户手册_3.2(英文版)

    Wind River Workbench 3.2是基于Eclipse的开发套件,它提供了一种有效的方式来开发实时和嵌入式应用程序。 Windows,Linux和Solaris主机上都可以使用Wind River Workbench。 本指南说明了如何使用Workbench中非特定...

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    LinuxC编程一站式学习

    C语言是一种面向底层的编程语言,要写好C程序,必须对操作系统的工作原理非常清楚,因为操作系统也是用C写的,我们用C写应用程序直接使用操作系统提供的接口。既然你选择了看这本书,你一定了解:Linux是一种开源的...

    STM32CubeMX_V5.0.1

    它是STMCube“计划的一部分,既可以作为独立应用程序使用,也可以作为集成开发环境(IDE)集成的Eclipse插件使用 .STM32CubeMX具有以下主要功能: 轻松选择微控制器,涵盖整个STM32产品组合 从STMicroelectronics板...

    STM32CubeMX 5.0.0

    它是STMCube“计划的一部分,既可以作为独立应用程序使用,也可以作为集成开发环境(IDE)集成的Eclipse插件使用 .STM32CubeMX具有以下主要功能: 轻松的微控制器选择涵盖整个STM32产品组合 从STMicroelectronics板...

    ARM Cortex-A8和Android 4.x的联动报警

    嵌入式底层驱动开发技术含量较高,掌握Android从应用开发,到系统移植,再到设备驱动开发的全套技术,无疑会极大的提升自己的职业竞争力和薪酬谢水平 ,本课程深入浅出,手敲全部实战项目代码,经历软硬件结合的...

    sql anywhere11.0新特点

    这意味着可以使用多种流行的应用程序开发工具,包括:Microsoft Visual Studio、PowerBuilder、Eclipse 和各种 Web 工具。存储过程可以用 C/C++、Java、.NET 或 Perl 编写。 即装即用的性能 SQL Anywhere 的设计...

    精通Qt4编程(第二版)源代码

    \蔡志明首次引入Qt设计器的使用,绘制并实现了一个查找文件功能的部件,介绍了Qt应用程序中使用ui文件的基本方法以及Qt样式表;较深入地分析了Qt对象模型的一些基本知识,涉及信号和槽机制、Qt元对象系统、属性系统...

    精通qt4编程(源代码)

    \蔡志明首次引入Qt设计器的使用,绘制并实现了一个查找文件功能的部件,介绍了Qt应用程序中使用ui文件的基本方法以及Qt样式表;较深入地分析了Qt对象模型的一些基本知识,涉及信号和槽机制、Qt元对象系统、属性系统...

    android开发指南

    应用程序生命周期 - 第四章(8) 16 第五章Android程序:Hello World! 17 Android程序:Hello World! -第五章(1) 17 仔细查看Android创建的文件 - 第五章(2) 19 引用库和目录 - 第五章(3) 20 Hello World!自动产生...

    java后台程序源码-kura:EclipseKura:trade_mark:项目-http://eclipse.org/kura

    应用程序所需的最常见服务提供或在可用时聚合开源实现。 Kura 组件被设计为可配置的 OSGi 声明式服务,公开服务 API 并引发事件。 虽然几个 Kura 组件是纯 Java 的,但其他组件是通过 JNI 调用的,并且依赖于 Linux ...

    ARM Cortex-A8和Android 4.x联动报警系统

    嵌入式底层驱动开发技术含量较高,掌握Android从应用开发,到系统移植,再到设备驱动开发的全套技术,无疑会极大的提升自己的职业竞争力和薪酬谢水平 ,本课程深入浅出,手敲全部实战项目代码,经历软硬件结合的...

    froglogic Squish集成「froglogic Squish Integration」-crx插件

    从最初版本开始,Squish已经获得了支持使用Java(Swing / AWT,SWT / Eclipse RCP和JavaFX),本地Windows,Mac OS X,Apple iOS,Android,QtQuick / QML构建的应用程序的测试自动化的能力, Flex和其他几个,包括...

Global site tag (gtag.js) - Google Analytics