图书介绍

嵌入式系统 体系结构、编程与设计【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

嵌入式系统 体系结构、编程与设计
  • (印)Raj Kamal编著;陈曙晖等译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302096244
  • 出版时间:2005
  • 标注页数:561页
  • 文件大小:52MB
  • 文件页数:582页
  • 主题词:微型计算机-系统设计-教材

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 嵌入式系统2

1.1.1 系统2

1.1.2 嵌入式系统3

1.1.3 嵌入式系统的分类4

1.1.4 嵌入式系统设计者需要具备的技能5

1.2 系统中的处理器6

1.2.1 系统中的处理器6

1.2.2 微处理器7

1.2.3 微控制器8

1.2.4 复杂系统的嵌入式处理器10

1.2.5 数字信号处理器11

1.2.6 嵌入式系统的专用系统处理器11

1.2.7 使用通用处理器的多处理器系统12

1.3 其他硬件单元13

1.3.1 电源和低功耗管理13

1.3.2 时钟振荡电路和时钟单元15

1.3.3 系统需要的各种计时和计数功能的实时时钟和定时器16

1.3.4 复位电路、加电复位和Watchdog定时器复位16

1.3.5 存储器17

1.3.6 输入、输出和I/O端口,IO总线和IO接口18

1.3.8 DAC(使用PWM)和ADC19

1.3.7 中断处理器19

1.3.9 LCD和LED显示20

1.3.10 小键盘/键盘21

1.3.11 脉冲拨号电路、调制解调器和收发器21

1.3.12 GPIB(IEEE 488)连接21

1.3.13 嵌入式系统硬件的连接和接口总线及单元22

1.3.14 案例中所需要的硬件单元22

1.4 嵌入系统软件24

1.4.1 产品的最终机器可实现软件24

1.4.2 用机器码编写软件25

1.4.3 用特定于处理器的汇编语言编写软件26

1.4.4 用高级语言编写软件27

1.4.5 使用操作系统的设备驱动程序和设备管理软件29

1.4.6 多任务调度和使用RTOS设备的软件设计30

1.4.7 设计嵌入式系统的软件工具30

1.4.8 示例中需要的软件工具32

1.4.9 软件设计模型32

1.5 示例嵌入式系统33

1.6 嵌入式片上系统(SOC)和内部VLSI电路35

1.6.1 用于便携式电话的SoC示例35

1.6.2 ASIP36

1.6.3 IP核36

1.6.5 具有一个或者多个处理器的FPGA核37

1.6.4 嵌入GPP37

1.6.6 示例SoC中的组成部分——智能卡38

第2章 处理器和存储器组织45

2.1 处理器中的结构单元46

2.2 嵌入式系统的处理器选择55

2.3 存储器设备58

2.3.1 ROM:使用方法、形式和变种59

2.3.2 RAM设备60

2.4 嵌入式系统的存储器选择61

2.5 程序段和块的存储器分配及系统的存储器映射64

2.5.1 各种存储器段中的函数、过程、数据和堆栈64

2.5.2 不同数据结构和数据集合元素的存储器块66

2.5.3 存储器映射71

2.5.4 内部设备和I/O设备在映射中的地址77

2.6 直接存储器访问79

2.7 处理器、存储器和I/O设备的接口80

第3章 设备网络的设备和总线87

3.1 I/O设备88

3.1.1 I/O设备的类型和示例88

3.1.2 串行设备的同步、准同步和异步通信90

3.1.3 内部串行通信设备的示例93

3.1.4 并口设备95

3.1.5 设备端口的复杂接口特性97

3.2 定时器和计数设备98

3.3 互连的多个设备之间通过I2C、CAN和高级I/O总线进行串行通信102

3.3.1 I2C总线102

3.3.2 CAN总线103

3.3.3 USB总线105

3.3.4 先进的串行高速总线105

3.4 多个互连I/O设备之间通过ISA、PCI、PCI-X和高级总线进行的计算机或者主机系统并行通信106

3.4.1 ISA总线106

3.4.2 PCI和PCI/X总线107

3.4.3 高级并行高速总线108

第4章 设备驱动程序和中断服务机制115

4.1 设备驱动程序117

4.1.1 不使用ISR 设备服务117

4.1.2 设备驱动程序ISR118

4.1.3 设备驱动程序120

4.1.4 作为设备驱动和网络函数的Linux内幕121

4.1.5 编写系统中的物理设备驱动ISR122

4.1.6 虚拟设备123

4.2 系统中的并口设备驱动程序124

