嵌入式Linux开发教程(下册)

嵌入式Linux开发教程(下册) 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
周立功,ZLG Linux开发团队 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-17

类似图书 点击查看全场最低价

图书介绍

出版社: 北京航空航天大学出版社
ISBN:9787512422537
版次:1
商品编码:12046824
包装:平装
开本:16开
出版时间:2016-10-01
用纸:胶版纸
页数:334


相关图书





图书描述

内容简介

  本教程是面向嵌入式Linux学习和产品开发的入门教程,分上下两册。本书为下册,分3篇,共16章,内容涵盖Linux内核、设备驱动、系统整合和产品化等方面。其中,设备驱动部分是重点内容,从模块编写开始,深入浅出地讲述了驱动编写的各个方面;之后以Linux子系统为单位,分别讲述了各常用外设的驱动编写或移植,如LED、GPIO、I2C、SPI、Input子系统、串口、声卡、WiFi网卡和3G模块等。

  本 书由浅入深,结构合理,实用性强,提供的范例稍加改动即可应用于实际项目。阅读本书需要有一定Linux使用基础,适合于准备往驱动方向发展的嵌入式Linux开发工程师,也可作为高校非计算机专业高年级学生学习嵌入式Linux驱动的参考教材。

目录

第1篇 嵌入式Linux内核驱动开发

第1章 Linux内核裁剪和定制………………………………………………………… 3

1.1 Linux内核开发简介…………………………………………………………… 3

1.2 Linux源码阅读工具…………………………………………………………… 3

1.2.1 SourceInsight……………………………………………………………… 4

1.2.2 Eclipse ……………………………………………………………………… 6

1.2.3 Vim+ctags+cscope ……………………………………………………… 8

1.2.4 LXR ………………………………………………………………………… 8

1.3 Linux内核源码………………………………………………………………… 10

1.3.1 目录树概览………………………………………………………………… 10

1.3.2 快速确定主板关联代码…………………………………………………… 12

1.4 Linux内核中的Makefile文件………………………………………………… 14

1.4.1 顶层Makefile …………………………………………………………… 15

1.4.2 子目录的Makefile ……………………………………………………… 16

1.5 Linux内核中的Kconfig文件………………………………………………… 17

1.5.1 Kconfig基本语法………………………………………………………… 17

1.5.2 配置项和配置开关………………………………………………………… 20

1.6 配置和编译Linux内核……………………………………………………… 21

1.6.1 快速配置内核……………………………………………………………… 21

1.6.2 内核配置详情……………………………………………………………… 23

1.6.3 编译内核…………………………………………………………………… 32

1.6.4 运行内核…………………………………………………………………… 37

1.7 Linux内核裁剪实例…………………………………………………………… 38

1.7.1 GPIO子系统配置………………………………………………………… 38

1.7.2 LED子系统配置………………………………………………………… 39

1.7.3 串口配置…………………………………………………………………… 40

1.7.4 USBHost驱动配置……………………………………………………… 40

1.7.5 USBGadget驱动配置…………………………………………………… 42

1.7.6 SD/MMC驱动配置……………………………………………………… 43

1.7.7 网卡驱动配置……………………………………………………………… 44

1.7.8 NFSClient配置………………………………………………………… 45

1.7.9 PPP拨号配置…………………………………………………………… 45

1.7.10 MTD配置……………………………………………………………… 46

1.7.11 UBIFS文件系统配置…………………………………………………… 47

1.7.12 CAN 驱动配置…………………………………………………………… 47

1.8 EPC-28x平台内核快速编译………………………………………………… 48

第2章 Linux设备驱动基础………………………………………………………… 49

2.1 Linux内核模块………………………………………………………………… 49

2.1.1 Linux和模块……………………………………………………………… 49

2.1.2 编写内核模块……………………………………………………………… 49

2.1.3 最简单的内核模块………………………………………………………… 53

2.1.4 带参数的内核模块………………………………………………………… 54

2.2 Linux设备……………………………………………………………………… 56

2.2.1 Linux设备和分类………………………………………………………… 56

2.2.2 设备节点和设备号………………………………………………………… 56

2.2.3 设备的注册和注销………………………………………………………… 60

2.3 Linux设备和驱动……………………………………………………………… 62

2.3.1 驱动在Linux中的地位………………………………………………… 62

2.3.2 驱动的基本要素…………………………………………………………… 62

2.3.3 驱动和应用程序的差别…………………………………………………… 63

2.3.4 驱动的入口和出口………………………………………………………… 63

