欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Linux设备驱动程序开发(影印版)(英文版)
      • 作者:(法)约翰·马杜
      • 出版社:东南大学
      • ISBN:9787564177539
      • 出版日期:2018/08/01
      • 页数:561
    • 售价:43.2
  • 内容大纲

        Linux内核是一种复杂、可迁移、模块化和广泛使用的软件,在全世界过半数设备的80%左右服务器和嵌入式系统中运行。设备驱动程序在Linux系统良好运行中起到非常重要的作用。随着Linux已成为最流行的操作系统之一,为专有设备开发驱动程序的兴趣也与日俱增。
        约翰·马杜著的《Linux设备驱动程序开发(影印版)(英文版)》将帮助你理解驱动程序相关基础知识,并带你完成游览Linux内核的漫长旅程。本书涵盖基于多种Linux子系统的驱动程序开发,包括内存管理、PWM、RTC、IIO和IRQ管理。本书还提供直接内存访问和网络设备驱动程序的实用方法。
        在本书最后,你将会熟悉驱动程序开发的概念,并且可以从头开始为最新版内核编写任何驱动程序。
  • 作者介绍

  • 目录

    Preface
    Chapter 1: Introduction to Kernel Development
      Environment setup
        Getting the sources
          Source organization
        Kernel configuration
        Build your kernel
      Kernel habits
        Coding style
        Kernel structures allocation/initialization
        Classes, objects, and OOP
      Summary
    Chapter 2: Device Driver Basis
      User space and kernel space
        The concept of modules
        Module dependencies
          depmod utility
        Module loading and unloading
          Manual loading
          modprobe and insmod
          /etc/modules-load.d/.conf
          Auto-loading
          Module unload
      Driver skeletons
        Module entry and exit point
          init and exit attributes
        Module information
          Licensing
          Module author(s)
          Module description
      Errors and message printing
        Error handling
        Handling null pointer errors
        Message printing - printk0
      Module parameters
      Building your first module
        The module's makefile
        In the kernel tree
        Out of the tree
        Building the module
        Summary
    Chapter 3: Kernel Facilities and Helper Functions
      Understanding container_of macro
      Linked lists
        Creating and initializing the list
          Dynamic method
          Static method
        Creating a list node
        Adding a list node
        Deleting a node from the list

        Linked list traversal
      Kernel sleeping mechanism
        Wait queue
        Delay and timer management
        Standard timers
          Jiffies and HZ
          Timers API
          Timer setup initialization
          Standard timer example
        High resolution timers (HRTs)
          HRT API
          HRT setup initialization
        Dynamic tick/tickless kernel
        Delays and sleep in the kernel
          Atomic context
          Nonatomic context
      Kernel locking mechanism
        Mutex
          Mutex API
          Declare
          Acquire and release
        Spinlock
          Spinlock versus mutexes
      Work deferring mechanism
        Softirqs and ksoftirqd
          ksoftirqd
        Tasklets
          Declaring a tasklet
    ……
    Chanter 4: Character Device Drivers
    Chapter 5: Platform Device Drivers
    Chaoter 6: The Conceot of Device Tree
    Chapter 7: 12C Client Drivers
    Chapter 8: SPI Device Drivers
    Chapter 9: Regmap API - A Register Map Abstraction
    Chapter 10: IIO Framework
    Chapter 11: Kernel Memory Management
    Chapter 12: DMA- Direct Memory Access
    Chapter 13: Linux Device Model
    Chapter 14: Pin Control and GPIO Subsystem
    Chapter 15: GPIO Controller Drivers - gpio_chip
    Chapter 16: Advanced IRQ Management
    Chaoter 17: Inout Devices Drivers
    Chapter 18: RTC Drivers
    Chapter 19: PWM Drivers
    Chapter 20: Regulator Framework
    Chapter 21: Framebuffer Drivers
    Chapter 22: Network Interface Card Drivers