4.3 系统中的串口设备驱动程序130

4.4 内部可编程定时设备的设备驱动程序134

4.5.2 软件错误相关的硬件中断135

4.5 中断服务(处理)机制135

4.5.1 硬件和软件相关的中断源135

4.5.3 软件指令相关的中断源137

4.5.4 内部设备相关的硬件中断138

4.5.5 中断向量138

4.5.6 根据可屏蔽和不可屏蔽的中断分类138

4.5.7 所有可屏蔽中断源的激活(未屏蔽)和禁用(屏蔽)139

4.5.8 中断挂起寄存器或者状态寄存器139

4.6 上下文和上下文切换周期、最终期限和中断延迟139

4.6.1 上下文、延迟和最终期限139

4.6.2 从上下文保存的角度对处理器中断服务机制的分类143

4.6.4 满足服务最终期限的优先级分配144

4.6.3 使用DMA通道帮助缩短中断延迟周期144

4.6.5 硬件优先级的软件覆盖145

第5章 编程概念及C与C++的嵌入式编程150

5.1 用汇编语言和高级语言C进行软件编程151

5.2 C程序中的元素:头文件、源文件以及预处理指令152

5.2.1 用于包含文件的include指令152

5.2.2 源文件154

5.2.3 配置文件154

5.2.4 预处理指令154

5.3 程序元素:宏与函数154

5.4.2 使用数据结构:队列、堆栈、链表和树156

5.4 程序元素:数据类型、数据结构、修饰符、语句、循环和指针156

5.4.1 数据类型156

5.4.3 修饰符158

5.4.4 条件语句、循环语句以及无限循环语句159

5.4.5 指针和NULL指针161

5.4.6 函数调用163

5.4.7 主程序中按照循环顺序进行的多函数调用164

5.4.8 函数指针、函数队列和中断服务例程队列166

5.5 队列167

5.5.1 队列167

5.5.2 实现网络协议的队列170

5.5.3 发生中断时函数的排列172

5.5.4 网络中进行流控制的FIPO队列174

5.6 堆栈175

5.7 链表与有序链表178

5.7.1 链表178

5.7.2 活动设备驱动器(软件时钟)的链表186

5.7.3 就绪链表中的任务链表187

5.8 C++嵌入式编程189

5.8.1 面向对象的编程189

5.8.2 C++的嵌入式编程189

5.9.2 Java的缺点191

5.9.1 什么时候用Java编程191

5.9 用Java进行嵌入式编程191

5.10 C程序编译器与交叉编译器193

5.11 嵌入式C/C++的源代码工程管理工具194

5.12 存储器需求的优化194

第6章 单处理器和多处理器系统软件开发过程中的程序建模概念201

6.1 软件实现之前对软件分析过程的建模202

6.1.1 数据流图在程序分析中的用法202

6.1.2 用于程序分析的控制数据流图的用法204

6.2 用于事件控制或者响应时间受到约束的实时程序的编程模型205

6.2.1 有限状态机模型205

6.2.2 Petri网模型209

6.3 多处理器系统的建模215

6.3.1 多处理器系统中的问题216

6.3.2 模型217

6.3.3 同步数据流图模型218

6.3.4 同构的同步数据流图模型219

6.3.5 无环优先扩展图模型220

6.3.6 定时的Petri网和扩展预测/转换网模型221

6.3.7 多线程图系统模型222

6.3.8 图和Petri网在多处理器系统中的应用223

第7章 嵌入式软件开发过程中的软件工程实践233

7.1 软件的算法复杂度234

7.2 软件开发生命周期及其模型236

7.2.1 软件开发过程中的线性顺序模型(瀑布模型或者生命周期模型)236

7.2.2 RAD模型237

7.2.3 增量模型237

7.2.4 并发模型238

7.2.5 基于组件(面向对象)的软件开发过程模型238

7.2.6 基于第四代工具的软件开发过程模型238

7.2.7 基于面向对象和基于第四代工具的方法239

7.3 软件分析239

7.4 软件设计241

7.5 软件实现242

7.6 软件测试、确认以及调试243

7.6.1 测试、验证以及确认243

7.6.2 调试246

7.7 软件开发过程中的实时程序设计问题248

7.7.1 在需求和规范的分析中存在的问题248

7.7.2 设计和实现中存在的问题249

7.7.3 系统集成中的问题249

7.7.4 测试中的问题249

7.8 软件项目管理250

7.8.1 项目管理250

7.8.2 项目测度251

7.9 软件维护253

