您好,欢迎来到聚文网。 登录 免费注册
Linux驱动程序开发实例

Linux驱动程序开发实例

  • 字数: 652千字
  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 冯国进 编著
  • 出版日期: 2017-07-01
  • 商品条码: 9787111567066
  • 版次: 2
  • 开本: 16开
  • 页数: 418
  • 出版年份: 2017
定价:¥89 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
Linux设备驱动程序是不错应用程序与硬件设备之间的桥梁。驱动程序开发是软硬件相互结合的技术。本书是一本专门介绍Linux设备驱动程序开发的书籍,涵盖了Linux驱动程序基础、驱动模型、内存管理、内核同步机制、I2C驱动程序、LCD驱动程序、网络驱动程序、USB驱动程序、输入子系统驱动程序、块设备驱动程序、音频设备驱动等内容。本书以实例为主线,是为Linux设备驱动程序开发人员量身打造的学习精品书籍和实战指南。本书基于Linux4.5内核,提供了丰富的实例代码和详细的注释,并附赠完整源代码供读者下载。本书主要面向各种层次的嵌入式Linux软硬件开发工程师,也可以作为各类嵌入式系统培训机构的培训实验教材和高校计算机课程教辅书籍。
目录
出版说明
前言
第1章Linux设备驱动程序入门
1.1设备驱动程序基础
1.1.1驱动程序的概念
1.1.2驱动程序的加载方式
1.1.3编写可加载模块
1.1.4带参数的可加载模块
1.1.5模块依赖
1.1.6printk的等级
1.1.7设备驱动程序类别
1.2字符设备驱动程序原理
1.2.1file_operations结构
1.2.2使用register_chrdev注册字符设备
1.2.3使用cdev_add注册字符设备
1.2.4字符设备的读写
1.2.5IOCTL接口
1.2.6seek接口
1.2.7poll接口
1.2.8异步通知
1.3seq_file机制
1.3.1seq_file原理
1.3.2seq_file实例
1.4/proc文件系统
1.4.1/proc文件系统概述
1.4.2/proc文件系统接口
1.5Linux内核导读
1.5.1Linux内核组成
1.5.2Linux的代码结构
1.5.3内核Makefile
第2章Linux设备驱动模型
2.1内核对象
2.1.1kobject
2.1.2kobj_type
2.1.3kset
2.2设备模型层次
2.3sysfs文件系统
2.4platform概念
2.5AttribUtes
2.6设备事件通知
2.6.1kobjectuevent
2.6.2Ueventhelper
2.6.3udev
2.7设备树
第3章Linux内核同步机制
3.1原子操作
3.2锁机制
3.2.1自旋锁
3.2.2读写锁
3.2.3RCU
3.2.4信号量
3.2.5读写信号量
3.2.6互斥量
3.3等待队列
3.3.1等待队列原理
3.3.2阻塞模式读实例
3.3.3完成事件
3.4通知链
第4章内存管理与链表
4.1物理地址和虚拟地址
4.2内存分配与释放
4.3CaChe
4.410端口到虚拟地址的映射
4.4.1静态映射
4.4.2ioremap
4.5内核空间到用户空间的映射
4.5.1mmap接口
4.5.2mmap系统调用
4.6DMA映射
4.7内核链表
4.7.1Linux内核中的链表
4.7.2内核链表实例
第5章任务与调度
5.1SChedule
5.2内核线程
5.3内核调用应用程序
5.4软中断机制
5.4.1软中断原理
5.4.2tasklet
5.5工作队列
5.5.1工作队列原理
5.5.2延迟工作队列
5.6内核时间
5.6.1Linux下的时间概念
5.6.2Linux下的延迟
5.6.3内核定时器
第6章简单硬件设备驱动程序
6.1硬件基础知识
6.1.1硬件设备原理
6.1.2时序图原理
6.1.3嵌入式Linux系统构成
6.1.4硬件初始化
6.1.5clk体系
6.2dev/mem与dev/kmem
6.3寄存器访问
6.3.1S3C6410X地址映射
6.3.2S3C6410X看门狗驱动程序实例
6.4电平控制
6.4.1S3C6410XLED驱动程序实例
6.4.2扫描型按键驱动程序实例
6.5硬件中断处理
6.5.1硬件中断处理原理
6.5.2中断型按键驱动程序实例
6.6看门狗驱动架构
6.7RTC驱动
6.8LED类设备
第7章I2C设备驱动程序
7.112C接口原理
7.2Linux的I2C驱动程序架构
7.2.112C适配器
7.2.2I2C算法
7.2.3I2C从设备
7.2.4I2C从设备驱动
7.2.5I2C从设备驱动开发
7.3I2C控制器驱动
7.3.1S3C2410X的I2C控制器
7.3.2S3C2410X的I2C控制器驱动
7.4通用I2C从设备
7.4.1通用I2C从设备驱动
7.4.2通过read与write接口读写
7.4.3通过I2C_RDWR命令读写
7.4.4I2Ctools
7.5个性化I2C从设备驱动
第8章TTY与串口驱动程序
8.1TTY概念
8.2LinuxTTY驱动程序体系
8.2.1TTY驱动程序架构
8.2.2TTY文件层
8.2.3线路规程层
8.2.4TTY驱动层
8.2.5TIY数据链路分析
8.3串口驱动层
8.3.1uart_driver
8.3.2uart_port
8.4S3C6410X串口设备驱动程序
8.5TTY应用层
第9章Framebuffer驱动程序
9.1LinuxFramebuffer驱动程序原理
9.1.1Framebuffer核心数据结构
9.1.2Framebuffer操作接口
9.1.3Framebuffer驱动的文件接口
9.1.4Framebuffer驱动框架代码分析
9.2S3C6410X显示控制器
9.3S3C6410XLCD驱动程序实例
9.3.1注册与初始化
9.3.2fb_ops实现
9.3.3DMA传输机制
9.3.4内核配置
9.4Framebuffer应用层
9.5Qt界面系统移植
第10章输入子系统
10.1Linux输入子系统概述
10.2Linux输入子系统原理
10.2.1输入设备
10.2.2输入事件
10.2.3inputHandler层
10.2.4常用的InputHaIldler
10.3输入设备应用层
10.4键盘输入设备驱动程序实例
10.5Event接口实例
10.6触摸屏驱动程序实例
10.6.1S3C6410X触摸屏控制器
10.6.2S3C6410X触摸屏驱动程序
10.7Linux红外遥控驱动
……
第11章块设备驱动与文件系统
第12章NANDFlash驱动
第13章网络设备驱动程序
第14章USB驱动程序
第15章音频设备驱动程序
参考文献”
摘要
前 言写作背景自 1991 年问世以来,Linux 操作系统一直在创造着开源世界的神话,它已经在服务器、嵌入式系统、智能手机等领域大放异彩,当之无愧地成为了当前最重量级的操作系统。从最初的 Linux 0.01 版到现在的 Linux 4.x 版,让我们看到了 Linux 强大的生命力。我们有理由相信,Linux 操作系统将健康地发展下去。    自十多年前在 Linux 平台上开发第一个应用开始,我便喜爱上了 Linux 平台上的软件开发。从那之后,我有幸能够长期从事嵌入式 Linux 的驱动与应用开发,今后也将在 Linux 驱动开发领域持续耕耘。Linux 带给我无穷的乐趣,我也希望向读者介绍 Linux 平台的驱动开发技术,为 Linux 的发展贡献一点绵薄之力。本书上一版出版之后,很多热心读者发来建议,也促使我创作本书第 2 版。    设备驱动程序依然是 Linux 这个伟大的操作系统的最重要的部分,设备驱动程序开发也是实际项目中非常重要的任务。设备驱动程序关系到系统的稳定可靠,这就要求工程师具备严谨的工作态度。设备驱动程序开发是软件与硬件相结合的领域,希望读者能先了解一些硬件方面的知识,为学习本书打下基础。    “操千曲而后晓声,观千剑而后识器。”我始终认为要成为一个领域的专家,就需要长时间不断地练习以及总结,在实践中不断深入探索是最便捷的学习方法,所以本书实例驱动的学习模式。希望读者能够认真钻研每一个例程,并举一反三,早日成为一名合格的驱动开发工程师。    本书特点? 实战性:本书提供多达三十多个驱动程序例程,非常适合各种层次的驱动程序开发人员。书中例子全部基于 Linux 4.5.2 内核。本书附赠代码包含了书中大部分实例的相关代码,读者可以免费下载。    ? 全面性:本书涵盖了 Linux 驱动程序基础、驱动模型、内存管理、内核同步机制、I2C驱动程序、LCD 驱动程序、网络驱动程序、USB 驱动程序、输入子系统驱动程序、块设备驱动程序、音频设备驱动等内容,是驱动程序开发人员的完整参考书。    ? 易读性:本书以实例为主线,代码注释丰富,带领读者由浅入深掌握 Linux 驱动程序开发的精髓。    内容结构本书内容丰富全面,涵盖了 Linux 4.5 下的三类驱动设备,包括字符设备、块设备、网络设备的开发技术。本书第 1~5 章为 Linux 驱动程序开发入门基础知识;第 6 章介绍基本的硬件设备驱动开发;第 7~15 章介绍各种硬件接口的驱动程序体系,包括 I2C、LCD、USB、输入设备、网络、TTY、音频等接口。    读者对象本书是一本专门介绍嵌入式 Linux 驱动程序开发的书,读者应具备 C 语言编程和操作系统方面的基础知识。本书主要面向嵌入式 Linux 系统的内核、设备驱动程序、应用程序的开发工程师以及 ARM 嵌入式系统的硬件设计工程师,也可以作为各类嵌入式系统培训机构的培训实验教材和高校操作系统课程的辅导书籍。    特别致谢在朋友、家人和机械工业出版社的帮助和支持下,本书终于得以问世,在此对他们表示衷心的感谢。特别是责任编辑车忱老师,在本书编写过程中提出了大量合理的建议,使本书得以顺利出版。    本书大部分例程基于深圳友坚恒天的 idea6410 开发板,在此对他们表示特别的感谢。本人希望能够和读者一起努力,扩大交流,共同进步。由于 Linux 驱动程序开发相当博大精深,加之本人水平有限,本书错误在所难免,请各位读者原谅并指正。读者可把修改建议发送到fgjnew@163.com,以便再版时修正。    冯国进2016 年 10 月 1 日

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网