标题：嵌入式Linux系统开发与应用
图书信息
书号：33198ISBN：978-7-111-33198-8作者：康维新印次：1-2责编：王小东 罗子超 范成欣开本：16字数：516千字定价：42.0所属丛书：普通高等教育规划教材装订：平出版日期：2013-01-22[1]
章节目录
目 录 　　前言 　　第1章 嵌入式系统概述 1 　　1.1 嵌入式系统的定义 1 　　1.1.1 嵌入式系统的组成和特点 2 　　1.1.2 嵌入式系统的发展历程及趋势 2 　　1.2 嵌入式系统的体系结构和分类 4 　　1.2.1 嵌入式系统的体系结构 4 　　1.2.2 嵌入式系统的分类 5 　　1.3 嵌入式微处理器 6 　　1.3.1 嵌入式微处理器的分类 6 　　1.3.2 ARM嵌入式处理器的内核和架构 6 　　1.3.3 ARM微处理器结构 14 　　1.3.4 ARM嵌入式处理器的特点 　　及应用领域 15 　　1.3.5 嵌入式处理器的选型原则 15 　　1.4 嵌入式操作系统 16 　　1.4.1 操作系统的概念和分类 16 　　1.4.2 嵌入式Linux操作系统 16 　　1.4.3 Windows CE操作系统 17 　　1.4.4 μC/OS-II操作系统 19 　　1.4.5 Symbian操作系统 20 　　1.4.6 VxWorks操作系统 22 　　1.5 嵌入式系统的设计与开发 23 　　1.5.1 嵌入式系统的设计与开发流程 23 　　1.5.2 嵌入式系统的模拟仿真与调试 23 　　本章小结 25 　　习题与思考题 25 　　第2章 嵌入式Linux开发基础 26 　　2.1 Linux的基本操作 26 　　2.1.1 用户系统相关命令 26 　　2.1.2 文件目录相关命令 29 　　2.1.3 压缩打包相关命令 30 　　2.1.4 网络相关命令 31 　　2.1.5 重定向与管道 31 　　2.1.6 Linux帮助系统 32 　　2.2 Linux下C语言程序设计基础 32 　　2.2.1 VI的使用 33 　　2.2.2 GCC编译器 36 　　2.2.3 GDB调试器的使用 38 　　2.2.4 GNU make和makefile 42 　　2.3 Linux Shell编程 46 　　2.4 Linux进程控制编程 53 　　2.4.1 Linux进程概述 53 　　2.4.2 Linux进程编程 54 　　2.4.3 Linux进程通信 58 　　2.5 Linux下的多线程编程 74 　　2.5.1 线程概述 74 　　2.5.2 线程的基本操作 75 　　2.5.3 线程的访问控制 78 　　2.5.4 “生产者—消费者”实验 86 　　本章小结 88 　　习题与思考题 88 　　第3章 开发环境的建立 89 　　3.1 基于ARM9的博创2410s开发 　　实验平台 89 　　3.2 ARM与宿主机的通信 90 　　3.2.1 串口通信 90 　　3.2.2 以太网接口 91 　　3.2.3 USB接口 92 　　3.2.4 JTAG接口 92 　　3.3 交叉编译环境的建立 92 　　3.3.1 宿主机环境搭建 93 　　3.3.2 交叉编译环境的建立 97 　　3.4 Boot Loader技术 99 　　3.4.1 初识Boot Loader工作原理 99 　　3.4.2 VIVI的代码分析与移植 103 　　3.4.3 U-Boot的分析与移植 106 　　3.5 ARM-Linux内核的编译与移植 113 　　3.5.1 Linux 内核版本与特点 113 　　3.5.2 Linux内核移植 115 　　3.6 根文件系统的建立与烧写 121 　　3.6.1 嵌入式Linux常用的文件系统 122 　　3.6.2 根文件系统的目录结构 125 　　3.6.3 定制系统文件 125 　　3.6.4 NFS文件系统的建立与使用 126 　　3.6.5 Samba服务的建立与使用 128 　　3.6.6 使用BusyBox构建根文件系统 133 　　3.7 建立嵌入式Linux应用程序 136 　　本章小结 139 　　习题与思考题 140 　　第4章 嵌入式Linux网络编程 141 　　4.1 TCP/IP概述 141 　　4.1.1 OSI参考模型与TCP/IP 　　参考模型 141 　　4.1.2 TCP/IP协议族 142 　　4.1.3 TCP和UDP 143 　　4.2 网络编程基础 145 　　4.2.1 socket概述 145 　　4.2.2 socket的基本函数 150 　　4.3 socket应用程序设计 154 　　4.3.1 TCP编程实例 154 　　4.3.2 UDP编程实现 157 　　本章小结 159 　　习题与思考题 159 　　第5章 嵌入式设备驱动 160 　　5.1 Linux下设备驱动概述 160 　　5.1.1 设备的分类 160 　　5.1.2 设备文件 161 　　5.1.3 主设备号与次设备号 161 　　5.1.4 设备文件系统与系统文件系统 162 　　5.2 设备驱动程序的结构 163 　　5.3 字符设备驱动 166 　　5.4 LCD设备驱动 173 　　5.4.1 LCD工作原理 174 　　5.4.2 FrameBuffer机制简介 174 　　5.4.3 LCD驱动开发流程 175 　　5.5 块设备驱动 177 　　5.5.1 块设备驱动程序简介 177 　　5.5.2 块设备驱动程序工作原理 177 　　5.5.3 块设备驱动主要数据结构 178 　　5.5.4 块设备驱动编写流程 181 　　5.6 键盘驱动 182 　　5.6.1 键盘的分类 182 　　5.6.2 键盘工作原理 183 　　5.6.3 键盘驱动程序的实现 184 　　5.7 Linux网络驱动程序 187 　　5.7.1 网络设备概述 187 　　5.7.2 网络设备的加载方法 188 　　5.7.3 重要数据结构 190 　　5.7.4 网络设备的初始化 192 　　5.7.5 打开和关闭网络设备 192 　　5.7.6 发送过程的实现 192 　　5.7.7 接收过程的实现 193 　　5.7.8 中断控制 194 　　5.7.9 NE2000兼容网卡驱动 　　程序的移植 195 　　5.8 触摸屏接口设计与Linux驱动编程 198 　　5.8.1 触摸屏接口概述 198 　　5.8.2 触摸屏驱动的体系接口 200 　　5.8.3 触摸屏的Linux驱动程序分析 201 　　5.8.4 触摸屏的测试与校准 207 　　本章小结 210 　　习题与思考题 210 　　第6章 Qt图形编程 211 　　6.1 嵌入式GUI简介 211 　　6.1.1 Qt/Embedded 211 　　6.1.2 MiniGUI 212 　　6.1.3 Microwindows 212 　　6.1.4 OpenGUI 213 　　6.1.5 常见GUI的参数比较 213 　　6.2 Qt/Embedded开发基础 214 　　6.2.1 Qt/Embedded介绍 214 　　6.2.2 Qt/Embedded的安装与 　　环境变量设置 216 　　6.2.3 Qt/Embedded信号和插槽机制 217 　　6.2.4 QtDesigner的使用 221 　　6.2.5 Qt/Embedded窗口实例 222 　　6.3 基于Qt技术的Qtopia 225 　　6.3.1 基于Qt技术的Qtopia系统 　　平台 226 　　6.3.2 Qtopia介绍及其开发环境的 　　建立 226 　　6.3.3 Qt/Embedded和Qtopia下 　　应用程序的实现 228 　　6.4 Qt编程综合实验 231 　　6.4.1 基于PC的“Hello World”程序 232 　　6.4.2 发布Qt/Embedded程序 　　到目标板 239 　　本章小结 241 　　习题与思考题 241 　　第7章 嵌入式Linux综合设计 　　项目实例 242 　　7.1 网络视频监控系统 242 　　7.2 车载信息娱乐系统 244 　　7.2.1 实例说明 244 　　7.2.2 设计思路分析 245 　　7.2.3 硬件电路设计 246 　　7.2.4 软件设计 248 　　7.3 基于嵌入式平台的电梯监控系统 251 　　7.3.1 系统概述 251 　　7.3.2 系统设计 253 　　7.3.3 系统实现 256 　　7.4 无线点菜系统 266 　　7.4.1 设计思路分析 266 　　7.4.2 系统硬件设计 267 　　7.4.3 系统软件设计 267 　　7.4.4 总结 278 　　7.5 基于嵌入式与Web Service的 　　智能家居系统 278 　　7.5.1 系统概述 278 　　7.5.2 系统设计 280 　　7.5.3 系统实现 296 　　附录 309 　　附录A S3C2410X引脚及信号定义 309 　　附录B 国外高校嵌入式系统课程的 　　体系结构 323 　　参考文献 327 　　
[1]
基本信息
作者： 金伟正  嵌入式Linux系统开发与应用丛书名： 电子信息与电气学科规划教材
出版社：电子工业出版社
ISBN：9787121131530
上架时间：2011-4-28
出版日期：2011 年4月
开本：16开
页码：309
版次：1-1
内容简介
嵌入式系统技术已被广泛地应用于军事、工业控制系统、信息家电、通信设备、医疗仪器、智能仪器仪表等众多领域。linux是一个优秀的操作系统，嵌入式操作系统是近年来的热门话题。嵌入式系统原理与应用对大学生、研究生今后的工作科研有着很重要的作用，也是科研人员、工程人员必备的知识。
《嵌入式linux系统开发与应用》在介绍嵌入式操作系统与一般原理基础上，详细地论述了嵌入式系统开发过程中的主要技术问题，着重介绍主流的、广受欢迎的linux操作系统的设计与实现，包括linux的内核开发原理。《嵌入式linux系统开发与应用》注重原理讲解和实验相结合，培养学生的理论和实际动手能力。全书分为13章，内容包括嵌入式系统概论、linux基础知识、linux编程环境、linux外壳程序编程、构建嵌入式linux开发平台、 arm调试环境、嵌入式bootloader技术、linux内核配置、arm-linux内核分析和移植、嵌入式文件系统、linux多线程编程、嵌入式web设计、嵌入式linux的gui等内容。
《嵌入式linux系统开发与应用》内容丰富，图文并茂，语言流畅，叙述清楚，通俗易懂，注重理解与实例，可操作性强，大部分章节配有实例和源程序。《嵌入式linux系统开发与应用》可作为计算机学科、电子信息及电气学科等相关专业(电子工程、通信工程、计算机、信号处理等专业)本科生、研究生及工程硕士的嵌入式课程的教材，也可供对嵌入式系统感兴趣的技术人员参考使用。
目录
《嵌入式linux系统开发与应用》
第1章 嵌入式系统概论
1.1 嵌入式系统概述
1.1.1 嵌入式系统的历史
1.1.2 什么是嵌入式系统
1.1.3 嵌入式系统的特点
1.1.4 嵌入式处理器
1.1.5 嵌入式系统的应用领域
1.1.6 嵌入式系统的发展趋势
1.2 嵌入式系统开发
1.2.1 需求分析和概要设计
1.2.2 嵌入式系统中的硬件
1.2.3 嵌入式系统中的软件
1.2.4 嵌入式系统软件开发的一般过程
1.2.5 嵌入式应用程序的开发
1.3 嵌入式操作系统
1.3.1 嵌入式操作系统概述
1.3.2 嵌入式操作系统的分类
1.3.3 嵌入式操作系统的特点
1.3.4 典型的嵌入式操作系统
.1.3.5 嵌入式操作系统的选择
1.4 linux操作系统
1.4.1 linux操作系统概述
1.4.2 linux的重要性
1.4.3 嵌入式linux系统开发平台
1.4.4 linux的发展前景
1.5 思考题
第2章 linux基础知识
2.1 认识linux操作系统
2.1.1 linux简明历史
2.1.2 linux系统的特点和组成
2.1.3 linux的开发过程
2.2 基本操作命令
2.2.1 字符界面简介
2.2.2 常用命令简介
2.3 linux文件与目录系统
2.3.1 linux文件系统类型介绍
2.3.2 linux目录系统
2.4 shell简介
2.5 网络服务简介
2.5.1 linux支持的网络协议
2.5.2 linux的网络服务
2.6 思考题
第3章 linux编程环境
3.1 linux编程环境介绍
3.1.1 系统平台环境
3.1.2 开发工具环境
3.1.3 基于文本模式的开发平台
3.1.4 集成开发平台eclipse+cdt
3.1.5 文档帮助环境
3.2 常用编辑器
3.2.1 vim编辑器
3.2.2 emacs编辑器
3.3 gcc编译器的使用
3.3.1 gcc的主要选项
3.3.2 gnu c扩展简介
3.4 gnu make管理项目
3.4.1 make简介
3.4.2 编写makefile文件的规则
3.5 gdb调试
3.5.1 gdb命令介绍
3.5.2 gdb调试例程
3.5.3 基于gdb的图形界面调试工具
3.6 思考题
第4章　linux外壳程序编程
4.1 创建和运行外壳程序
4.1.1 创建外壳程序
4.1.2 运行外壳程序
4.2 使用外壳变量
4.2.1 给变量赋值
4.2.2 读取变量的值
4.2.3 位置变量和其他系统变量
4.2.4 引号的作用
4.3 数值运算命令
4.4 条件表达式
4.4.1 if表达式
4.4.2 case表达式
4.5 循环语句
4.5.1 for语句
4.5.2 while语句
4.5.3 until语句
4.6 shift命令
4.7 select语句
4.8 repeat语句
4.9 函数
4.10 shell应用举例
4.11 思考题
第5章 构建嵌入式linux开发平台
5.1 gnu跨平台开发工具链
5.2 嵌入式linux内核
5.3 嵌入式linux根文件系统
5.4 bootloader简介
5.5 思考题
第6章 arm调试环境
6.1 arm 调试工具简介
6.1.1 jtag仿真器
6.1.2 multi-ice server
6.2 ads软件调试工具
6.2.1 使用metrowork codewarrior for arm developer suite
6.2.2 使用realview debugger
6.2.3 使用axd debugger
第7章 嵌入式bootloader技术
7.1 bootloader的基本概念
7.1.1 bootloader所支持的cpu和嵌入式板
7.1.2 bootloader的安装点和启动过程
7.1.3 bootloader的模式
7.1.4 bootloader与主机之间的通信方式
7.2 bootloader典型结构框架
7.2.1 bootloader总体流程
7.2.2 bootloader的stage1
7.2.3 bootloader的stage2
7.3 典型bootloader分析和移植
7.3.1 u-boot
7.3.2 blob
7.4 其他bootloader介绍
7.4.1 redboot
7.4.2 armboot
7.4.3 ppcboot
7.4.4 vivi
7.4.5 yamon
7.5 思考题
第8章 linux内核配置
8.1 内核概述
8.2 嵌入式linux内核代码结构
8.3 内核开发的特点
8.3.1 没有libc库
8.3.2 gnu c
8.3.3 没有内存保护机制
8.3.4 不要轻易在内核中使用浮点数
8.3.5 容积小而固定的栈
8.3.6 同步和并发
8.3.7 可移植性的重要性
8.4 嵌入式linux内核的配置
8.4.1 makefile
8.4.2 配置文件
8.4.3 linux内核配置选项
8.5 配置举例
8.6 思考题
第9章 arm-linux内核分析和移植
9.1 arm微处理器
9.1.1 risc体系结构
9.1.2 arm微处理器的类型
9.1.3 arm微处理器的寄存器结构
9.1.4 arm微处理器的指令结构
9.2 arm-linux内存管理
9.2.1 内存管理单元mmu
9.2.2 arm-linux的存储管理机制
9.2.3 arm-linux存储机制的建立
9.2.4 arm-linux对进程虚拟空间的管理
9.3 arm-linux进程管理与调度
9.3.1 task_struct数据结构
9.3.2 linux进程的创建、执行和消亡
9.3.3 arm_linux的进程调度
9.4 arm-linux中断与中断处理
9.4.1 linux处理中断概述
9.4.2 arm体系程序的执行流程
9.4.3 arm的异常中断种类
9.4.4 arm处理器对异常中断的响应及返回过程
9.5 arm-linux系统启动与初始化
9.5.1 内核数据结构的初始化
9.5.2 外设初始化
9.5.3 init进程和linittab文件
9.5.4 rc启动脚本
9.5.5 shell的启动
9.6 linux驱动程序简介
9.6.1 设备的分类
9.6.2 设备号
9.6.3 设备节点
9.6.4 用户空间和内核空间
9.7 linux模块化机制
9.7.1 linux的模块化
9.7.2 模块的载入
9.7.3 模块的卸载
9.8 arm-linux内核裁减
9.9 嵌入式linux的移植
9.9.1 移植准备
9.9.2 移植步骤
9.9.3 配置内核选项
9.9.4 修改kernel文件系统部分代码
9.10 思考题
第10章 嵌入式文件系统
10.1 linux文件系统结构与特征
10.1.1 linux文件系统概述
10.1.2 linux文件系统布局
10.1.3 linux支持的文件系统
10.2 嵌入式文件系统简介
10.2.1 nor flash与nand flash介绍
10.2.2 mtd介绍
10.2.3 cramfs文件系统简介
10.2.4 romfs文件系统简介
10.2.5 嵌入式文件系统jffs简介
10.2.6 嵌入式文件系统yaffs简介
10.3 构建根文件系统
10.4 根文件系统设置
10.5 busybox
10.5.1 busybox简介
10.5.2 使用busybox构建根文件系统
10.6 嵌入式文件系统的设计
10.6.1 文件系统格式的选型的基本策略
10.6.2 混合型文件系统的设计
10.7 思考题
第11章 嵌入式web服务器设计
11.1 tcp/ip协议
11.1.1 tcp/ip协议栈
11.1.2 tcp/ip协议栈的数据流向
11.1.3 tcp协议与udp协议
11.2 http协议
11.2.1 http协议的方法
11.2.2 http协议消息头
11.2.3 http协议使用举例
11.2.4 内核网络服务
11.3 socket编程基础
11.3.1 socket描述
11.3.2 socket描述符
11.4 嵌入式web服务器系统结构
11.4.1 协议标准
11.4.2 瘦web服务器
11.4.3 嵌入式应用接口技术
11.4.4 实现形式
11.4.5 emit
11.4.6 rompager
11.5 web服务器构建
11.6 思考题
第12章 嵌入式linux的gui
12.1 嵌入式gui简介
12.1.1 minigui
12.1.2 qt/embedded
12.1.3 nano-x
12.1.4 opengui
12.2 minigul程序设计基础
12.2.1 minigui v1.3.3软件包
12.2.2 minigui的特点
12.2.3 窗口处理过程
12.2.4 minigui的线程机制
12.2.5 minigui的体系结构
12.2.6 minigui的底层引擎
12.2.7 minigui的三种运行模式
12.2.8 minigui移植
12.3 qt/embedded程序设计基础
12.3.1 qt/embedded的图形引擎实现基础
12.3.2 qt/embedded的事件驱动基础
12.3.3 qt/embedded底层支持分析
12.3.4 qt/embedded的移植
12.4 思考题
参考文献