Fedora下的第一个驱动

目的:写一个简单的hello驱动模块,直接在Linux下运行,学习最基本的驱动。

步骤:

1、需要先确认本机linux上存在已经编译好的kernel-devel

可以用 ls -d /lib/module/$(uname -r)/build 查看

一般来说,安装好的linux操作系统基本上都会有,如果没有可以采用yum install kernel-devel 命令来安装。(注意有可能下载的版本与你Linux自带的版本不一样)最好的解决方法是要不重装系统要不采用光盘安装rpm包。

2、hello.c

#include <linux/module.h>
#include <linux/kernel.h> 
#include <linux/init.h>  

#define DRIVER_AUTHOR "lhqsine" 
#define DRIVER_DESC   "A driver" 

static int __init hello_2_init (void) 

{
	printk (KERN_ALERT "Hello world\n");
	return 0;
} 

static void __exit hello_2_exit (void) 
{ 
	printk (KERN_ALERT "Goodbye world\n");
} 

module_init (hello_2_init);
module_exit (hello_2_exit);
MODULE_LICENSE ("GPL");
MODULE_AUTHOR (DRIVER_AUTHOR);
MODULE_DESCRIPTION (DRIVER_DESC);
MODULE_SUPPORTED_DEVICE ("TestDevice");

 
3、Makefile 

ifneq ($(KERNELRELEASE),)
         obj-m:= hello.o
else
         PWD:=$(shell pwd)
        # KVER?=$(shell uname -r)
         KERNELDIR:= /usr/src/kernels/2.6.35.6-45.fc14.i686 #这里是你的 uname -r
default:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
 
clean:
	rm -f *.ko *.mod.c *.mod.o *.o modules.* Module.*<strong>
4、加载测试

执行make命令编译。

加载驱动:insmod hello.ko

卸载驱动:rmmod hello.ko

查看:

(1)、可以直接在控制台上加载卸载即可看到(GOME,KDE的虚拟控制台)

(2)、dmesg | tail

(3)、cat /var/log/messages |tail




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值