下载此文档

嵌入式Linux设备驱动实验报告.pdf


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
嵌入式系统实验报告




Linux 设备以在模块程序中的 include<linux/> 之 前通过宏定义
#define__NO_VERSION__表明不定义模块的版本信息。
内核模块程序与一般应用程序之间主要不同之处是,模块程序没有 main()函数,模块程
序在装载时调用 init_module(void)函数添加到内核中,在卸载时调用 void cleanup_module( )
函数从内核中卸载。另外一个应用程序从头到尾只执行一个任务,但一个模块可以把响应未
来请求的事务登记到内核中,然后等待系统调用,内核模块程序结构如图 所示。
Module Kernel
insmod init_module( ) register_capability( )
capabilities[]
printk( )
. . . . .
rmmod cleanup_module( ) unregister_capability( )

图 主、从设备号
应用程序通过设备文件系统(devfs)的名字(或节点)访问硬件设备,所有的设备节点在
/dev 目录下。利用 mknod 命令生成设备文件系统的节点,但只有超级用户才能生成设备文。
Mknod 命令必须要有设备名和设备类型,主设备号(Major Number),次设备号(Minor
Number)等 3 个参数。主设备号用于内核区分设备驱动,次设备号用于设备驱动区分设备。
一个设备驱动可能控制多个设备。新的设备驱动要有新的主设备号。在内核源代码的
Documentation/ 中定义了所有设备的主设备号。在创建设备的时候不要与常用的设
备好冲突。
驱动程序基本框架
如果采用模块方式编写设备驱动程序时,通常至少要实现设备初始化模块、设备打开模
块、数据读写与控制模块、中断处理模块(有的驱动程序没有)

嵌入式Linux设备驱动实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小辰GG
  • 文件大小389 KB
  • 时间2022-07-21