由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
醉染图书Linux设备驱动开发9787302619024
¥ ×1
篇 用于嵌入式设备驱动程序开发的内核核心框架
章 嵌入式开发人员需要掌握的Linux内核概念 3
1.1 技术要求 3
1.2 内核锁API和共享对象 3
1.2.1 自旋锁 4
1.2.2 禁用中断与仅禁用抢占 8
1.. 互斥锁 8
1.2.4 try-lock方法 11
1.3 Linux内核中的等待、感知和阻塞 13
1.3.1 等待活动完成或状态改变 13
1.3.2 Linux内核等待队列 15
1.4 工作延迟机制 19
1.4.1 softIR 20
1.4.2 关于ksoftirqd 24
1.4.3 tasklet 25
1.4.4 工作队列 28
1.4.5 内核共享队列 31
1.4.6 新的工作队列 32
1.4.7 并发管理的工作队列 33
1.5 Linux内核中断管理 37
1.5.1 中断的状态 37
1.5.2 中断处理流程 38
1.5.3 设计中断处理程序 40
1.5.4 中断的标志 42
1.5.5 中断的返回值 44
1.5.6 关于中断的一些注意事项 45
1.5.7 上半部和下半部的概念 46
1.5.8 线程中断处理程序 48
1.5.9 请求一个上下文中断 53
1.5.10 使用工作队列延迟下半部 55
1.5.11 从中断处理程序中锁定 58
1.6 小结 61
第2章 regmap API应用 63
2.1 技术要求 63
2.2 regmap及其数据结构 64
2.2.1 struct regmap_config结构体中的字段 65
2.2.2 访问设备寄存器 69
2.. 一次读/写多个寄存器 71
2.2.4 更新寄存器中的位 72
. regmap和IR管理 73
..1 Linux内核IR管理的结构 73
..2 创建映 74
.. struct irq_domain_ops 76
..4 irq_domain_ops.map() 77
..5 irq_domain_ops.xlate() 77
2.4 链接IR 78
2.4.1 链式中断 78
2.4.2 嵌套中断 83
2.4.3 irqchip和gpiolib API—新一代 85
2.4.4 基于gpiochip的链式IR芯片 87
2.4.5 基于gpiochip的嵌套IR芯片 89
2.5 regmap IR API和数据结构 91
2.5.1 regmap IR数据结构 91
2.5.2 regmap IR API 95
2.5.3 regmap IR API示例 98
2.6 小结 102
第3章 深入研究MFD子系统和syscon API 103
3.1 技术要求 103
3.2 MFD子系统和syscon API 104
3.2.1 da9055设备驱动程序示例 104
3.2.2 max8925设备驱动程序示例 113
3.3 MFD设备的设备树绑定 116
3.4 了解syscon和simple-mfd 119
3.4.1 syscon API 119
3.4.2 simple-mfd 1
3.5 小结 125
第4章 通用时钟框架 127
4.1 技术要求 128
4.2 CCF数据结构和接口 128
4.2.1 了解struct clk_hw及其依赖项 129
4.2.2 注册/取消注册时钟提供者 131
4.. 将时钟公开给使用者 135
4.2.4 时钟提供者设备树节点及其相关机制 136
4.2.5 了解of_parse_phandle_with_args() API 138
4.2.6 了解__of_clk_get_from_provider() API 140
4.2.7 时钟解码回调 141
4.3 编写时钟提供者驱动程序 145
4.3.1 有关时钟提供者驱动程序的基础知识 145
4.3.2 提供时钟操作 149
4.3.3 clk_hw.init.as中的时钟标志 152
4.3.4 固定频率时钟案例研究及其操作 154
4.3.5 通用简化注意事项 156
4.3.6 固定频率时钟设备绑定 158
4.3.7 PWM时钟 159
4.3.8 固定倍频时钟驱动程序及其操作 160
4.3.9 固定倍频时钟的设备树绑定 162
4.3.10 门控时钟及其操作 162
4.3.11 基于I2C/SPI的门控时钟 164
4.3.12 GPIO门控时钟 165
4.3.13 多选一时钟及其操作 165
4.3.14 基于I2C/SPI的多选一时钟 170
4.3.15 GPIO多选一时钟 170
4.3.16 分频器时钟及其操作 172
4.3.17 复合时钟及其操作 176
4.3.18 综合概述 177
4.4 时钟使用者API 179
4.4.1 获取和释放时钟 180
4.4.2 准备/取消准备时钟 180
4.4.3 启用/禁用 181
4.4.4 频率函数 181
4.4.5 父函数 182
4.4.6 综合概述 182
4.5 小结 182
第2篇 嵌入式Linux系统中的多媒体和节能
第5章 ALSA SoC框架—利用编解码器和平台类驱动程序 185
5.1 技术要求 186
5.2 ASoC简介 186
5.2.1 ASoC数字音频接口 187
5.2.2 ASoC子元素 187
5.3 编写编解码器类驱动程序 189
5.3.1 编解码器驱动程序的实例结构 190
5.3.2 编解码器DAI和PCM配置 192
5.3.3 DAI操作 193
5.3.4 采集和回放硬件配置 196
5.3.5 控件的概念 197
5.3.6 控件命名约定 199
5.3.7 控制元数据 200
5.3.8 定义kcontrol 200
5.3.9 设置一个简单开关 202
5.3.10 设置带有音量级别的开关 203
5.3.11 立体声控件 203
5.3.12 带音量级别的立体声控件 203
5.3.13 混音器控件 204
5.3.14 定义有多个输入的控件 204
5.4 DAPM概念 205
5.4.1 关于widget 205
5.4.2 定义widget 207
5.4.3 编解码域定义 207
5.4.4 定义平台域widget 208
5.4.5 定义音频路径域widget 209
5.4.6 定义音频流域 211
5.4.7 路径的概念—widget之间的连接器 213
5.4.8 路由的概念—widget互连 214
5.4.9 定义DAPM kcontrol 215
5.4.10 创建widget和路由 217
5.5 编解码器组件注册 222
5.6 编写平台类驱动程序 224
5.6.1 CPU DAI驱动程序 225
5.6.2 平台DMA驱动程序 226
5.6.3 音频DMA接口 227
5.6.4 PCM硬件配置 0
5.7 小结
第6章 ALSA SoC框架—深入了解机器类驱动程序 5
6.1 技术要求 5
6.2 机器类驱动程序介绍
6.2.1 机器类驱动程序的开发流程
6.2.2 DAI链接
6.. 获取CPU和编解码器节点
6.3 机器路由 241
6.3.1 编解码器引脚 241
6.3.2 板卡接口 242
6.3.3 机器路由 243
6.3.4 设备树路由 243
6.3.5 静态路由 244
6.4 时钟和格式注意事项 245
6.4.1 时钟和格式设置辅函数 245
6.4.2 格式 246
6.4.3 时钟源 247
6.4.4 时钟分频器 247
6.4.5 时钟和格式设置的典型实现 247
6.5 声卡注册 249
6.6 利用simple-card机器驱动程序 252
6.6.1 simple-audio机器驱动程序 252
6.6.2 无编解码器声卡 253
6.7 小结 254
第7章 V4L2和视频采集设备驱动程序揭秘 255
7.1 技术要求 255
7.2 框架架构和主要数据结构 255
7.2.1 V4L2架构简介 256
7.2.2 初始化和注册V4L2设备 257
7.3 桥接视频设备驱动程序 258
7.3.1 struct video_device结构体 259
7.3.2 初始化和注册视频设备 262
7.3.3 视频设备文件操作 264
7.3.4 V4L2 ioctl处理 267
7.3.5 videobuf2接口和API 269
7.3.6 缓冲区的概念 269
7.3.7 平面的概念 271
7.3.8 队列的概念 272
7.3.9 与特定驱动程序相关的流传输回调函数 274
7.3.10 初始化和释放vb2队列 277
7.4 关于子设备 278
7.4.1 子设备数据结构体 279
7.4.2 子设备初始化 282
7.4.3 子设备操作 284
7.4.4 核心操作结构 285
7.4.5 视频操作结构 286
7.4.6 传感器操作结构 287
7.4.7 调用子设备操作 288
7.4.8 子设备的注册和注销方式 289
7.5 V4L2控件基础结构 290
7.5.1 标准控件对象 290
7.5.2 控件处理程序 292
7.5.3 摄像头传感器驱动程序示例 294
7.5.4 关于控件继承 297
7.6 小结 297
第8章 集成V4L2异步和媒体控制器框架 299
8.1 技术要求 299
8.2 V4L2异步接口和图绑定的概念 299
8.2.1 图绑定 300
8.2.2 端口和端点表示 300
8.. 端点链接 301
8.2.4 V4L2异步和面向图的API 302
8.2.5 从设备树API到通用fwnode图API 302
8.2.6 V4L2固件节点API 309
8.2.7 V4L2 fwnode或媒体总线类型 311
8.2.8 BT656和并行总线 312
8.2.9 MIPI CSI-2总线 313
8.2.10 CPP2和MIPI CSI-1总线 314
8.2.11 总线猜测 315
8.2.12 V4L2异步模式 315
8.2.13 异步模式工作原理 318
8.2.14 异步桥接和子设备探测示例 321
8.3 Linux媒体控制器框架 325
8.3.1 媒体控制器抽象模型 325
8.3.2 V4L2设备抽象 327
8.3.3 媒体控制器数据结构 328
8.3.4 在驱动程序中集成媒体控制器支持 333
8.3.5 初始化并注册接口和实体 334
8.3.6 媒体实体操作 335
8.3.7 媒体总线的概念 335
8.3.8 注册媒体设备 340
8.3.9 来自用户空间的媒体控制器 341
8.3.10 使用media-ctl 341
8.3.11 带有OV2680的WaRP7示例 344
8.4 小结 351
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格