深入理解嵌入式Linux设备驱动程序

深入理解嵌入式Linux设备驱动程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
出版社: 电子工业出版社
2012-08
版次: 1
ISBN: 9787121177194
定价: 49.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 268页
字数: 420千字
  • 本书详细阐述了嵌入式Linux设备驱动程序基本理论及开发方法。详细讲解了嵌入式系统的硬件体系架构,Linux系统的引导原理、启动过程,Linux设备驱动模型及基本理论,具体的硬件设备驱动程序的源码分析。在分析具体设备驱动程序源码的基础上,详细讲解了具体设备驱动程序的设计和移植方法。 第1章嵌入式ARM系统开发基础 1
    1.1嵌入式ARM系统开发概述 1
    1.1.1ARM系统可执行映像文件格式 1
    1.1.2ARM开发调试工具 2
    1.1.3加载地址和运行地址 3
    1.2嵌入式ARM系统的启动代码分析 4
    1.2.1ARM上电启动概述 4
    1.2.2ARM上电初始化启动代码分析 5
    1.3嵌入式ARM系统的中断系统 10
    1.3.1ARM中断机制代码分析 10
    1.3.2ARM中断服务处理程序的响应过程 13
    1.4按键中断实验 15
    第2章嵌入式Linux设备驱动程序开发环境的构建 16
    2.1安装虚拟机软件VMware6.0.2 16
    2.2新建虚拟机 17
    2.3安装Linux操作系统ubuntu 19
    2.4安装VMwaretools工具软件 23
    2.5网络配置 26
    2.6设置软件源服务器 27
    2.7安装libncurses5-dev软件包 28
    2.8安装交叉编译器arm-linux-gcc 28
    第3章嵌入式Linux内核的裁剪与编译 31
    3.1嵌入式Linux内核的本质 31
    3.2嵌入式Linux内核源码的组织 32
    3.3嵌入式Linux内核的移植与裁剪 34
    3.4嵌入式Linux内核配置、编译的基本原理 39
    3.5构建嵌入式Linux根文件系统 40

    第4章嵌入式系统BootLoader代码分析与移植 46
    4.1嵌入式系统BootLoader功能概述 46
    4.1.1嵌入式Linux系统的软件组成及分布 46
    4.1.2嵌入式Linux中为什么要有BootLoader 47
    4.1.3BootLoader的功能和选择 47
    4.2u-boot源码分析 48
    4.2.1u-boot源码文件的组成及配置编译 48
    4.2.2u-boot的执行过程及Linux内核加载流程 50
    4.2.3start.s源码文件分析 50
    4.2.4board.c源码文件分析 51
    4.3u-boot中的环境变量 52
    4.4Linux系统的加载过程 53
    4.4.1u-boot命令执行过程 54
    4.4.2bootm的执行流程 55
    4.5u-boot向Linux传递参数的过程 57
    4.6u-boot的移植 58
    第5章嵌入式Linux内核模块与字符设备驱动 61
    5.1嵌入式Linux内核模块 61
    5.1.1嵌入式Linux内核模块的概念 61
    5.1.2嵌入式Linux内核模块编程 61
    5.1.3嵌入式Linux内核模块的编译 62
    5.1.4嵌入式Linux内核模块的安装与卸载 63
    5.1.5直接编译嵌入式Linux内核模块到内核 63
    5.2嵌入式Linux字符设备驱动 63
    5.2.1嵌入式Linux设备驱动程序的概念 63
    5.2.2嵌入式Linux设备管理机制 64
    5.2.3嵌入式Linux字符设备驱动程序的主要数据结构分析 65
    5.2.4嵌入式Linux字符设备驱动的工作原理 66
    5.2.5嵌入式Linux字符设备驱动程序设计实例 68
    第6章嵌入式Linux系统的内存管理 72
    6.1虚拟地址和物理地址概述 72
    6.2虚拟地址到物理地址转换的基本原理 73
    6.3基于ARMS3C2440的GPIO端口地址映射实验 76
    6.3.1问题描述 76
    6.3.2分析与思路 76
    6.4Linux内核中内存分配和释放函数的用法 77
    第7章嵌入式Linux设备驱动开发的核心技术 78
    7.1嵌入式Linux中断处理和定时器 78
    7.1.1嵌入式Linux系统中断服务程序的编写 78
    7.1.2嵌入式Linux系统硬件定时器的使用 79
    7.1.3中断的下半部分 80
    7.1.4嵌入式Linux软件定时器的使用 80
    7.2嵌入式Linux设备驱动程序中的并发及并发控制 81
    7.2.1并发的概念 81
    7.2.2嵌入式Linux设备驱动程序中的并发控制方式 82
    7.2.3信号量与自旋锁的使用场景 83
    7.3嵌入式Linux设备驱动中的阻塞与非阻塞 84
    7.3.1概述 84
    7.3.2Linux设备驱动程序中阻塞的工作原理 84
    7.3.3进程阻塞访问设备的基本原理 85
    7.3.4Linux设备驱动程序中的阻塞编程 86
    7.4嵌入式Linux设备驱动中的异步通知编程 87
    7.4.1概述 87
    7.4.2Linux异步通知工作原理 88
    7.4.3Linux异步通知应用的编程方法 90
    7.4.4Linux异步通知驱动的编程方法 91
    7.5嵌入式Linux设备驱动中的轮询操作 92
    7.5.1概述 92
    7.5.2Linux设备驱动轮询操作的工作原理及源码分析 92
    7.5.3Linux轮询操作的应用层编程 97
    7.5.4Linux轮询操作的驱动层编程 97
    第8章嵌入式Linux平台设备驱动程序开发 99
    8.1Linux设备和设备驱动模型 99
    8.1.1Linux内核中的BUS(总线) 99
    8.1.2Linux内核中的设备 100
    8.1.3Linux内核中的设备驱动 101
    8.2Linux平台设备驱动程序开发过程 103
    8.3嵌入式Linux系统中利用mdev自动创建设备文件节点 105
    第9章嵌入式LinuxLCD屏驱动程序设计 107
    9.1LCD屏的工作原理概述 107
    9.2LCD屏硬件原理及驱动程序设计 108
    9.2.1TFTLCD屏的显示原理 109
    9.2.2S3C2440LCD控制器TFTLCD的控制时序分析 110
    9.2.3S3C2440LCD控制器显示的数据格式 111
    9.2.4S3C2440LCD控制器的显示数据流程 112
    9.2.5VBPD、VFPD、VSPW和HBPD、HFPD、HSPW的设置 113
    9.3嵌入式LinuxLCD屏驱动程序框架 114
    9.4嵌入式LinuxLCD屏驱动源码分析 115
    9.4.1S3c2410fb.c源码分析 116
    9.4.2LCD屏Linux驱动主要数据结构 117
    9.4.3Probe函数处理流程及源码分析 121
    9.4.4Fbmem.c源码分析 124
    9.5嵌入式LinuxLCD屏驱动的移植 125
    第10章嵌入式Linux触摸屏驱动程序设计 128
    10.1触摸屏工作原理概述 128
    10.2S3C2440触摸屏接口及硬件驱动程序设计 129
    10.2.1S3C2440触摸屏控制器接口 129
    10.2.2S3C2440裸机下触摸屏控制器的接口编程 131
    10.3嵌入式Linux触摸屏驱动程序框架 133
    10.4嵌入式Linux触摸屏驱动的源码分析 134
    10.4.1Linux触摸设备驱动的处理流程 134
    10.4.2触摸屏驱动模块的初始化函数s3c2410ts_init 135
    10.4.3笔针按下中断服务处理程序stylus_updown 137
    10.5嵌入式Linux输入子系统的工作原理及实现机制 140
    10.5.1Linux输入子系统的主要数据结构与全局变量 140
    10.5.2输入设备的注册流程 145
    10.5.3事件处理器的注册流程 146
    10.5.4输入事件的报告流程 149
    10.5.5应用程序访问输入设备的流程 152
    第11章嵌入式LinuxMTD子系统与FLASH驱动程序设计 154
    11.1MTD子系统概述 154
    11.2Linux中NorFLASH驱动的源码分析 157
    11.3MTD子系统的源码分析 160
    11.3.1MTD子系统源码组织 160
    11.3.2MTD子系统主要数据的结构分析 161
    11.4NorFLASH芯片手册解读 163
    第12章嵌入式LinuxNandFLASH驱动程序设计 165
    12.1NandFLASH芯片硬件及接口介绍 165
    12.1.1NandFLASH存储空间的组织 165
    12.1.2NandFLASH的硬件接口及读写操作时序 166
    12.1.3S3C2440对NandFLASH芯片的访问 167
    12.2嵌入式Linux下NandFLASH驱动分析 168
    12.2.1NandFLASH驱动源码组织 168
    12.2.2NandFLASH驱动架构 168
    12.2.3NandFLASH相关操作流程 171
    12.2.4s3c24xx_nand_probe函数分析 172
    12.3应用程序对NandFLASH设备的读/写操作 175
    12.3.1MTD字符设备写NandFLASH的操作分析 175
    12.3.2s3c2440_nand_hwcontrol函数 178
    12.3.3nand_command函数 178
    第13章嵌入式LinuxI2C总线驱动程序设计 182
    13.1I2C总线概述 182
    13.2S3C2440I2C总线控制器的硬件工作原理 183
    13.3S3C2440I2C控制器的硬件编程 185
    13.3.1初始化S3C2440I2C主控制器 185
    13.3.2I2C总线写AT24C02操作
  • 内容简介:
    本书详细阐述了嵌入式Linux设备驱动程序基本理论及开发方法。详细讲解了嵌入式系统的硬件体系架构,Linux系统的引导原理、启动过程,Linux设备驱动模型及基本理论,具体的硬件设备驱动程序的源码分析。在分析具体设备驱动程序源码的基础上,详细讲解了具体设备驱动程序的设计和移植方法。
  • 目录:
    第1章嵌入式ARM系统开发基础 1
    1.1嵌入式ARM系统开发概述 1
    1.1.1ARM系统可执行映像文件格式 1
    1.1.2ARM开发调试工具 2
    1.1.3加载地址和运行地址 3
    1.2嵌入式ARM系统的启动代码分析 4
    1.2.1ARM上电启动概述 4
    1.2.2ARM上电初始化启动代码分析 5
    1.3嵌入式ARM系统的中断系统 10
    1.3.1ARM中断机制代码分析 10
    1.3.2ARM中断服务处理程序的响应过程 13
    1.4按键中断实验 15
    第2章嵌入式Linux设备驱动程序开发环境的构建 16
    2.1安装虚拟机软件VMware6.0.2 16
    2.2新建虚拟机 17
    2.3安装Linux操作系统ubuntu 19
    2.4安装VMwaretools工具软件 23
    2.5网络配置 26
    2.6设置软件源服务器 27
    2.7安装libncurses5-dev软件包 28
    2.8安装交叉编译器arm-linux-gcc 28
    第3章嵌入式Linux内核的裁剪与编译 31
    3.1嵌入式Linux内核的本质 31
    3.2嵌入式Linux内核源码的组织 32
    3.3嵌入式Linux内核的移植与裁剪 34
    3.4嵌入式Linux内核配置、编译的基本原理 39
    3.5构建嵌入式Linux根文件系统 40

    第4章嵌入式系统BootLoader代码分析与移植 46
    4.1嵌入式系统BootLoader功能概述 46
    4.1.1嵌入式Linux系统的软件组成及分布 46
    4.1.2嵌入式Linux中为什么要有BootLoader 47
    4.1.3BootLoader的功能和选择 47
    4.2u-boot源码分析 48
    4.2.1u-boot源码文件的组成及配置编译 48
    4.2.2u-boot的执行过程及Linux内核加载流程 50
    4.2.3start.s源码文件分析 50
    4.2.4board.c源码文件分析 51
    4.3u-boot中的环境变量 52
    4.4Linux系统的加载过程 53
    4.4.1u-boot命令执行过程 54
    4.4.2bootm的执行流程 55
    4.5u-boot向Linux传递参数的过程 57
    4.6u-boot的移植 58
    第5章嵌入式Linux内核模块与字符设备驱动 61
    5.1嵌入式Linux内核模块 61
    5.1.1嵌入式Linux内核模块的概念 61
    5.1.2嵌入式Linux内核模块编程 61
    5.1.3嵌入式Linux内核模块的编译 62
    5.1.4嵌入式Linux内核模块的安装与卸载 63
    5.1.5直接编译嵌入式Linux内核模块到内核 63
    5.2嵌入式Linux字符设备驱动 63
    5.2.1嵌入式Linux设备驱动程序的概念 63
    5.2.2嵌入式Linux设备管理机制 64
    5.2.3嵌入式Linux字符设备驱动程序的主要数据结构分析 65
    5.2.4嵌入式Linux字符设备驱动的工作原理 66
    5.2.5嵌入式Linux字符设备驱动程序设计实例 68
    第6章嵌入式Linux系统的内存管理 72
    6.1虚拟地址和物理地址概述 72
    6.2虚拟地址到物理地址转换的基本原理 73
    6.3基于ARMS3C2440的GPIO端口地址映射实验 76
    6.3.1问题描述 76
    6.3.2分析与思路 76
    6.4Linux内核中内存分配和释放函数的用法 77
    第7章嵌入式Linux设备驱动开发的核心技术 78
    7.1嵌入式Linux中断处理和定时器 78
    7.1.1嵌入式Linux系统中断服务程序的编写 78
    7.1.2嵌入式Linux系统硬件定时器的使用 79
    7.1.3中断的下半部分 80
    7.1.4嵌入式Linux软件定时器的使用 80
    7.2嵌入式Linux设备驱动程序中的并发及并发控制 81
    7.2.1并发的概念 81
    7.2.2嵌入式Linux设备驱动程序中的并发控制方式 82
    7.2.3信号量与自旋锁的使用场景 83
    7.3嵌入式Linux设备驱动中的阻塞与非阻塞 84
    7.3.1概述 84
    7.3.2Linux设备驱动程序中阻塞的工作原理 84
    7.3.3进程阻塞访问设备的基本原理 85
    7.3.4Linux设备驱动程序中的阻塞编程 86
    7.4嵌入式Linux设备驱动中的异步通知编程 87
    7.4.1概述 87
    7.4.2Linux异步通知工作原理 88
    7.4.3Linux异步通知应用的编程方法 90
    7.4.4Linux异步通知驱动的编程方法 91
    7.5嵌入式Linux设备驱动中的轮询操作 92
    7.5.1概述 92
    7.5.2Linux设备驱动轮询操作的工作原理及源码分析 92
    7.5.3Linux轮询操作的应用层编程 97
    7.5.4Linux轮询操作的驱动层编程 97
    第8章嵌入式Linux平台设备驱动程序开发 99
    8.1Linux设备和设备驱动模型 99
    8.1.1Linux内核中的BUS(总线) 99
    8.1.2Linux内核中的设备 100
    8.1.3Linux内核中的设备驱动 101
    8.2Linux平台设备驱动程序开发过程 103
    8.3嵌入式Linux系统中利用mdev自动创建设备文件节点 105
    第9章嵌入式LinuxLCD屏驱动程序设计 107
    9.1LCD屏的工作原理概述 107
    9.2LCD屏硬件原理及驱动程序设计 108
    9.2.1TFTLCD屏的显示原理 109
    9.2.2S3C2440LCD控制器TFTLCD的控制时序分析 110
    9.2.3S3C2440LCD控制器显示的数据格式 111
    9.2.4S3C2440LCD控制器的显示数据流程 112
    9.2.5VBPD、VFPD、VSPW和HBPD、HFPD、HSPW的设置 113
    9.3嵌入式LinuxLCD屏驱动程序框架 114
    9.4嵌入式LinuxLCD屏驱动源码分析 115
    9.4.1S3c2410fb.c源码分析 116
    9.4.2LCD屏Linux驱动主要数据结构 117
    9.4.3Probe函数处理流程及源码分析 121
    9.4.4Fbmem.c源码分析 124
    9.5嵌入式LinuxLCD屏驱动的移植 125
    第10章嵌入式Linux触摸屏驱动程序设计 128
    10.1触摸屏工作原理概述 128
    10.2S3C2440触摸屏接口及硬件驱动程序设计 129
    10.2.1S3C2440触摸屏控制器接口 129
    10.2.2S3C2440裸机下触摸屏控制器的接口编程 131
    10.3嵌入式Linux触摸屏驱动程序框架 133
    10.4嵌入式Linux触摸屏驱动的源码分析 134
    10.4.1Linux触摸设备驱动的处理流程 134
    10.4.2触摸屏驱动模块的初始化函数s3c2410ts_init 135
    10.4.3笔针按下中断服务处理程序stylus_updown 137
    10.5嵌入式Linux输入子系统的工作原理及实现机制 140
    10.5.1Linux输入子系统的主要数据结构与全局变量 140
    10.5.2输入设备的注册流程 145
    10.5.3事件处理器的注册流程 146
    10.5.4输入事件的报告流程 149
    10.5.5应用程序访问输入设备的流程 152
    第11章嵌入式LinuxMTD子系统与FLASH驱动程序设计 154
    11.1MTD子系统概述 154
    11.2Linux中NorFLASH驱动的源码分析 157
    11.3MTD子系统的源码分析 160
    11.3.1MTD子系统源码组织 160
    11.3.2MTD子系统主要数据的结构分析 161
    11.4NorFLASH芯片手册解读 163
    第12章嵌入式LinuxNandFLASH驱动程序设计 165
    12.1NandFLASH芯片硬件及接口介绍 165
    12.1.1NandFLASH存储空间的组织 165
    12.1.2NandFLASH的硬件接口及读写操作时序 166
    12.1.3S3C2440对NandFLASH芯片的访问 167
    12.2嵌入式Linux下NandFLASH驱动分析 168
    12.2.1NandFLASH驱动源码组织 168
    12.2.2NandFLASH驱动架构 168
    12.2.3NandFLASH相关操作流程 171
    12.2.4s3c24xx_nand_probe函数分析 172
    12.3应用程序对NandFLASH设备的读/写操作 175
    12.3.1MTD字符设备写NandFLASH的操作分析 175
    12.3.2s3c2440_nand_hwcontrol函数 178
    12.3.3nand_command函数 178
    第13章嵌入式LinuxI2C总线驱动程序设计 182
    13.1I2C总线概述 182
    13.2S3C2440I2C总线控制器的硬件工作原理 183
    13.3S3C2440I2C控制器的硬件编程 185
    13.3.1初始化S3C2440I2C主控制器 185
    13.3.2I2C总线写AT24C02操作