7.10 统一建模语言(UML)255

第8章 进程间通信与进程、任务和线程的同步265

8.1 应用程序中的多个进程266

8.1.1 进程266

8.1.2 任务266

8.1.3 线程268

8.1.4 通过函数、ISR和任务的特征进行区分269

8.2 多任务和多例程的数据共享问题270

8.2.1 数据共享问题及其解决方案270

8.2.2 对任务或者任务的临界段使用信号量271

8.2.3 优先级倒置问题和死锁情况279

8.3 进程间通信280

8.3.1 信号281

8.3.2 信号量标识或者互斥体用作资源键(用于进程的资源加锁和解锁)281

8.3.3 消息队列282

8.3.4 邮箱284

8.3.5 管道285

8.3.6 虚拟(逻辑)套接字287

8.3.7 远程过程调用(RPC)287

第9章 实时操作系统292

9.1.1 目标293

9.1 操作系统服务293

9.1.2 结构294

9.1.3 内核295

9.1.4 进程管理296

9.1.5 存储器管理297

9.1.6 设备管理298

9.1.7 文件系统的组织和实现300

9.2 I/O子系统302

9.3 网络操作系统302

9.4.1 实时操作系统304

9.4.2 在嵌入式系统中何时需要RTOS304

9.4 实时操作系统与嵌入式操作系统304

9.4.3 RTOS的多任务调度管理306

9.4.4 实时系统中通过RTOS进行的多任务调度308

9.5 RTOS环境中的中断例程:RTOS的中断源调用处理309

9.5.1 通过中断源直接调用ISR310

9.5.2 通过中断源以及调度任务的暂时挂起,直接调用RTOS311

9.5.3 通过中断源以及RTOS对任务和ISR的调度,直接调用RTOS311

9.6 RTOS任务调度模型,作为性能测度的中断延迟和任务响应时间311

9.6.1 使用就绪任务循环队列的协作轮转调度312

9.6.2 使用按照优先级约束排序列表的就绪任务的协作调度313

9.6.3 时间分片的循环调度(速率单调的协作调度)315

9.6.4 调度程序控制的抢占式调度模型策略316

9.6.5 抢占式调度程序提供的临界段服务318

9.6.6 任务的固定(静态)实时调度320

9.6.7 调度算法中的优先级分配320

9.6.8 使用概率定时Petri网(随机)和多线程图(MTG)的高级调度算法321

9.7 周期、零散以及非周期任务的调度模型的性能测度321

9.7.1 使用CPU负载作为性能尺度321

9.7.2 零散任务模型322

9.8 为RTOS的标准化和任务内部通信函数采用的IEEE标准POSIX 1003.1B322

9.9 抢占式调度程序的基本操作及其在处理器上预期耗费的时间324

9.10 用于进程间、ISR间、OS函数间和任务之间同步及资源管理的15条策略325

9.11 嵌入式LINUX的内部组织:设备驱动程序和嵌入式系统的LINUX内核326

9.12 操作系统的安全问题329

9.13 移动式操作系统330

第10章 实时操作系统编程工具:MicroC/OS-Ⅱ和V×Works334

10.1 测试稳定且调试合格的实时操作系统的必要性335

10.2 μC/OS-Ⅱ337

10.2.1 RTOS系统级函数338

10.2.2 任务服务函数及其使用范例341

10.2.3 时间延迟函数347

10.2.4 函数相关的存储器分配349

10.2.5 信号量相关函数351

10.2.6 邮箱相关函数363

10.2.7 队列相关函数372

10.3 VxWorks381

10.3.1 基本特性382

10.3.2 系统库头文件中的任务管理库384

10.3.3 VxWorks系统函数和系统任务388

10.3.4 进程(任务)间通信函数391

第11章 RTOS编程案例研究405

11.1 使用MUCOS RTOS对巧克力自动售卖机编码406

11.1.1 案例定义、多任务及其函数406

11.1.2 创建任务、函数和IPC408

11.1.3 编码步骤示例411

11.2 使用RTOS VxWorks将应用层字节流发送到TCP/IP网络上420

11.2.1 案例定义、多任务及其函数421

11.2.2 创建任务、函数和IPC424

11.2.3 编码步骤示例425

11.3 汽车自适应巡航控制系统的嵌入式系统443

11.4 智能卡中的嵌入式系统456

11.4.1 嵌入式硬件457

11.4.2 嵌入式软件458

第12章 嵌入式系统中的软硬件协同设计472

12.1 嵌入式系统项目管理473

