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

  • 购买积分:12 如何计算积分?
  • 作  者:张同光编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121093128
  • 页数:307 页
图书介绍:本书以嵌入式软件的基本开发技术为主线,以ARM+Linux为基本架构,系统讲述了嵌入式软件开发的基本知识、基本流程、基本方法。本书共9章,主要内容包括:嵌入式系统开发技术基础、嵌入式软件开发基础、嵌入式系统开发环境、引导装载程序BootLoader的移植、Linux在ARM平台的移植、根文件系统、嵌入式Linux设备驱动程序开发、嵌入式Linux的图形用户接口、基于SkyEye的嵌入式系统开发。本书的课件及相关资料可以在www.huaxin.edu.cn免费获得。

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

1.1 嵌入式系统概述 1

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

1.1.2 嵌入式系统的组成 2

1.1.3 嵌入式系统的应用领域 3

1.2 嵌入式处理器 3

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

1.2.2 ARM微处理器简介 5

1.2.3 ARM微处理器基础 6

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

1.2.5 ARM内存管理单元 32

1.3 嵌入式操作系统 33

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

1.3.2 嵌入式Linux概述 35

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

1.4.1 嵌入式系统的结构 36

1.4.2 开发模式及开发流程 37

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

本章小结 40

习题1 40

第2章 嵌入式软件开发基础 42

2.1 Linux C语言程序设计基础知识 42

2.1.1 程序安装目录、头文件、库文件 43

2.1.2 gcc编译器 44

2.1.3 GNU make工具和Makefile文件 49

2.1.4 glibc 51

2.1.5 gdb 52

2.1.6 Binutils工具集 53

2.2 实例——使用gcc编译器 56

2.3 实例——使用make及Makefile文件 63

2.4 实例——使用gdb调试器 78

2.5 ARM汇编语言程序设计 89

2.5.1 ARM汇编伪指令介绍 89

2.5.2 模块化程序设计 97

2.6 混合语言编程 99

本章小结 104

习题2 104

第3章 嵌入式系统开发环境 106

3.1 嵌入式系统开发环境简介 106

3.2 OK2440-Ⅱ开发平台介绍 106

3.2.1 OK2440-Ⅱ开发板构成 106

3.2.2 OK2440-Ⅱ开发板硬件资源 108

3.2.3 实例——OK2440-Ⅱ开发板的基本使用 109

3.2.4 实例——引导Windows CE 119

3.2.5 实例——引导Linux 121

3.3 交叉编译的基本知识 124

3.4 实例——创建交叉编译环境 127

3.5 实例——TFTP服务器的搭建 131

3.6 实例——NFS服务器的搭建 132

本章小结 134

习题3 134

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

4.1 BootLoader 135

4.1.1 BootLoader概述 136

4.1.2 BootLoader的工作流程 137

4.2 常见BootLoader介绍 140

4.3 实例——引导程序U-Boot的移植 142

4.3.1 U-Boot的代码结构 142

4.3.2 U-Boot的启动流程 143

4.3.3 U-Boot的配置与编译 156

4.3.4 实例——移植U-Boot到S3C2410A平台 165

4.3.5 实例——烧写U-Boot到Flash 165

4.4 实例——使用U-Boot 166

4.4.1 U-Boot的常用命令 167

4.4.2 U-Boot的环境变量 172

4.4.3 U-Boot与内核的关系 172

4.4.4 添加U-Boot命令 176

本章小结 177

习题4 177

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

5.1 Linux内核 179

5.1.1 Linux内核简介 179

5.1.2 Linux内核源代码结构 181

5.1.3 Linux内核的配置 182

5.2 实例——Linux内核的移植 183

5.3 Linux内核启动流程分析 187

本章小结 203

习题5 203

第6章 根文件系统 204

6.1 嵌入式Linux的文件系统 204

6.1.1 基于Flash的文件系统 205

6.1.2 基于RAM的文件系统 209

6.1.3 网络文件系统NFS 210

6.1.4 Linux根文件系统 212

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

6.2 Linux系统的引导过程 213

6.3 建立根文件系统 220

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

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

6.3.3 实例——建立YAFFS2根文件系统 226

6.3.4 实例——建立Ramdisk文件系统 228

6.3.5 实例——建立Cramfs文件系统 233

6.3.6 实例——建立romfs文件系统 234

本章小结 235

习题6 236

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

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

7.1.1 设备驱动程序的概念 237

7.1.2 设备类型 238

7.2 裸机底层驱动设计 239

7.2.1 复位向量表 239

7.2.2 中断服务程序 240

7.3 Linux设备驱动程序设计 246

7.3.1 Linux设备驱动程序概述 246

7.3.2 设备驱动程序中关键的数据结构 247

7.3.3 实例——动态加载驱动模块 249

7.5 实例——LED驱动程序的设计 251

7.6 实例——AD驱动程序的设计 253

本章小结 255

习题7 256

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

8.1 嵌入式Linux中的GUI简介 257

8.2 Qt/Embedded 257

8.3 Microwindows 259

8.4 MiniGUI 261

8.5 OpenGUI 263

本章小结 264

习题8 264

第9章 基于SkyEye的嵌入式系统开发 265

9.1 SkyEye简介 265

9.2 实例——安装SkyEye 268

9.3 实例——BootLoader的移植 271

9.4 实例——Linux的移植 281

9.5 实例——根文件系统的移植 291

本章小结 299

习题9 299

附录A Linux-2.6.29.1配置菜单的详细选项 300

附录B 资源及学习网站 306

参考文献 307