驱动程序的类型

驱动程序的类型
静态链接的内核设备驱动程序,直接编译和链接在内核中,静态链接的模块,一旦编译进入了内核,就始终附加在内核上,直到重新编译内核为止。
可加载内核模块loadable kernel modules, LKM能够被加载和卸载而不必重新链接内核,而且最重要的是,不需要重新启动你的计算机,这就能让你动态地配置系统。
共享库,在有些情况下,驱动程序可以作为一个共享库来实现,但如果驱动程序需要特殊的权限或者有特殊的时限需要则不行。这种共享库一般可供那些使用标准低层驱动程序和硬件通信的高层驱动程序使用。
无特权用户模式程序,程序代码在内核模式或用户模式下执行,前面的那些类型运行在内核模式,而其他类型运行在用户模式,运行在内核模式的代码对硬件有无限的低层访问权,而对高层的访问就不那么容易实现。
特权用户模式程序




设备驱动程序通常分成下半部和上半部的两层。上半部完成与内核的通信工作,下半部在需要实际访问硬件时调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux驱动程序开发是在Linux操作系统上开发硬件设备驱动程序的过程。驱动程序是一种软件,它使操作系统能够与硬件设备进行通信,并控制设备的操作。Linux驱动程序开发需要具备一定的编程技能和Linux系统的基础知识。以下是Linux驱动程序开发的基本步骤: 1. 确定驱动程序类型:Linux支持多种类型驱动程序,如字符设备驱动程序、块设备驱动程序和网络设备驱动程序等。开发者需要根据设备类型和需求选择合适的驱动程序类型。 2. 编写驱动程序代码:开发者需要使用C语言编写驱动程序代码,其中包括初始化函数、读写函数和设备控制函数等。这些函数将与操作系统内核进行交互,并完成设备驱动程序的功能。 3. 编译驱动程序:开发者需要使用Linux系统下的编译器将驱动程序代码编译成可执行文件。编译的过程包括预处理、编译、汇编和链接等步骤。 4. 安装驱动程序:将编译后的驱动程序文件复制到系统中的指定位置,并执行安装命令。安装完成后,系统将加载驱动程序并对设备进行初始化。 5. 测试驱动程序:对驱动程序进行测试,包括设备读写、中断处理和错误处理等方面,确保驱动程序能够正常工作。 Linux驱动程序开发是一项复杂的任务,需要开发者具备扎实的编程技能和深入的Linux系统知识。同时,开发者还需要熟悉设备的硬件特性和操作系统内核的工作原理,才能开发出高质量的驱动程序

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值