《嵌入式系统开发实用教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张同光主编;赵芳,马玉磊,李林涛,王芸副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302329176
  • 页数:421 页
图书介绍:随着物联网时代的到来,嵌入式技术越发的突出出来,因此,嵌入式软件开发的相关教材的市场需求也很大。本书可作为本科院校和高职高专院校计算机和电子类专业学生的教材,也可作为相关工程技术人员进行嵌入式系统软件开发的教材。

第1章 嵌入式系统开发技术基础 1

1.1 嵌入式系统概述 1

1.1.1 嵌入式系统的定义、分类与特点 2

1.1.2 嵌入式系统的组成 4

1.1.3 嵌入式系统的应用领域及发展趋势 5

1.2 嵌入式处理器 8

1.2.1 嵌入式处理器的分类与特点 8

1.2.2 ARM微处理器简介 10

1.2.3 ARM微处理器基础 12

1.2.4 ARM微处理器的指令系统 25

1.2.5 ARM内存管理单元 48

1.3 嵌入式操作系统 49

1.3.1 嵌入式操作系统的种类、特点与发展 50

1.3.2 嵌入式Linux概述 54

1.4 嵌入式系统的结构、开发流程、开发要点 56

1.4.1 嵌入式系统的结构 56

1.4.2 开发模式及开发流程 57

1.4.3 嵌入式Linux系统开发要点 59

本章小结 60

习题1 60

第2章 嵌入式系统开发环境 62

2.1 嵌入式系统开发环境简介 62

2.2 OK2440-Ⅱ开发平台介绍 63

2.2.1 OK2440-Ⅱ开发板构成 63

2.2.2 OK2440-Ⅱ开发板硬件资源 64

2.2.3 实例——OK2440-Ⅱ开发板的基本使用 66

2.2.4 实例——引导Windows CE 80

2.2.5 实例——引导Linux 83

2.3 交叉编译的基本知识 88

2.3.1 ARM编译环境 89

2.3.2 ARM交叉编译工具链 89

2.3.3 嵌入式软件开发流程 90

2.4 实例——创建交叉编译环境 92

2.5 实例——QEMU、GDB的安装及简单使用 97

2.5.1 QEMU的安装 98

2.5.2 GDB的安装 98

2.5.3 运行ARM汇编程序 99

2.5.4 调试ARM汇编程序 99

2.6 SkyEye的安装及简单使用 102

2.6.1 SkyEye简介 103

2.6.2 实例——安装SkyEye-1.2.6 105

2.6.3 实例——使用SkyEye-1.2.6 110

2.7 实例——TFTP服务器的搭建 115

2.8 实例——NFS服务器的搭建 117

本章小结 119

习题2 120

第3章 嵌入式软件开发基础 121

3.1 Linux C语言程序设计基础知识 121

3.1.1 程序安装目录、头文件、库文件 121

3.1.2 gcc编译器 123

3.1.3 实例——使用gcc编译器 129

3.1.4 GNU make工具和Makefile文件 133

3.1.5 实例——使用make及Makefile文件 136

3.1.6 glibc 156

3.1.7 gdb 156

3.1.8 实例——使用gdb调试器 158

3.1.9 Binutils工具包 165

3.2 汇编分类 169

3.2.1 AT&T与Intel汇编语言的比较 170

3.2.2 ARM ASM与GNU ARM ASM 173

3.3 GNU ARM汇编语法 174

3.3.1 简单的GNU ARM汇编源程序举例 175

3.3.2 GNU ARM汇编程序中的语句格式 177

3.3.3 GNU ARM汇编源程序中的标号 178

3.3.4 GNU ARM汇编程序中的分段 179

3.3.5 GNU ARM汇编程序中定义入口点 180

3.3.6 GNU ARM汇编程序中的宏定义 180

3.3.7 GNU ARM汇编程序中的常数 181

3.3.8 GNU ARM汇编程序中的常用伪操作 181

