1、开发工具 eclipse 、arm-linux-gcc交叉工具链、对应开发板的Linux 内核源码。
2、安装开发工具,并将内核源码包解压到指定路径中,并编译。 eg:/usr/local/arm/linux_E9_3.0.35_for_Linux
3、利用eclipse新建一个C Project,Empty Project。
然后一路默认next 到添加交叉编译器路径。
设置好之后点击完成。
4、工程建好之后,在其工程上右键properties---->C/C++ General--->Paths and Symbols.
5、在有右下角选择Export Settings.
导出路径自定义。
6、将编译好的内核中autoconf.h中的宏定义加入到Eclipse中步骤为:进入到我的内核generated目录中cd /usr/local/arm/linux_E9_3.0.35_for_Linux/include/generated
在此目录下执行命令:cat autoconf.h |grep define |awk ‘{print “
7、将这个文件与之前导出的.xml文件打开
打开文件后在之前导出的文件中需要添加一行代码,在这两行之间(如果有两个则在下面的那个里面添加)
在
添加后在将打开的symbol.xml中的内容全部复制到之前添加的代码的下方。
在第一个
保存退出。
8、在打开eclipse的那个位置将其导入。
9、在工程中添加C源文件。
先忽略编译器的警告信息。将工程属性中自动生成Makefile选项去掉
10、在工程中添加Makefile源文件(注意名称一定为Makefile)
(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文件放到该目录中。
12、保存编译
13、.ko 文件通过nfs下载到ARM测试