2.3.5 支持udev设备管理方法………………………………………………… 65

2.3.6 设备驱动的操作方法……………………………………………………… 70

2.4 字符驱动框架…………………………………………………………………… 74

2.4.1 字符驱动框架……………………………………………………………… 74

2.4.2 测试程序…………………………………………………………………… 78

2.5 第一个完整意义上的驱动……………………………………………………… 80

2.5.1 ioctl命令………………………………………………………………… 80

2.5.2 内核空间的ioctl ………………………………………………………… 82

2.5.3 用户空间的ioctl ………………………………………………………… 82

2.5.4 LED驱动范例…………………………………………………………… 82

2.6 内核/用户空间的数据交换…………………………………………………… 88

2.6.1 检查地址的合法性………………………………………………………… 88

2.6.2 往用户空间传递数据……………………………………………………… 88

2.6.3 从用户空间获取数据……………………………………………………… 90

2.6.4 支持读/写的驱动范例…………………………………………………… 91

2.7 在驱动中使用中断……………………………………………………………… 96

2.7.1 申请和释放中断…………………………………………………………… 96

2.7.2 中断处理程序编写………………………………………………………… 98

2.7.3 按键驱动…………………………………………………………………… 99

2.8 混杂设备驱动编程…………………………………………………………… 103

2.8.1 混杂设备和驱动………………………………………………………… 103

2.8.2 混杂设备驱动框架……………………………………………………… 104

2.9 I/O内存访问………………………………………………………………… 107

2.9.1 静态I/O映射…………………………………………………………… 107

2.9.2 动态I/O映射…………………………………………………………… 110

2.9.3 I/O内存访问函数……………………………………………………… 110

2.10 Linux设备驱动模型………………………………………………………… 111

2.10.1 设 备…………………………………………………………………… 111

2.10.2 驱 动…………………………………………………………………… 113

2.10.3 总 线…………………………………………………………………… 114

2.10.4 类………………………………………………………………………… 115

2.11 平台设备和驱动……………………………………………………………… 117

2.11.1 资 源…………………………………………………………………… 117

2.11.2 平台设备………………………………………………………………… 119

2.11.3 平台驱动………………………………………………………………… 122

2.11.4 平台驱动与普通驱动的差异…………………………………………… 123

2.11.5 平台驱动范例…………………………………………………………… 124

第3章 LED 子系统和驱动………………………………………………………… 131

3.1 LED子系统驱动简介………………………………………………………… 131

3.2 LED子系统的分层结构……………………………………………………… 131

3.3 LED设备的实现……………………………………………………………… 132

3.4 i.MX28平台的LED设备…………………………………………………… 135

第4章 GPIO 驱动…………………………………………………………………… 138

4.1 GPIOLIB简介………………………………………………………………… 138

4.2 GPIOLIB的内核接口………………………………………………………… 138

4.3 GPIOLIB的实现方法………………………………………………………… 139

4.4 驱动示例……………………………………………………………………… 141

第5章 输入子系统和按键驱动……………………………………………………… 149

5.1 输入子系统…………………………………………………………………… 149

5.1.1 输入子系统构成………………………………………………………… 149

5.1.2 各事件管理器详解……………………………………………………… 152

5.1.3 设备驱动………………………………………………………………… 154

5.2 驱动实现……………………………………………………………………… 158

5.2.1 电路和原理……………………………………………………………… 158

5.2.2 按键驱动实现…………………………………………………………… 159

第6章 I2C总线和外设驱动………………………………………………………… 165

6.1 I2C子系统…………………………………………………………………… 165

6.1.1 I2C子系统的设计思路………………………………………………… 165

6.1.2 I2C子系统的实现……………………………………………………… 169

6.1.3 I2C子系统在/sys文件系统的信息…………………………………… 176

6.2 I2C驱动实现示例…………………………………………………………… 177

6.2.1 FM24C02A 驱动的设计思路…………………………………………… 177

6.2.2 添加FM24C02A 设备…………………………………………………… 178

6.2.3 实现FM24C02A 驱动…………………………………………………… 178

6.2.4 实现I2C驱动…………………………………………………………… 178

第7章 SPI总线和外设驱动………………………………………………………… 185

7.1 硬件连接……………………………………………………………………… 185

7.2 SPI驱动架构简析…………………………………………………………… 185

7.2.1 SPI核心层……………………………………………………………… 186

7.2.2 SPI主控制器驱动层…………………………………………………… 186

