《嵌入式Linux开发详解 基于AT91RM9200和Linux 2.6》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:刘庆敏,张小亮编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2010
  • ISBN:9787512400719
  • 页数:246 页
图书介绍:本书共分为7章。第1、2章介绍嵌入式系统和Linux的基础知识。第3章开始,从实践的角度分层次介绍嵌入式Linux开发的流程和关键技术。其中,第3章介绍硬件平台;第4章介绍Boot Loader的基础理论,对U-boot的移植、代码分析、关键技术情景分析等进行了深入探讨;第5章介绍了Linux内核移植需要具备的知识,重点分析了内核映像格式以及Boot Loader与内核的通信机制;第6章在介绍嵌入式文件系统的基础上,设计并实现了一个嵌入式混合文件系统;第7章介绍了嵌入式开发环境的搭建,并简单介绍了一个数据网关的实例。

第1章 嵌入式系统设计概述 1

1.1 嵌入式系统的定义 1

1.1.1 嵌入式系统的发展历史 2

1.1.2 嵌入式系统的组成 3

1.1.3 嵌入式系统的特点 4

1.2 嵌入式系统设计概述 5

1.3 嵌入式系统的学习方法 6

本章总结 6

第2章 磨刀不误砍柴工 7

2.1 Linux概述 7

2.2 Linux的安装 8

2.2.1 创建一个新的虚拟机 9

2.2.2 在虚拟机上安装Red Hat Linux 9 11

2.3 Red Hat Linux 9的初步设置 18

2.3.1 VMware tools的安装 20

2.3.2 网络设置 22

2.4 使用shell提高效率 24

2.4.1 shell初始化文件配置 24

2.4.2 常用的脚本 26

2.5 学习开发工具的使用 30

2.5.1 Vim高级技巧 30

2.5.2 编译流程 32

2.5.3 工程管理器make 37

2.6 嵌入式Linux常用的命令 42

2.6.1 Linux基本命令 42

2.6.2 arm-linux-系列 47

2.6.3 diff和patch的使用 52

本章总结 57

第3章 走马观花 58

3.1 本书基于的硬件平台 58

3.1.1 ARM概述 59

3.1.2 ARM命名规则 60

3.1.3 AT91 RM9200简介 61

3.1.4 K9I开发板概述 63

3.2 让系统先跑起来 65

3.2.1 准备工作 65

3.2.2 下载Boot Loader 71

3.2.3 内核和文件系统 72

3.2.4 搭建交叉编译环境 75

3.2.5 应用程序测试 76

3.3 深入理解硬件平台 78

3.3.1 最小系统组成 78

3.3.2 时钟系统 78

3.3.3 NVM 82

3.3.4 JTAG接口 87

本章总结 91

第4章 Boot Loader 92

4.1 准备工作 92

4.1.1 整合资源 92

4.1.2 代码阅读工具 93

4.2 Boot Loader概述 94

4.2.1 Boot Loader概念 94

4.2.2 Boot Loader在嵌入式系统中的必要性 95

4.2.3 Boot Loader的启动流程 96

4.2.4 Boot Loader如何固化 97

4.3 AT91RM9200的启动机制 98

4.3.1 片内启动 98

4.3.2 片外启动 101

4.3.3 3种启动场景 102

4.4 Boot Loader的移植 103

4.4.1 Loader和Boot 104

4.4.2 U-boot的移植 108

4.5 U-boot的3种启动方式无关性设计 114

4.5.1 背景介绍 115

4.5.2 重映射的理论模型 115

4.5.3 U-boot的不合理性分析 116

4.5.4 解决方案 116

4.6 Boot Loader深入分析 119

4.6.1 将ELF文件转换为BIN 119

4.6.2 U-boot源代码分析 123

4.6.3 U-boot的命令机制 129

4.6.4 U-boot的source实现 133

本章总结 139

第5章 Linux内核移植 140

5.1 嵌入式操作系统的选择 140

5.2 Linux 2.6介绍 142

5.3 Makefile体系 144

5.4 内核的移植 150

5.4.1 基本移植 151

5.4.2 出现的问题 155

5.5 内核映像格式 159

5.5.1 生成过程 160

5.5.2 zImage自解压引导过程 163

5.6 Boot Loader与内核的通信机制 168

5.6.1 基本模型 168

5.6.2 tagged list组织方式 169

5.6.3 Boot Loader实现 173

5.6.4 Linux内核实现 179

本章总结 186

第6章 文件系统 187

6.1 概述 187

6.2 库 191

6.2.1 库的概述 191

6.2.2 库的命名 191

6.2.3 库的制作方法 192

6.3 一个最简单的根文件系统 193

6.4 基本功能完备的根文件系统 201

6.4.1 修改现有的文件系统映像 201

6.4.2 从零开始制作根文件系统 204

6.4.3 网络功能 213

6.5 嵌入式混合文件系统——EFS 226

6.5.1 问题提出 226

6.5.2 系统设计方案 226

6.5.3 组件实现 229

6.5.4 系统集成设计 231

6.5.5 辅映像制作 236

本章总结 237

第7章 应用程序 238

7.1 应用开发环境的建立 238

7.1.1 嵌入式Linux的GDB调试环境建立 238

7.1.2 嵌入式Linux的NFS开发环境建立 239

7.1.3 嵌入式Linux的TFTP开发环境建立 241

7.1.4 嵌入式Linux的DHCP开发环境建立 242

7.2 串行/网络数据网关 244

7.2.1 基本原理 244

7.2.2 数据帧的设计 245

7.2.3 网络异常情况的处理 245

本章总结 246

参考文献 247