码迷,mamicode.com
首页 > 移动开发 > 详细

Android深度探索与驱动开发(七)

时间:2016-06-05 21:30:10      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

   任何现代的操作系统主机中插入硬件时都会检测到该硬件。例如,将一个打印机通过 USB 口连接到 PC上,如果操作系统是 Windows , 会在右下角状态栏显示已发现新设备信息。这说明操作系统已经探测到有硬件已连接到 PC 上然后系统会尝试安装驱动.如果驱动 F注意 :未安装成功,就会弹出对话框要求用户指定驱动程序的路径. 在这一过程中,操作 系统虽然可以检测到硬件设备连接的信号,但此时并不能使用该硬件设备,这是因 为还需要安装与硬件交互的驱动程序. 从这一点可以看出,硬件被检查到只说明在 内核空间中建立了 I/0 内存(非 Linux 系统也采用了类似的方法管理硬件),要想用 ;户空间的程序访问硬件,还必须安装可与 。

  LED 驱动是本书第一个真正和硬件打交道的 Linux 驱动。虽然 LED 驱动并不复杂,只是控制 了 4个 LED,"但 LED 驱动已经包括了 Linux 驱动所有必要的部分 e 一个完整的 Linux 驱动主要由 内部处理和与硬件交互降部分组成。其中内部处理主要是指 Linux 驱动的装载、卸载、与设备文件 相关的动作处理(读写设备文件、向设备文件发送 νo命令等动作〉以及业务逻辑等。与硬件交互 主要是指通过 i owrite32、 . ioread32 等函数与硬件中的寄存器进行数据交互。 -Linux 驱动在不同平台 的移植也是处理这两部分。如果在不同 Lin肌 肉核版本之间的移植,主要是移植第 1 部分( Linux 驱动的内部处理, γ般 Linux 内核版本相差较大时, Linu叉’内核的 APl 会有很大差别〉,如果在不 同硬件平台的移植,主要是移植第 2部分。当然, 在 一些情况不, Linux 驱动的移植基本上相当于重新编写一遍 Linux 驱动,在这种情况下,就要更好地理解 Linux 驱动的高级技术。

Android深度探索与驱动开发(七)

标签:

原文地址:http://www.cnblogs.com/li-xiaobin/p/5561594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!