zoukankan      html  css  js  c++  java
  • Linux驱动程序

    操作系统是通过各种驱动程序赖家与硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。设备驱动程序是操作系统最基本的组成部分之一,在Linux内核源程序中也占有60%以上,因此熟悉驱动的编写很重要。

    Linux系统将每一个驱动都映射成一个文件。这些文件称为设备文件或驱动文件,都存在/dev目录中。这样,在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作,从而大大方便了对设备的处理。

    编写驱动程序的步骤:

    (1)建立Linux的驱动骨架(装载和卸载Linux驱动)任何类型的程序都有一个基本结构,linux驱动程序也不例外。Linux内核在使用驱动时首先需要装载驱动。在装载过程中也需要进行一些初始化的工作。

    (2)注册和注销设备文件

    任何一个linux驱动都需要一个设备文件,否则应用程序将无法与驱动程序交互。

    (3)指定与驱动相关的信息

    驱动程序是自描述的。

    (4)指定回调函数

    一个驱动程序并不一定要指定所有的回调函数。

    (5)编写业务逻辑

    (6)编写Makefile文件

    (7)编写Linux驱动程序

    (8)安装和卸载Linux驱动

    1.准备工作

    建立存放Linux驱动程序的目录

    建立驱动源代码文件

    编写一个makefile文件

    2. 编写linux驱动程序的骨架(初始化和退出驱动)

    安装linux驱动

    查看word_count是否成功安装

    卸载linux驱动

    查看由驱动输出的日志信息

    3. 指定与驱动相关的信息

    模块作者,模块描述,模块别称,开源协议

    4. 注册和注销设备文件

    5.指定回调函数

    6.实现统计单词数的算法

    7.编译、安装、卸载linux驱动程序

    测试linux驱动

    使用ubuntu linux测试

    在android模拟器上通过原声(native)C程序测试

    使用android NDK测试

    使用java代码直接操作设备文件测试

    使用S3C6410开发板测试

    将驱动编译进linux内核进行测试

    使用eclipse开发和测试linux驱动

    1.建立c工程

    2.建立c源代码文件连接

    3.设置include路径

    4.编译linux驱动

    在eclipse中测试linux驱动

    1.导入test_word_count.c文件

    2.设置include路径

    3.建立targe

    4.build工程

    5.运行测试程序

    需要注意的是,用户空间与内核空间完成同样或类似的功能的函数,宏等资源的名称并不一定相同,有的名称类似如:malloc和kmalloc ,有的不同如:atoi和simple_strol 等

  • 相关阅读:
    python编写弹球游戏的实现代码
    Linux kernal
    ccc
    Ubuntu14.04 支持 exFat 格式操作
    Ubuntu 14.04 tar 打包系统安装到新机器
    Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上
    gzip 的使用
    gzip: stdin: unexpected end of file tar: Unexpected EOF in archive
    c++ 实现等待5s
    Ubuntu14.04 系统复制迁移到新的机器上
  • 原文地址:https://www.cnblogs.com/zhao-xiaohu/p/5563708.html
Copyright © 2011-2022 走看看