开启辅助访问 切换到窄版

打印 上一主题 下一主题

深度理解:Linux设备驱动移植简介

[复制链接]
作者:老虎信佛了 
版块:
嵌入式操作系统 linux 发布时间:2019-4-3 16:40:37
13850
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Linux 发行版

  • Linux是类Unix操作系统的一个分支,最初由Linus于1991年为基于Intel 80386的IBM兼容机开发的。
  • Linux只是个内核的标识,不同于我们平时所说的的CentOS,Ubuntu等发行版本。
  • 发行版本除了内核还包括各种外部应用程序以方便用户使用和管理操作系统。
设备驱动的作用


简单的设备驱动层次


Linux内核、驱动程序、硬件的关系


模块化的驱动程序

  • 为了使系统高效运行,Linux支持内核的动态扩展,即在系统运行时给内核增加新的功能(模块)
  • 驱动程序可以动态安装和卸载,这是Linux下驱动和Windows下的驱动程序的最大不同。
设备驱动分类

  • 字符设备
  • 块设备
  • 网络接口设备
最简单的内核模块例子


内核模块编译


编译:make
生成:hello.ko
安装/卸载内核模块

  • 使用insmod安装内核模块: insmod hello.ko
  • 使用lsmod查看已安装内核模块: lsmod
  • 使用rmmod卸载内核模块: rmmod hello
设备驱动移植步骤


吐血推荐

  • Linux设备驱动程序(中文第三版)
  • Linux设备驱动开发详解

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表