图书介绍

嵌入式系统开发原理与实践【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

嵌入式系统开发原理与实践
  • 陈文智等编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302116008
  • 出版时间:2005
  • 标注页数:299页
  • 文件大小:85MB
  • 文件页数:317页
  • 主题词:微型计算机-系统开发-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式系统开发原理与实践PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

第1章 嵌入式系统概述1

1.1 引言1

1.2 什么是嵌入式系统1

1.2.1 嵌入式系统的历史与现状2

1.2.2 嵌入式系统的体系结构2

1.2.3 应用领域与发展方向3

1.3 嵌入式系统设计5

1.3.1 嵌入式系统设计的过程5

1.3.2 硬件平台的选择5

1.3.3 软件平台的选择6

1.4 嵌入式微处理器ARM8

1.4.2 ARM微处理器系列9

1.4.1 ARM微处理器的应用领域及一般特点9

1.5 嵌入式操作系统11

1.5.1 嵌入式Linux11

1.5.2 Windows CE12

1.5.3 Symbian13

1.5.4 其他嵌入式操作系统13

1.6 嵌入式系统开发14

1.6.1 开发流程14

1.6.2 交叉编译与链接15

1.6.3 远程调试16

1.6.4 测试与优化17

1.7 小结17

1.8 习题与思考题18

第2章 PXA255开发系统19

2.1 XScale系统结构19

2.1.1 XScale超级流水线20

2.1.2 XScale乘/累加MAC21

2.1.3 协处理器21

2.1.4 内存管理22

2.1.5 指令cache22

2.1.6 数据cache23

2.1.7 转移目标缓冲器BTB23

2.1.8 性能监视23

2.1.9 电源管理23

2.1.10 调试23

2.2 PXA255处理器结构与特性24

2.2.1 时钟和电源管理模块26

2.2.2 系统综合单元28

2.2.3 DMA控制器33

2.3 XSBase255开发系统34

2.3.1 硬件资源35

2.3.2 软件资源44

2.4 小结46

2.5 习题与思考题47

第3章 开发环境的建立48

3.1 XSBase255目标机环境48

3.1.1 JTAG接口简介49

3.1.2 XSBase255上的JTAG接口49

3.1.3 Boot Loader50

3.2 宿主机环境50

3.2.1 宿主机环境的建立50

3.2.2 BOOTP协议51

3.2.3 TFTP协议51

3.2.4 交叉编译52

3.2.5 Make工具52

3.3.1 烧写XSBase255的Boot Loader56

3.3 实验56

3.3.2 使用Minicom实现串口通信57

3.3.3 建立开发环境60

3.3.4 熟悉交叉编译环境和开发工具65

3.4 小结68

3.5 习题与思考题68

第4章 嵌入式系统的Boot Loader技术69

4.1 Boot Loader程序的基本概念69

4.1.1 Boot Loader所支持的硬件环境70

4.1.2 Boot Loader的安装地址70

4.1.3 Boot Loader相关的设备和机制70

4.1.4 Boot Loader的启动过程70

4.1.5 Boot Loader的操作模式70

4.2 Boot Loader的典型结构框架71

4.1.6 Boot Loader与主机之间的通信设备及协议71

4.2.1 Boot Loader阶段1介绍72

4.2.2 Boot Loader阶段2介绍74

4.2.3 关于串口终端81

4.3 Boot Loader实验81

4.3.1 熟悉Boot Loader的指令81

4.3.2 U-Boot的分析和移植87

4.4 小结97

4.5 习题与思考题98

第5章 ARM-Linux内核99

5.1 ARM系统结构简介99

5.2 ARM-Linux内存管理101

5.2.1 内存管理与MMU101

5.2.2 冯·诺依曼结构和哈佛结构102

5.2.3 ARM存储管理机制102

5.2.4 ARM-Linux存储机制的建立105

5.2.5 ARM-Linux进程的虚存空间108

5.3 ARM-Linux的中断响应和处理110

5.4 ARM-Linux系统调用114

5.4.1 应用程序中的系统调用114

5.4.2 实验:创建和使用一个新的系统调用116

5.5 系统的启动和初始化118

5.5.1 使用Boot Loader将内核映像载入118

5.5.2 内核数据结构初始化——内核引导第一部分119

5.5.3 外设初始化——内核引导第二部分120

5.5.4 init进程和inittab脚本121

5.5.5 rc启动脚本122

5.5.6 Shell的启动123

5.6 ARM-Linux进程管理和调度123

5.6.1 Linux进程和进程控制123

5.6.2 Linux进程的创建、执行和终止124

5.7.1 Linux模块概述128

5.6.3 ARM-Linux进程的调度128

5.7 Linux的模块机制128

5.7.2 与模块相关的数据结构129

5.7.3 与模块相关的系统调用132

5.7.4 模块的使用135

5.7.5 对insmodule实现的简要介绍137

5.7.6 模块的编程137

5.8 实验:Linux 2.6内核移植137

5.8.1 准备工作139

5.8.2 编译交叉编译工具139

