《从实践中学嵌入式Linux应用程序开发(第2版)》

图书作者:苗德行 冯建 刘洪涛 潘启勇 丛书名称: 高等院校嵌入式人才培养规划教材 出版日期:2015年8月

编辑推荐理由

推荐评分:5.0分

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇总

数十所嵌入式专业大学院校教学现状调研

侧重实践及案例分析并辅以代码加以讲解

图书简介

《从实践中学嵌入式Linux应用程序开发(第2版)》结合大量实例,讲解了嵌入式Linux应用程序设计各个方面的基本方法及必要的核心概念。主要内容包括搭建嵌入式Linux开发环境、嵌入式文件I/O编程、嵌入式Linux多任务编程、嵌入式Linux进程间通信、嵌入式Linux多线程编程、嵌入式Linux网络编程、嵌入式Linux设备驱动编程、Android应用编程、Android播放器项目设计等。重视应用是贯穿全书的最大特点,在各章和全书结尾分别设置了在项目实践中常见或类似的应用实例。

图书目录

  • ※第1章 搭建嵌入式Linux开发环境 1

  • 1.1 构建嵌入式Linux交叉开发环境 2
  • 1.1.1 搭建嵌入式交叉编译环境 2
  • 1.1.2 配置主机交叉开发环境 6
  • 1.2 Bootloader 10
  • 1.2.1 Bootloader的种类 10
  • 1.2.2 U-Boot编译与使用 12
  • 1.2.3 U-Boot移植 24
  • 1.3 Linux内核与移植 27
  • 1.3.1 Linux内核结构 28
  • 1.3.2 Linux内核配置与编译 29
  • 1.3.3 Linux内核移植的简介 32
  • 1.4 嵌入式文件系统构建 33
  • 1.5 本章小结 37
  • 1.6 本章习题 37
  • ※第2章 嵌入式文件I/O编程 38

  • 2.1 Linux系统调用及用户编程接口(API) 39
  • 2.1.1 Linux系统调用 39
  • 2.1.2 用户编程接口(API) 39
  • 2.1.3 系统命令 40
  • 2.2 Linux文件I/O系统概述 40
  • 2.2.1 虚拟文件系统(VFS) 40
  • 2.2.2 Linux中的文件及文件描述符 41
  • 2.3 底层文件I/O操作 42
  • 2.3.1 基本文件操作 42
  • 2.3.2 文件锁 46
  • 2.3.3 多路复用 51
  • 2.4 嵌入式Linux串口应用编程 57
  • 2.4.1 串口编程基础知识 57
  • 2.4.2 串口配置 58
  • 2.4.3 串口使用 67
  • 2.5 标准I/O编程 70
  • 2.6 实验内容 79
  • 2.6.1 文件读写及上锁 79
  • 2.6.2 多路复用式串口操作 85
  • 2.7 本章小结 89
  • 2.8 本章习题 90
  • ※第3章 嵌入式Linux多任务编程 91

  • 3.1 Linux下多任务机制的介绍 92
  • 3.1.1 任务 92
  • 3.1.2 进程 92
  • 3.1.3 线程 98
  • 3.2 进程控制编程 99
  • 3.2.1 进程编程基础 99
  • 3.2.2 Linux守护进程 110
  • 3.2.3 Linux僵尸进程 117
  • 3.3 实验内容 123
  • 3.3.1 编写多进程程序 123
  • 3.3.2 编写守护进程 127
  • 3.4 本章小结 129
  • 3.5 本章习题 130
  • ※第4章 嵌入式Linux进程间通信 131

  • 4.1 Linux下进程间通信概述 132
  • 4.2 管道通信 133
  • 4.2.1 管道简介 133
  • 4.2.2 无名管道系统调用 134
  • 4.2.3 标准流管道 137
  • 4.2.4 有名管道(FIFO) 139
  • 4.3 信号通信 142
  • 4.3.1 信号概述 142
  • 4.3.2 信号发送与捕捉 144
  • 4.4 信号量 153
  • 4.4.1 信号量概述 153
  • 4.4.2 信号量编程 154
  • 4.5 共享内存 158
  • 4.6 消息队列 163
  • 4.7 实验内容 168
  • 4.7.1 有名管道通信实验 168
  • 4.7.2 共享内存实验 172
  • 4.8 本章小结 176
  • 4.9 本章习题 177
  • ※第5章 嵌入式Linux多线程编程 178

  • 5.1 多线程编程 179
  • 5.1.1 线程基本编程 179
  • 5.1.2 线程之间的同步与互斥 182
  • 5.1.3 线程属性 187
  • 5.1.4 多线程实验 191
  • 5.2 本章小结 196
  • 5.3 本章习题 196
  • ※第6章 嵌入式Linux网络编程 197

  • 6.1 TCP/IP协议概述 198
  • 6.1.1 TCP/IP的分层模型 198
  • 6.1.2 TCP/IP分层模型的特点 199
  • 6.1.3 TCP/IP核心协议 200
  • 6.2 网络编程基础 203
  • 6.2.1 套接字(socket)概述 203
  • 6.2.2 地址及顺序处理 204
  • 6.2.3 套接字编程 210
  • 6.2.4 编程实例 215
  • 6.3 网络高级编程 218
  • 6.4 广播与组播 225
  • 6.5 实验内容--NTP协议的客户端实现 231
  • 6.5.1 NTP协议的客户端实现 231
  • 6.5.2 ARP断网攻击实验 238
  • 6.6 本章小结 241
  • 6.7 本章习题 242
  • ※第7章 嵌入式Linux设备驱动编程 243

  • 7.1 设备驱动编程基础 244
  • 7.1.1 Linux设备驱动概述 244
  • 7.1.2 Linux内核模块编程 246
  • 7.2 字符设备驱动编程 256
  • 7.2.1 字符设备驱动编写流程 256
  • 7.2.2 重要的数据结构 256
  • 7.2.3 设备驱动程序主要组成 257
  • 7.3 GPIO驱动程序实例 264
  • 7.3.1 GPIO工作原理 264
  • 7.3.2 GPIO驱动程序 266
  • 7.4 按键驱动程序实例 275
  • 7.4.1 Linux设备树 275
  • 7.4.2 中断编程 278
  • 7.4.3 按键工作原理 279
  • 7.4.4 按键驱动程序 280
  • 7.4.5 按键驱动的测试 281
  • 7.5 本章小结 282
  • 7.6 本章习题 282
  • ※第8章 Android应用编程 283

  • 8.1 Android发展简史 284
  • 8.2 Android应用开发环境 286
  • 8.2.1 Android体系架构简介 286
  • 8.2.2 搭建Android应用开发环境 287
  • 8.2.3 编写第一个Android应用程序 291
  • 8.3 Android的四大组件和Intent 295
  • 8.3.1 Activity 295
  • 8.3.2 Service 300
  • 8.3.3 BroadcastReceiver 301
  • 8.3.4 ContentProvider 302
  • 8.3.5 Intent 303
  • 8.4 表明Android常用图形界面组件 305
  • 8.4.1 Android中的布局管理器 305
  • 8.4.2 TextView 308
  • 8.4.3 EditText 309
  • 8.4.4 Button 311
  • 8.4.5 ImageButton 313
  • 8.4.6 ImageView 313
  • 8.4.7 ProgressBar/SeekBar 313
  • 8.5 本章小结 317
  • 8.6 本章习题 317
  • ※第9章 Android播放器项目设计 318

  • 9.1 简易音乐播放器应用的需求 319
  • 9.2 界面设计 321
  • 9.3 播放器控制和播放功能的实现 323
  • 9.4 项目运行 328
  • 9.5 本章小结 340
  • 9.6 本章习题 340