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

  • 购买积分:11 如何计算积分?
  • 作  者:陈渝编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:9787111243403
  • 页数:287 页
图书介绍:本书是嵌入式系统的实验教程,主要关注基于ARM的LINUX嵌入系统的开发。

第1章 嵌入式系统教学与学习概述 1

1.1 嵌入式系统的教学和学习 1

1.1.1 嵌入式系统教学和学习的特点 1

1.1.2 嵌入式系统的知识结构 3

1.1.3 嵌入式系统的开发流程 6

1.2 系统的学习与使用 7

1.2.1 基于主机环境下的嵌入式开发 7

1.2.2 基于开发板的嵌入式开发 9

1.2.3 基于仿真环境的嵌入式开发 10

1.3 系统的组成和构建 11

1.3.1 基于具体硬件环境的系统组成 11

1.3.2 基于仿真环境的系统组成 12

第2章 嵌入式Linux开发环境构建 15

2.1 GCC工具的使用 15

2.1.1 GCC二进制工具的安装 15

2.1.2 GCC交叉编译工具集合的使用 15

2.2 Makefiile的使用 31

2.2.1 make工具 31

2.2.2 依赖关系实例 32

2.2.3 编译实例(隐含规则) 35

2.2.4 编译实例(指定依赖) 37

2.3 开发环境设置 40

2.3.1 串口终端工具 41

2.3.2 TFTP 44

2.3.3 NFS 46

2.4 实验指导 46

2.4.1 GCC程序生成实验 46

2.4.2 Makefiile实验 47

第3章 嵌入式系统的调试技术 49

3.1 嵌入式系统的调试方法和工作 49

3.2 嵌入式系统的硬件调试技术 50

3.2.1 在线仿真器 50

3.2.2 片上调试器 51

3.2.3 JTAG技术 52

3.3 嵌入式系统的源代码调试技术 55

3.3.1 GDB调试在嵌入式系统中的应用 55

3.3.2 远程GDB调试 55

3.3.3 GDB的安装与使用 57

3.3.4 使用gdbstub实现调试用户程序 58

3.3.5 使用gdbserver调试 60

3.4 内核级源代码调试技术 67

3.4.1 基本的调试方法printk() 67

3.4.2 内核消息的获取与记录 69

3.4.3 KGDB的调试 69

3.4.4 KDB的调试 70

3.4.5 printk、KGDB和KDB三种调试工具的比较 70

3.5 实验指导 71

3.5.1 GDB程序生成实验 71

3.5.2 GDB程序远程调试实验 71

第4章 嵌入式系统的仿真环境 73

4.1 嵌入式系统仿真环境概述与原理 73

4.1.1 仿真环境概述 73

4.1.2 嵌入式系统仿真环境的特点 74

4.1.3 关于嵌入式系统的集成开发环境 74

4.2 SkyEye硬件模拟平台 75

4.2.1 SkyEye介绍 75

4.2.2 SkyEye系统的原理 77

4.2.3 SkyEye的设计实现 79

4.3 SkyEye的使用 80

4.3.1 SkyEye的安装 80

4.3.2 SkyEye的配置文件 80

4.3.3 SkyEye程序的执行 84

4.4 SkyEye的源代码编译 84

4.4.1 SkyEye的目录结构 84

4.4.2 SkyEye的编译 85

4.4.3 SkyEye的改动与扩展 86

4.5 实验指导 95

4.5.1 SkyEye仿真实验 95

4.5.2 SkyEye编译实验 95

第5章 嵌入式系统的Bootloader 97

5.1 嵌入式Bootloader技术 97

5.1.1 Bootloader的开发要点 97

5.1.2 Bootloader的结构 99

5.1.3 Bootloader的实现 101

5.2 U-Boot在嵌入式系统中的使用 104

5.2.1 U-Boot概述 104

5.2.2 U-Boot的设计特点及结构 105

5.2.3 U-Boot的编译和使用 109

5.2.4 U-Boot的启动流程 114

5.2.5 U-Boot的扩展 120

5.2.6 使用SkyEye调试U-Boot 125

5.3 实验指导 128

5.3.1 U-Boot的编译和使用实验 128

5.3.2 U-Boot的扩展 128

第6章 嵌入式Linux操作系统构建 130

6.1 ARMLinux内核的配置和编译 130

6.1.1 基于Linux2.6内核的ARM系统概述 130

6.1.2 内核的配置 132

6.1.3 内核的编译 140

6.2 ARMLinux文件系统的制作 141

6.2.1 C语言库的制作 141

6.2.2 Busybox 144

6.2.3 根文件系统的生成 146

6.3 ARMμClinux的配置和编译 147

6.3.1 μClinux发布包的结构 147

6.3.2 μClinux配置 149

6.3.3 μClinux内核及应用程序编译 156

6.4 基于SkyEye的Linux系统调试 157

6.4.1 ARMLinux系统的调试 157

6.4.2 ARMμCLinux系统的调试 160

6.4.3 使用GDB调试内核 164

6.5 实验指导 166

6.5.1 基于Linux2.6内核的ARM编译实验 166

6.5.2 使用BusyBox生成文件系统及SkyEye调试实验 167

6.5.3 ARMμClinux系统的编译和调试实验 168

第7章 Linux驱动程序开发 169

7.1 Linux内存设备驱动 169

7.1.1 Linux简单字符设备驱动的结构 169

7.1.2 Linux内存设备驱动的实现 171

7.1.3 内存设备驱动的使用及SkyEye调试 178

7.2 串口驱动 180

7.2.1 Linux串口驱动的结构 180

7.2.2 基于PXA27x的串口驱动实现 185

7.2.3 串口驱动调试 194

7.3 FrameBuffer显示驱动 196

7.3.1 LinuxFrameBuffer驱动的结构 196

7.3.2 基于PXA2xx的FrameBuffer驱动实现 199

7.3.3 FrameBuffer驱动调试 211

7.4 网络驱动程序 214

7.4.1 Linux网络驱动的结构 214

7.4.2 CS89x0网卡驱动实现 217

7.4.3 Linux网卡驱动的调试 223

7.5 内存盘驱动 224

7.5.1 Linux块设备驱动的结构 224

7.5.2 ramdisk驱动实现 229

7.5.3 内存盘驱动的调试 235

7.6 实验指导 235

7.6.1 内存设备驱动SkyEye调试实验 235

7.6.2 串口驱动SkyEye调试实验 236

7.6.3 FrameBuffer驱动SkyEye调试实验 237

7.6.4 网卡驱动SkyEye调试实验 237

7.6.5 内存盘驱动SkyEye调试实验 238

第8章 Linux操作系统的应用开发 240

8.1 GUI应用开发 240

8.1.1 QTE应用程序 241

8.1.2 MiniGUI应用程序 248

8.2 网络应用开发 256

8.2.1 主机字节序实例 259

8.2.2 TCP编程实例 261

8.2.3 UDP编程实例 267

8.3 实验指导 272

8.3.1 QT环境与程序实验 272

8.3.2 网络套接口编程实验 273

附录 275

附录A GCC工具的选项 275

附录B make工具参数 284

附录C SkyEye的使用 286

附录D 本书涉及的网址 286

参考文献 287