Linux设备驱动程序 (转)

本文介绍了Linux设备驱动的基本概念及其实现方式。作者通过简单的示例代码解释了如何编写一个基本的驱动模块,并讨论了其在不同Linux内核版本间的兼容性问题。
Linux设备驱动程序 (转)[@more@]

驱动程序? 好象很难,不知道有些什么鬼.
不,其实不神秘。

 首先,我对驱动的理解:
Linux中,充分利用386保护模式系统引导后系统包裹起硬件,运用程序仅可访问(调用操作系统开放出来的函数,而不能直接访问硬体资源(对不对呀???多多斧正啊,我觉得好象又不对!对Linux而言。)驱动程序是作为内核模块加载的,它才有直接访问硬体资源的权限。运用程序通过访问它开放出来的函数访问硬件!

(上面的话对不对呀,Mailto:qihaolinux@sian.com.cn">扔块砖页好呀)

一个问题:我昨天在 Red Hat 7.0 下写(抄写)了个原形,被告 该模块 for kernal 2.4.0-2.4.XX,but 当前kernal is 4.1.2(Red Hat 6.2??) .

Red Hat 7.1 是 2.4内核。天呀,我又要去当????!!!!

所以,如果不是必要(我是因为810显卡在7.0中被支持才升级的,以前一直用的 PCI -> s3 375外接显卡),就用6.2吧!等到7。1好了。

My First Drive:

//===filename: hello.c

#define MODULE
#include

int init_module(void)
{
printk("<1>Hello World!n I'm HaoKe!nn") ;
return 0;
}

void cleanup_module(void)
{
printk("<1> I'm HaoKe!n I' not here now!nn") ;
}

//====use like this:
root# gcc -c hello.c
root# insmode hello.o

Hello World!
I'm HaoKe!nn

root# rmmod hello.o

I'm HaoKe!
I' not here now!

本程序在 Red Hat 6.2 上通过,但在7.0上 Not OK(由于内核相关性问题)
也许在7.1上可以。

http://go.163.com/~gotolinux

qihaolinux@sina.com.cn 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-988711/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-988711/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值