查看详情
好书推荐 / 更多
深入理解嵌入式Linux设备驱动程序
传统十论:本土社会的制度、文化与其变革
秦晖 著
深入理解嵌入式Linux设备驱动程序
翁达杰作品系列:英国病人(精装)
[加]迈克尔·翁达杰 著;丁骏 译
深入理解嵌入式Linux设备驱动程序
软件体的生命周期:特德·姜科幻小说集
[美]特德·姜
深入理解嵌入式Linux设备驱动程序
汉唐文学与文献论考
陈尚君 著
深入理解嵌入式Linux设备驱动程序
中国佛学源流略讲
吕澂 著
深入理解嵌入式Linux设备驱动程序
明清稿抄校本鉴定
陈先行、石菲 著
深入理解嵌入式Linux设备驱动程序
瓦檐下的旧器物
黄孝纪
深入理解嵌入式Linux设备驱动程序
索恩丛书·自由的流亡者:永失美国与大英帝国的东山再起(套装全2册)
马娅·亚桑诺夫(Maya Jasanoff) 著;马睿 译
深入理解嵌入式Linux设备驱动程序
维米尔
北寺 译 者;[英]路德维希·戈德沙伊德(Ludwig Goldscheider)
深入理解嵌入式Linux设备驱动程序
做工的人
林立青 著;赖小路 摄影
深入理解嵌入式Linux设备驱动程序
与绝迹之鸟的短暂邂逅
[美]本·方登 著
深入理解嵌入式Linux设备驱动程序
[日]吉田修一 Yoshida Shuichi 著;岳远坤 译