• 第六章


    第六章:

    在本章的内容中,详细介绍了开发和测试Linux驱动程序的完整过程,并学习了如何在多平台下使用多种方式测试Linux驱动程序。首先,Linux驱动程序和普通的Linux API没有本质的区别,只是使用的方式不同。Linux驱动的工作和访问方式的亮点在于将每一个驱动都映射成一个文件,使得Linux驱动文件的交互和普通文件一样简单。

    编写Linux驱动文件一共分为8个步骤,其中,前五步是关于如何编写Linux驱动程序的,通过后三步可以使Linux驱动文件正常工作。并且,在这些步骤当中,可以根据自己的需要选择性的先进行某些步骤,并非一定要按照顺序执行。

    在学习了第一个Linux驱动的例子,也就是统计单词个数。一个完整的Linux驱动程序会指定这些与驱动相关的信息。一般需要为Linux驱动程序制定如下信息:

    模块作者:使用MODULE_AUTHOR宏指定

    模块描述:使用MODULE_DESCRIPTION宏指定

    模块别名:使用DOUDLE_ALTAS宏指定

    开源协议:使用MOUDLE_LICENSE宏指定

    Linux内核核心的配置文件如下:

    Config:该文件位于Linux内核源代码的顶层目录,为隐蔽文件。该文件用于配置Linux内核中的模块。config文件中可以对Linux驱动进行三方面的陪住:编译成驱动模块、编写近内核和从Linux内核去除。

    Fconig:每一个想要连接进Linux内核的模块目录都有该文件。该文件主要用于定义makemenuconfig命令显示的菜单,除此之外,Kconfig文件还可以导入位于其他目录的kconfig文件。

    Makeconfig:一般与kconfig文件同时出现。每有一个konfig文件,就必须有一个makeconfig文件。对该文件用于指定如何编译makefile文件所在目录的源代码。

    统计单词数的Word_count驱动是本书实现的第一个完整的驱动,并且还学习使用不同的方法测试Linux驱动,这些方法主要以平台区分。为了更好的开发Linux驱动,也可以使用Eclipse集成开发环境。

    http://i.cnblogs.com/EditPosts.aspx?opt=1

  • 相关阅读:
    VS2008 编译出错 fatal error C1859: unexpected precompiled header error, simply rerunning the compiler might fix this problem
    解析XML出错,无法创建DOMDocument对象
    strncpy, strncpy_s
    Mongodb: Sort operation used more than the maximum 33554432 bytes of RAM
    node-cache
    【Boost】boost::string_algo详解2——find相关函数
    Compiler Error: Function call with parameters that may be unsafe
    fopen和fopen_s用法的比较
    fopen_s遇到的一个问题
    Data type conversion in MongoDB
  • 原文地址:https://www.cnblogs.com/wl12/p/5560662.html
Copyright © 2020-2023  润新知