12.2 系统开发过程中嵌入式系统设计和协同设计问题474

12.2.1 嵌入式系统开发过程的目标474

12.2.2 行动计划474

12.2.3 完整的规范和系统需求475

12.2.4 原理设计476

12.2.5 软硬件布局设计477

12.2.6 详细设计478

12.2.7 实现工具478

12.2.8 测试479

12.3 嵌入式系统开发阶段中的设计周期479

12.4 目标系统或其仿真器和内置电路仿真器(ICE)480

12.4.1 使用目标系统480

12.4.2 仿真器和ICE481

12.5.1 代码生成工具(汇编器、编译器、加载器和链接器)483

12.4.3 用于将最终代码下载到ROM中的设备编程器483

12.5 嵌入式系统开发中的软件工具483

12.5.2 模拟器484

12.5.3 嵌入式系统的原型开发、测试和调试工具486

12.5.4 集成开发环境487

12.5.5 存储器、处理器敏感程序和设备驱动程序489

12.5.6 动态链接库489

12.6 示波器和逻辑分析仪在系统硬件测试中的使用490

12.6.1 逻辑探测器或者LED测试490

12.6.2 示波器490

12.6.4 位率测量仪491

12.6.3 逻辑分析仪491

12.6.5 用于ROM调试的系统监控代码492

12.7 嵌入式系统设计中的问题492

12.7.1 选择合适的平台492

12.7.2 嵌入式系统处理器的选择493

12.7.3 需要考虑的因素和必需的特性494

12.7.4 软硬件权衡495

12.7.5 性能建模495

12.7.6 性能加速器496

12.7.7 嵌入式系统中OS的移植问题496

A.1.1 指令和数据的格式504

附录A CISC和RISC处理器体系结构和指令集示例504

A.1 CISC和RISC处理器的指令及其处理504

A.1.2 寻址模式505

A.1.3 指令集506

A.1.4 CISC和RISC体系结构507

A.2 指令集示例——ARM7508

A.3 ARM处理器的汇编语言程序示例510

附录B 嵌入式系统高性能处理器511

B.1 ARM处理器示例511

B.2 高性能处理器示例514

B.3 加速器515

C.1 Intel、Motorola和PIC系列微控制器的体系结构概述517

附录C 嵌入式系统8/16/32位微处理器及其体系结构概述517

C.2 Motorola系列CISC和RISC的新一代微控制器519

附录D 嵌入式数字信号处理器522

D.1 数字信号处理器的体系结构522

D.2 DSP处理器和传统处理器的比较524

D.3 定点运算和浮点运算的比较525

D.4 嵌入式系统的 DSP525

D.4.1 TMS320C2000 TM平台526

D.4.2 TMS320C5000 TM平台526

D.4.3 TMS320C6000 TM平台526

D.4.4 DSP的TMS320C24x和C28X代产品527

D.4.5 TMS320C54x和 TMS320C55x代DSP528

D.4.6 TMS320C62x、64x和 C67x代DSP529

D.4.7 RISC环境下的OMAP5910嵌入式处理DSP530

D.4.8 基于 SoC的解决方Texas DSPTMS320DM310530

附录E 嵌入式系统应用的新型处理器532

附录F 串行和并行总线537

F.1 新的串行总线标准(USB 2.0,IEEE 1394)537

F.2 新的并行总线标准(CompactPCI、PCI-X)537

附录G 嵌入式系统中的设备539

G.1 各种形式的 ROM设备539

G.2.2 Motorola S-Record格式540

G.2.1 二进制映像540

G.2 ROM设备编程器540

G.2.3 Intel Hex-File格式541

G.2.4 设备编程器的编程方法542

G.3 RAM设备544

G.3.1 静态和动态RAM544

G.3.2 EDO RAM544

G.3.3 SDRAM545

G.3.4 RDRAM545

G.3.5 参数化的分布式RAM545

G.3.6 参数化的块RAM545

G.4 微控制器中的并口545

G.5.1 Motorola 68HC11中的SPI和SCI546

G.5 串行通信设备546

G.5.2 微控制器中的串行通信设备547

G.6 微处理器中的定时器548

G.7 各种处理器系列中的中断源及其控制550

G.8 80x86处理器的中断552

G.9 68HC11中的中断552

G.9.1 中断服务552

G.9.2 中断源553

附录H 嵌入式系统体系结构、编程和设计中的重要内容554

H.1 推荐使用的教学大纲554

H.2 CDAC嵌入式系统课程教学大纲涉及的内容556

热门推荐