Eclipse 搭建 Linux 内核驱动程序开发环境

1、开发工具 eclipse 、arm-linux-gcc交叉工具链、对应开发板的Linux 内核源码。

2、安装开发工具,并将内核源码包解压到指定路径中,并编译。 eg:/usr/local/arm/linux_E9_3.0.35_for_Linux

3、利用eclipse新建一个C Project,Empty Project。

Eclipse 搭建 Linux 内核驱动程序开发环境_第1张图片

然后一路默认next 到添加交叉编译器路径。

Eclipse 搭建 Linux 内核驱动程序开发环境_第2张图片

设置好之后点击完成。

4、工程建好之后,在其工程上右键properties---->C/C++ General--->Paths and Symbols.

Eclipse 搭建 Linux 内核驱动程序开发环境_第3张图片

5、在有右下角选择Export Settings.

Eclipse 搭建 Linux 内核驱动程序开发环境_第4张图片

导出路径自定义。

6、将编译好的内核中autoconf.h中的宏定义加入到Eclipse中步骤为:进入到我的内核generated目录中cd /usr/local/arm/linux_E9_3.0.35_for_Linux/include/generated

Eclipse 搭建 Linux 内核驱动程序开发环境_第5张图片

在此目录下执行命令:cat autoconf.h |grep define |awk ‘{print “” $2 “” $3 “”}’ > symbol.xml 成功执行该命令后,在generated下会多一个symbol.xml文件。

7、将这个文件与之前导出的.xml文件打开

Eclipse 搭建 Linux 内核驱动程序开发环境_第6张图片

 

Eclipse 搭建 Linux 内核驱动程序开发环境_第7张图片

打开文件后在之前导出的文件中需要添加一行代码,在这两行之间(如果有两个则在下面的那个里面添加)

之间添加命令:__KERNEL__1

添加后在将打开的symbol.xml中的内容全部复制到之前添加的代码的下方。

Eclipse 搭建 Linux 内核驱动程序开发环境_第8张图片

在第一个之间添加命令:(该命令可根据实际修改)

/usr/local/arm/linux_E9_3.0.35_for_Linux/include

/usr/local/arm/linux_E9_3.0.35_for_Linux/arch/arm/include

/usr/local/arm/linux_E9_3.0.35_for_Linux/arch/arm/mach-mx6

/usr/local/arm/linux_E9_3.0.35_for_Linux/arch/arm/plat-samsung/include

Eclipse 搭建 Linux 内核驱动程序开发环境_第9张图片

保存退出。

8、在打开eclipse的那个位置将其导入。

Eclipse 搭建 Linux 内核驱动程序开发环境_第10张图片

9、在工程中添加C源文件。

Eclipse 搭建 Linux 内核驱动程序开发环境_第11张图片

先忽略编译器的警告信息。将工程属性中自动生成Makefile选项去掉

Eclipse 搭建 Linux 内核驱动程序开发环境_第12张图片

 10、在工程中添加Makefile源文件(注意名称一定为Makefile)

Eclipse 搭建 Linux 内核驱动程序开发环境_第13张图片

(makefile文件中不能随意敲入空格和TAB),Makefile中ARM版KDIR后跟随路径为ARM板中系统内核存放路径,若写x86_64版KDIR后面跟随的路径为当前电脑系统运行的内核路径: /lib/modules/3.10.0-514.16.1.el7.x86_64/build

11、因为工程中取消了自动生成makefile所以我们在工程下面新建Debug目录,并将.C文件和Makefile文件放到该目录中。

Eclipse 搭建 Linux 内核驱动程序开发环境_第14张图片

 12、保存编译

Eclipse 搭建 Linux 内核驱动程序开发环境_第15张图片

13、.ko 文件通过nfs下载到ARM测试

Eclipse 搭建 Linux 内核驱动程序开发环境_第16张图片

你可能感兴趣的:(i.mx6新手上路,Eclipse,Linux内核驱动,开发环境)