3.3.9 GNU ARM汇编程序中的特殊字符和语法 183

3.3.10 ATPCS 184

3.4 ARM汇编&C语言混合编程 186

3.4.1 C内联ARM汇编 186

3.4.2 模块化程序设计 194

3.4.3 ARM汇编&C语言混合编程 195

3.5 x86汇编&C语言混合编程 199

3.6 ELF文件的格式 201

3.6.1 目标文件的格式 203

3.6.2 可执行文件的格式 208

3.7 GNU-ld链接脚本 213

本章小结 216

习题3 217

第4章 引导加载程序BootLoader的移植 219

4.1 BootLoader 219

4.1.1 BootLoader概述 220

4.1.2 BootLoader的工作流程 221

4.2 常见BootLoader介绍 225

4.3 U-Boot-1.1.4源代码分析 227

4.3.1 U-Boot的代码结构 228

4.3.2 U-Boot的启动流程 229

4.3.3 cpu/arm920t/start.S 229

4.3.4 lowlevel_init.S 238

4.3.5 lib_arm/board.c 241

4.3.6 init_sequence[] 247

4.3.7 common/main.c 256

4.4 移植U-Boot-1.1.4到S3C2440A平台 260

4.4.1 U-Boot的配置与编译 260

4.4.2 实例——移植U-Boot到S3C2440A平台 273

4.4.3 实例——烧写U-Boot到FLASH 274

4.5 实例——使用U-Boot 275

4.5.1 U-Boot的常用命令 277

4.5.2 U-Boot的环境变量 283

4.5.3 U-Boot与内核的关系 284

4.5.4 添加U-Boot命令 290

4.6 实例——基于SkyEye的移植三部曲之一:BootLoader 293

本章小结 310

习题4 311

第5章 Linux在ARM平台的移植 312

5.1 Linux内核 312

5.1.1 Linux内核简介 312

5.1.2 Linux内核源代码结构 315

5.1.3 Linux内核源代码的配置 316

5.1.4 Makefile、Kconfig与.config的关系 317

5.2 Linux内核的移植 318

5.3 zImage内核映像的生成过程 322

5.4 实例——基于SkyEye的移植三部曲之二:Kernel 326

5.5 Linux内核启动流程分析 342

本章小结 342

习题5 343

第6章 根文件系统 344

6.1 嵌入式Linux的文件系统 344

6.1.1 基于FLASH的文件系统 345

6.1.2 基于RAM的文件系统 350

6.1.3 网络文件系统NFS 351

6.1.4 Linux根文件系统 353

6.1.5 Linux根文件系统的目录结构 354

6.2 Linux系统的引导过程 355

6.3 建立根文件系统 363

6.3.1 实例——用BusyBox建立文件系统 363

6.3.2 实例——建立JFFS2根文件系统 370

6.3.3 实例——建立Ramdisk文件系统 374

6.3.4 实例——建立Cramfs文件系统 381

6.3.5 实例——建立romfs文件系统 382

6.3.6 实例——建立YAFFS2根文件系统 384

6.4 实例——基于SkyEye的移植三部曲之三:RootFS 387

本章小结 393

习题6 393

第7章 嵌入式Linux设备驱动程序开发 395

7.1 Linux设备驱动程序的相关知识 395

7.1.1 设备驱动程序的概念 396

7.1.2 设备类型 396

7.1.3 Linux设备驱动程序概述 397

7.1.4 设备驱动程序中关键的数据结构 398

7.2 Linux设备驱动程序设计 401

7.2.1 实例——动态加载模块 401

7.2.2 实例——简单字符驱动程序 405

本章小结 411

习题7 411

第8章 嵌入式Linux的图形用户接口 412

8.1 嵌入式Linux中的GUI简介 412

8.2 Qt/Embedded 412

8.3 MicroWindows 414

8.4 MiniGUI 416

8.5 OpenGUI 418

本章小结 419

习题8 419

附录 资源及学习网站 420

参考文献 421