• Android深度探索第六章


    编写Linux驱动程序的步骤

    第 1 步:建立 Linu x 驱动骨架 (装载和卸载 Linu x 驱动)

    第 2 步:注册和注销设备文件

    第 3 步: 指定与驱动相关的信息

    第 4 步:指定回调函数

    第 5 步: 编写业务逻辑

    第 6 步:编写 Makefile文件

    第 7 步: 编译 Linux 驱动程序

    第 8 步:安装和卸载 Linux 驱动

    编写 Linux 驱动程序前的准备工作

    本例的 Linux 驱动源代码并未与 linux 内核源代码放在一起,而是单独放在一个目录。首先使 用下面的命令建立存放 Linux 驱动程序的目录。 # mkdir -p /root/drivers/ch06/word count # cd /root/drivers/ch06/word count 然后,使用下面的命令建立驱动源代码文件(word count.c) II ech。 " > word count . c 最后编写一个 Makefile 文件, 实际上这是 6.2 节介绍的编写 Linux 驱动程序的第 6 步。 当熟悉 编写 Linux 驱动程序的步骤后可以不按 6.2 节介绍的顺序,来编写 Linux 驱动。 # echo ‘’obj-m := word_count.o’ > Makefile 其中 obj-m表示将 Linux 驱动作为模块(.ko 文件〉编译。如果使用 obj-y,则将 Linux 驱动编译 进 Linux 内核。 obj-m 或 obj-y 需要使用“:=”赋值。如果 obj-m 或 obj-y 的值为 word_count.o,表示 make 命令会把 Linux 驱动源代码目录中的 word count.c 或 word counts 文件编译成 word count.o 文 件。如果使用 obj-m, word_count.o 会被连接进 word_count.ko 文件,然后使用 insmod 或 modprobe 命令装载 word_count.ko。如柴使用 obj-y, word_count.o 会被连接进 built-in .o 文件,最终会被连接进 内核。其中 built-in.o 文件是连接向一类程序的.o 文件生成的中间目标文件。例如, 所有的字符设备 驱动程序会母终生成一个 built-in .o 文件。读者可以在<Linux 内核游代码目录〉/由ivers/char 目录找到 一个 b山lt-in.o 文件。该目标文件包含了所有可连接进 Linux 内核的字符驱动(通过 make menuconfig 命令可以配置每一个驱动及其他内核程序是否允许编译进内核,关于配置 Linux 内核的技术详见 4. 2.4 节介绍〉。 如果 Linux 驱动依赖其他程序,如 process.c、 data.Co 需要按如下方式编写 Makefile 文件。 。bj-m :• word_c。unt . 。
     word_count-y : = process.o data.o
    其中依赖文件要使用 module-y 或 module”objs 指定。 module 表示模块名,如 word_count .

  • 相关阅读:
    第 1 章 Java 设计模式介绍
    Java 随心笔记1
    在Editplus中配置java编译(javac)和运行(java)的方法
    RabbitMQ/JAVA 客户端连接测试
    CentOS上的RabbitMQ安装
    AMQP与RabbitMQ简介
    Mongodb学习教程汇总
    selenium+python之iframe学习笔记
    selenium 上传文件,非input标签,安装pyuserinput
    selenium+python之元素定位的八种方法
  • 原文地址:https://www.cnblogs.com/purelair/p/5534250.html
Copyright © 2020-2023  润新知