翻译这篇文章的时候,我也想过可能会有高手说,内核开发用vi就足够了,还用什么eclipse,当然对于内核中函数特别了解的人确实如此,但是对于新 手,每使用一个函数,就要去查找一下函数的定义,实在是非常浪费时间的工作,本文将介绍如何利用Eclipse这个强大的IDE开发环境进行Linux内 核开发。

首先你应该有一个简单的内核模块工程,至少包含一个Makefile和一个c源文件。
1. 启动Eclipse,选择File->C Project创建一个C工程

2. 创建一个空的Makefile工程。选择 Makefile Project->Empty Project,并且选择Linux GCC,为工程娶个名字。

3. 点击Next,然后点击Advance Settings,进入到工程属性设置界面。

4. 选择C/C++ build节点并且打开Behaviour面板,勾选上Build on Resource Save,这样可以在每次保存的时候都自动编译整个工程。

5. 选择字节点 Enviromment,添加一个新的环境变量,取名为TERM,值设置为xterm(注意大小写)。并且勾选上"add to all configurations"。

6. 然后选择 C/C++ Ceneral下面的Path and Symbols节点,选择GNU-C添加一个新的include path指向内核头文件目录,也必须保证勾选上'add to all configurations'.

7. 重复步骤6,把板子(boards mach)的头文件目录添加进来.

8. 选择Symbols面板,添加Symbols for GNU-C,名字必须是__KERNEL__值不用填。这是为了保证printk和其他模块等相关的东西不生成警告信息。

9. 执行完前面8个步骤,点击OK回到上一个对话框窗口,然后点击Finish按钮。

10. 选择我们已经创建好的工程,然后右键Import导入以前写的Helloworld模块。

11. 在弹出的窗口中选择General->File System,然后点击下一步。

12. 选择原来hello world和Makefile的位置。然后只选择Makefile和源代码文件,获者其他你必须的文件,然后点击Finish按钮。

13. 现在已经准备好了,唯一要做的就是创建和编译makefile里面的目标,一般需要clean和all这两个目标。右键选择Target Make,创建clean和all这两个目标,这两个实际上是定义在makefile中的,你可以添加更多你定义在makefile中的目标。双击某个目标的图标就可以编译这一个目标。

两个目标的创建

14. 现在你已经完成了配置,正如你看到的一样,你现在已经能够查找到一个结构体的所有成员了,当然还有更多。

15. 配置Eclipse只是显示你指定的头文件目录,右键工程属性,然后选择discovery mode节点 like in the screenshot below.设置discovery为 'GCC per file scanner'。

有趣吧,你现在已经可以用非常强大的Eclipse开发Linux内核了。

Linux 内核开发 - Eclipse内核开发环境搭建相关推荐

  1. eclipse开发cocos2dx 3.2环境搭建之一: Android C\C++环境搭建(ndk r9d)

    这几天有时间,琢磨一下cocos2dx.cocos2d家族其实挺庞大的,也有cocos2d-android这种可以直接用Java语言来开发的,但是cocos2d-android资料相对少一些,而且貌似 ...

  2. 使用Eclipse JEE+Mtj+Nokia S60 V3SDK开发J2ME应用的环境搭建

    使用Eclipse JEE+Mtj+Nokia S60 V3SDK开发J2ME应用的环境搭建 2010-04-07 16:53 在Nokia S60 V3下进行J2ME应用程序开发,需要搭建 Noki ...

  3. 保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建

    保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建 写在前面 配置VSCode的编译环境 配置VSCode的gdb调试环境 配置 ...

  4. linux 国产化 gtk图形界面开发 go和c++环境搭建

    linux 国产化 gtk图形界面开发 go和c++环境搭建 一.c++环境搭建 1.解决系统自带gcc无法编译gtk的问题 sudo apt-get install build-essential ...

  5. 全志A33开发板vstar编译环境搭建

    全志A33开发板vstar编译环境搭建 安装系统 全志提供的vstar的SDK使用内核linux-3.4.39, 在编译过程中,要用到一个文件gen_check_code,位于linux-3.4/ar ...

  6. Python 网站开发(一)环境搭建

    前些天看到小阳买回来的一本 Python 基础教程,于是就产生了使用 Python 来开发一个小博客的想法.这个 Python 网站开发系列文章将不会过多说 Python 基本语法,主要是面向实践的. ...

  7. 安卓开发(一)环境搭建、基本程序与控件

    layout: post title: 安卓开发(一)环境搭建.基本程序与控件 description: 安卓开发(一)环境搭建.基本程序与控件 tag: 安卓 文章目录 Intent:协助应用间的交 ...

  8. 3D打印软件Cura的二次开发(GUI)--环境搭建

    3D打印软件Cura的二次开发(GUI)--环境搭建 软体动物Ai  关注 2016.07.06 12:36*  字数 1639  阅读 1300 评论 8 喜欢 4 本文采用中国大陆版CC协议发布 ...

  9. Linux下Matlab+CUDA双显卡环境搭建(核显+独显)

    Linux下Matlab+CUDA双显卡环境搭建(核显+独显) 最近在疯狂爱上Matlab,没办法爱折腾.皇天不负有心人,还是被本大神搞出来了,羡慕吧,嫉妒吧,反正我也看不见.(附上战果图) 硬件环境 ...

  10. Linux高并发服务器开发---笔记1(环境搭建、系统编程、多进程)

    0613 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.1.1 项目介绍 4.1.2 开发环境搭建 ①安装Linux系统.XSHELL.XFTP.Visual Stu ...

最新文章

  1. 编程中的蛇形填空问题_在线编程问题当中的蛇形矩阵问题
  2. 1. CMake 系列 - 从零构建动态库和静态库
  3. java填空题 在非静态成员方法中_Java程序设计填空和改错题(参考答案)
  4. SAP Spartacus B2B 页面的 Popup Component
  5. JuPyter(IPython) Notebooks中使用pip安装Python的模块
  6. oracle跨数据库用户操作,ORACLE跨数据库操作,DBLINK的使用
  7. 数据科学入门与实战:玩转pandas之三
  8. resnet 50 网络分析
  9. 【路径规划】基于matlab模拟退火算法求解火灾巡逻最短路径问题【含Matlab源码 252期】
  10. java springlayout_Java SpringLayout
  11. linux 安装校园客户端,Ubuntu Linux环境下校园网客户端安装使用
  12. 图解设计模式+代码(一):创建型模式
  13. 1999.00 php,CBA20周年之1999-00赛季-前卫先合并后解散 八一5连冠
  14. Jinji2 模板引擎简介
  15. uni-app 页面中的背景图片高度和宽度自适应
  16. Python|猜球博弈
  17. csdn里面代码块颜色
  18. 扔掉信用卡的10个理由
  19. TF-IDF算法解析与Python实现
  20. java jitter buffer_android webrtc jitter buffer大小设置

热门文章

  1. 【Groovy】Groovy 运算符重载 ( 运算符重载 | 运算符重载对应方法 )
  2. 【Android 逆向】代码调试器开发 ( 使用 NDK 中的 ndk-build + Android.mk 编译 Android 平台的代码调试器可执行应用 )
  3. 【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )
  4. 【Flutter】Future 异步编程 ( 简介 | then 方法 | 异常捕获 | async、await 关键字 | whenComplete 方法 | timeout 方法 )
  5. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★
  6. memcached 扩展安装(windows)
  7. 团队任务3:每日立会(2018-10-18)
  8. 【读书笔记】简约至上-交互式设计四策略
  9. 区块链:新经济蓝图及导读
  10. maven中把依赖的JAR包一起打包(转)