7.2.3 SPI设备驱动层………………………………………………………… 187

7.2.4 SPI数据传输…………………………………………………………… 191

7.3 SPINORFlash驱动………………………………………………………… 193

7.3.1 驱动实现………………………………………………………………… 194

7.3.2 配置和编译……………………………………………………………… 195

7.3.3 测试块设备……………………………………………………………… 196

7.4 SPI数码管显示驱动………………………………………………………… 197

7.4.1 电路原理………………………………………………………………… 197

7.4.2 驱动实现………………………………………………………………… 198

7.4.3 驱动编译和测试………………………………………………………… 202

第8章 UART和SC16IS752驱动…………………………………………………… 204

8.1 UART驱动简析……………………………………………………………… 204

8.1.1 重要数据结构…………………………………………………………… 204

8.1.2 UART驱动API………………………………………………………… 208

8.2 SC16IS752芯片和电路原理………………………………………………… 210

8.2.1 SC16IS752芯片介绍…………………………………………………… 210

8.2.2 电路原理………………………………………………………………… 212

8.2.3 驱动移植思路…………………………………………………………… 212

8.3 I2C接口驱动实现…………………………………………………………… 212

8.3.1 定义i2c_device_id ……………………………………………………… 212

8.3.2 添加注册I2C设备……………………………………………………… 213

8.3.3 I2C驱动实现…………………………………………………………… 214

8.4 UART相关驱动……………………………………………………………… 214

8.4.1 信息描述和数据结构…………………………………………………… 214

8.4.2 底层操作函数和实现…………………………………………………… 215

8.4.3 probe函数和实现……………………………………………………… 219

8.4.4 uart_ops函数和实现…………………………………………………… 221

8.4.5 中断处理………………………………………………………………… 230

8.5 串口测试……………………………………………………………………… 234

第9章 SGTL5000声卡驱动移植…………………………………………………… 235

9.1 背景交代……………………………………………………………………… 235

9.2 电路原理图…………………………………………………………………… 235

9.3 驱动移植……………………………………………………………………… 237

9.3.1 引脚设置………………………………………………………………… 237

9.3.2 添加SGTL5000I2C设备……………………………………………… 238

9.3.3 配置和编译……………………………………………………………… 239

9.3.4 修正播放音频的问题…………………………………………………… 239

9.4 音频接口操作………………………………………………………………… 242

第10章 AP6181无线网卡驱动移植……………………………………………… 247

10.1 硬件原理图…………………………………………………………………… 247

10.2 驱动移植……………………………………………………………………… 248

10.2.1 修改引脚功能…………………………………………………………… 248

10.2.2 添加mmc设备………………………………………………………… 250

10.2.3 添加驱动源码…………………………………………………………… 252

10.2.4 添加唤醒中断…………………………………………………………… 252

10.2.5 添加上下电控制………………………………………………………… 253

10.2.6 修改内核配置文件……………………………………………………… 254

10.2.7 配置内核………………………………………………………………… 255

10.2.8 编译内核、模块驱动…………………………………………………… 256

10.3 使用网卡……………………………………………………………………… 256

10.3.1 加载驱动模块…………………………………………………………… 256

10.3.2 连接到AP ……………………………………………………………… 257

第11章 SIM6320-PCIE3G模块驱动移植…………………………………………… 260

11.1 驱动移植……………………………………………………………………… 260

11.1.1 添加驱动源码…………………………………………………………… 260

11.1.2 配置内核………………………………………………………………… 260

11.2 PPP拨号上网……………………………………………………………… 262

第12章 嵌入式Linux和Bootloader ……………………………………………… 267

第13章 嵌入式 嵌入式Linux开发教程(下册) 下载 mobi epub pdf txt 电子书 格式


嵌入式Linux开发教程(下册) mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

嵌入式Linux开发教程(下册) 下载 mobi pdf epub txt 电子书 格式 2024

嵌入式Linux开发教程(下册) 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

书皮折了。。。。。。。。。。。

评分

书皮折了。。。。。。。。。。。

评分

写的不错,各个内容都写到了,适合学习。

评分

入门很好,要配合开发板。

评分

书皮折了。。。。。。。。。。。

评分

不错的参考书

评分

还没打开看,搞活动买的,公司用,应该还行

评分

入门很好,要配合开发板。

评分

书皮折了。。。。。。。。。。。

类似图书 点击查看全场最低价

嵌入式Linux开发教程(下册) mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.qciss.net All Rights Reserved. 图书大百科 版权所有