5.8.3 配置Linux 2.6.10内核139

5.8.4 编译内核139

5.9 小结141

5.10 习题与思考题141

6.1.1 嵌入式文件系统介绍142

第6章 嵌入式文件系统142

6.1 嵌入式Linux文件系统简介142

6.1.2 Linux文件系统概述144

6.1.3 嵌入式Linux常用文件系统145

6.2 Linux文件系统框架和特性148

6.3 实验:建立文件系统149

6.3.1 建立JFFS2文件系统149

6.3.2 建立Ramfs文件系统155

6.4 实验:NFS文件系统实验159

6.4.1 NFS简介160

6.4.2 配置NFS服务端161

6.4.3 配置NFS客户端162

6.4.4 挂载NFS文件系统162

6.4.6 加载NFS为根文件系统163

6.4.5 NFS的注意事项163

6.5 实验:Samba的介绍与应用166

6.5.1 Samba的介绍166

6.5.2 Samba实验169

6.6 实验:使用BusyBox构建根文件系统171

6.6.1 编译BusyBox171

6.6.2 配置文件系统173

6.6.3 制作JFFS2文件映像175

6.7 小结175

6.8 习题与思考题175

第7章 嵌入式系统的调试176

7.1 远程调试环境的搭建原理176

7.1.1 插桩(stub)176

7.1.2 GDB介绍178

7.1.3 GDB远程调试功能介绍178

7.2.1 GDB命令179

7.2 使用GDB179

7.2.2 断点与条件断点184

7.3 Linux内核调试184

7.3.1 内核调试技术185

7.3.2 KGDB分析186

7.3.3 内核进入调试状态的路径189

7.4 实验191

7.4.1 利用GDB进行本地调试191

7.4.2 利用GDB进行远程调试192

7.4.3 ARM-Linux内核调试195

7.5 小结197

7.6 习题与思考题197

第8章 嵌入式设备驱动198

8.1.1 设备的分类199

8.1.2 设备文件199

8.1 Linux下设备驱动程序简介199

8.1.3 主设备号和次设备号200

8.1.4 Linux设备驱动代码的分布200

8.1.5 Linux设备驱动程序的特点201

8.2 设备驱动程序结构201

8.2.1 驱动程序的注册与注销202

8.2.2 设备的打开与释放202

8.2.3 设备的读写操作203

8.2.4 设备的控制操作203

8.2.5 设备的轮流查询和中断处理203

8.3 实验:编写一个简单的驱动程序205

8.3.1 主要数据结构和全局变量205

8.3.2 主要接口函数206

8.3.3 模块加载208

8.3.4 驱动安装过程208

8.4.1 用户空间和内核空间210

8.4 驱动设计中涉及的一些具体问题210

8.4.2 proc文件系统211

8.5 实验:设计和实现一个KED&LED驱动215

8.5.1 主要数据结构和接口函数218

8.5.2 模块加载219

8.5.3 测试代码219

8.5.4 驱动安装过程220

8.6 实验:动态加载和静态编译驱动到内核222

8.6.1 主要步骤222

8.6.2 驱动位置和目录结构223

8.6.3 修改配置文件223

8.6.4 编写Makefile224

8.7 实验:使用中断方式的驱动程序设计225

8.7.1 注册中断处理程序225

8.7.2 编写中断处理程序227

8.7.3 中断处理机制的实现228

8.7.4 中断控制228

8.7.5 中断实验小结229

8.8 设备驱动小结230

8.9 习题与思考题230

第9章 嵌入式GUI231

9.1 嵌入式GUI简介231

9.1.1 Qt/Embedded232

9.1.2 Micro Windows232

9.1.3 OpenGUI232

9.1.4 MiniGUI232

9.2 X Windows架构233

9.3 Tiny-X系统框架234

9.4 Tiny-X应用程序开发235

9.4.1 GTK+的基本概念236

9.4.2 图形界面生成器Glade239

9.5 实验:用Glade编写一个简单的GUI应用程序241

9.6 实验:Tiny-X下的KeyPad/LED控制实验243

9.7 实验:Qt/Embedded移植实验248

9.7.1 Qt/Embedded安装及环境设置248

9.7.2 移植Qt/Embedded应用程序250

9.7.3 修改触摸屏驱动250

9.8 小结252

9.9 习题与思考题253

第10章 综合创新实验255

10.1 设计任务255

10.2 设计分析256

10.3 FPGA设计基础257

10.3.1 可编程逻辑器件简介257

10.3.2 VHDL语言介绍259

10.3.3 QuartusⅡ使用简介260

10.3.4 扩展板逻辑设计要点265

10.4 模块分析274

10.4.1 总体分析274

10.4.2 各模块设计要点274

10.5 驱动设计277

10.5.1 驱动设计要点277

10.5.2 驱动的加载285

10.6 测试程序设计287

10.6.1 设备文件287

10.6.2 操作命令字288

10.7 GUI程序设计294

10.8 小结299

10.9 习题与思考题299

热门推荐