Linux 设备驱动开发 —— 驱动开发环境建立(一)

本文介绍了Linux设备驱动程序的基础知识,包括它们在系统中的位置以及一个简单的设备驱动示例。以RHEL 5.5 32位系统为例,详细阐述了驱动开发环境的建立过程,涉及到/lib/modules/内核版本/build目录的设置,以及其实际指向/usr/src/kernels/内核版本-i686目录。通过这些步骤,读者将了解如何在Linux环境下配置基本的驱动开发环境。
摘要由CSDN通过智能技术生成
引言
  Linux 设备驱动简介:它在 Linux 系统中扮演着重要角色,是很多独立的“黑盒子”的总称,使某个特定硬件响应一个定义良好的内部编程接口,这些接口完全隐藏设备的工作细节。用户操作通过一组标准化的调用执行,而这些调用是和特定的驱动程序无关的。将这些调用映射到作用于实际硬件设备特有的操作上是设备驱动程序的任务。这个编程接口能够使得驱动程序独立于内核的其它部分而建立,在必要的情况下,可在运行时“插入”内核。这种模块化的特点,使得 Linux 设备驱动程序的编写非常简单,因此内核驱动程序的数目也增长迅速。

实例
  Linux 设备驱动程序可以认为是一个学名,我们通常称之为“模块”,也就是位于 Linux OS 的 /lib/modules/`uname -r`/kernel 目录下以 *.ko 为后缀的文件。
  在此,先为大家呈现一个简单的设备驱动程序:simple-lkm.ko
清单一、simple-lkm.c

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

MODULE_LICENSE("GPL");

static int my_module_init( void )
{
  printk(KERN_INFO "my_module_init called.  Module is now loaded.\n");

  return 0;
}

static void my_module_cleanup( void )
{
  printk(KERN_INFO "my_module_cleanup called.  Module is now unloaded.\n");

  return;
}

mod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值