利用Eclipse开发Linux驱动模块

安装完Eclipse和CDT后,运行Eclipse,file->New->project选择C/C++里面的C Project, 然后点击Next,填写工程名为demo和设置工程路径,设置如下:

点击Next后再点击Next,填写交叉编译器前缀和交叉编译器路径,如下:

然后点击finish,此时的工程结构如下图所示,自动包含了几个与交叉编译器相关的头文件路径.

设置要显示的项目文件

将generate makefiles automatically去掉,使用我们自己写的Makefile,同时将Debug文件夹去掉,如图


右键工程->Propertise,选择C/C++ General里的Paths and Symbols,选中在includes选项卡里的GNU C,然后点击右边的Add按钮,添加内核(必须事先已经用交叉编译器编译过)头文件目录,如下:


Symbols添加__KERNEL__值为1.


//hello.c
#include <linux/module.h>    /* Needed by all modules */
#include <linux/kernel.h>    /* Needed for KERN_INFO */
#include <linux/init.h>        /* Needed for the macros */


static int __init hello_init(void) {
printk(KERN_INFO "Hello, world\n");
return 0;
}


static void __exit hello_exit(void) {
printk(KERN_INFO "Goodbye, world\n");
}


module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");


//Makefile文件:
 ifneq ($(KERNELRELEASE),)
#kbuild syntax. dependency relationshsip of files and target modules are listed here.
mymodule-objs := Hello.o
obj-m := Hello.o  
else
PWD  := $(shell pwd)
KERNEL_SRC = /root/MyLiberary/linux3.1.0-icool2416-v1.1
all:
$(MAKE) -C $(KERNEL_SRC) M=$(PWD)
clean:
rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions
endif
最后,右键工程->Properties->C/C++ Build,然后单击OK。右键工程->Build Project编译工程,成功编译效果如下:
已经生成hello.ko文件

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值