首页>参考读物>计算机科学与技术>综合

嵌入式系统构件(原书第2版)
作者 : (美)Jean J.Labrosse
译者 : 袁勤勇 黄绍金 唐青 等
出版日期 : 2002-02-01
ISBN : 7-111-09646-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 472
开本 : 16开
原书名 : Embedded Systems Building Blocks
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书介绍了构建嵌人式系统的一些通用模块,如键盘扫描器、显示器接口、计量器和输入/输出。大部分代码都是用可移植的C语言编写。与第1版相比,第2版对所有的代码和例子都用作者自己设计的一个实时操作系统μC/OS—II进行了修改,并用Borland C/C++的编译器V 4.51代替V 3.1。
  本书适合于计算机专业本科生、研究生、嵌入式程序员以及其他对嵌入式系统感兴趣的技术人员参考。

图书前言

这是一本介绍软件模块的书,可以用这些模块设计嵌入式系统。这些模块是一些最通用的构建嵌人式系统的模块,如:键盘扫描器、显示器接口、记时器和I/O(输入/输出)。大部分代码都是用可移植的C语言编写的。
  管理人员将会喜欢使用这本书,因为它可以减少嵌入式系统设计中某些重复性工作所需要的时间,因而节省费用。每一章与其他章都是相互独立的,可以只使用所需要的模块。每一章都描述了各个模块是做什么的,它是怎样工作的以及它提供什么样的服务。这些信息将帮助你估计实现软件产品时需要的资源。
  在第2版中有什么新的内容
  与第1版内容相比,第2版做了很多的改进。当然,最显著的一点就是书的硬封皮(注:指英文原书)使它更加耐用了。第二个最大的改进就是所有的代码和例子都用μC/OS—II进行了修改。μC/OS—II是笔者设计编写的一个实时操作系统,并且在笔者所著的另一本书中给出过完全的描述,即《MicroC/OS—II,TheRead—TimeKernel》(ISBN0—87930—543—6),R&D Books。现以对象的形式给出一个μC/OS—II的低级版本,可以允许运行和改进示例代码。
  笔者决定用BorlandC/C++的编译器V4.51代替V3.1,因为很多读者指出了版本3的工具不再可以使用了。也使用了一个makefile来构建示例代码,而不再依赖集成开发环境(IDE)。make—file很容易改变,所以代码可以针对任何其他的目标处理器进行编译。
  第1章,“示例代码”,已经完全修改了。第2章,“实时系统概念”,包含了10多页新的内容。为了构建所有的模块,目前将以一节的内容介绍以标准格式存在的应用程序编程接口(API)。它将允许你更好地使用每一构件的接口函数。在第1版本中,附录F包含了全部所使用过的电子组件的数据表格。笔者决定把这些数据表格以PDF格式转移到配套的光盘上,这样将减少大约100页的内容,可以少伐一些树。
  在第l版中,列出了本书中提供的构件的每一个接口函数的执行时间。这个过程显得很冗长,所以决定在第2版中删除这一部分的内容。另外,以前使用的与这些执行时间相匹配的80386计算机已经在几年前就被淘汰了。
  目标
  本书通过提供预备使用的模块来帮助嵌入式系统程序员。如果在本书中的代码不能满足实际需求,你可以利用这些代码作为一个起点。换句话说,比起从头开始编写代码,修改代码更为容易。本书的主要目的就是节约时间。
  适合的读者
  本书适合于嵌入式系统程序员、咨询人员和对于嵌入式系统感兴趣的读者。在此假设浏览本书的读者应该了解C语言,并且具备一定的汇编语言的知识。另外,也应该知道微处理器,并具有基本的电子学知识背景。本书中提到的硬件知识非常容易理解。因为代码是用C语言编写的,你可以把本书中提出的概念应用到范围更加广泛的各种微处理器中(汇编语言不能够移植)。
  如果读者是一位对嵌入式系统感兴趣的学生,本书将通过给出具体的编程实例来揭开嵌人式系统软件设计的神秘面纱。本书也将让学生构建比课堂上所学的更加复杂的嵌入式系统。
  可移植性
  本书中的代码是用ANSI C编写的,具有很好的移植性。之所以选择C为嵌入式系统的语言是因为C具有如下的特点:
  ·C代码比汇编语言代码更加容易编写和理解。
  ·由某些C编译器产生的代码在效率上接近于汇编语言。
  ·一旦编写完程序,C代码经常可以用在不同的处理器上。而对于汇编代码而言则不行。
  在许多情况下,不到10%的代码使用的CPU时间将超过90%。你总是可以通过使用汇编语言来优化这些对时间有严格要求的代码。那些对于时间要求不严格的代码(代码中的如%)仍然可以用C来编写。如果仍然使用汇编语言来设计嵌入式系统的话,应该考虑利用C编译器,并且用C来编写代码中的一部分。
  硬件接口函数已经单独地分离出来了,以便使所需的工作量减到最低程度,并使模块适应硬件环境。笔者已经将汇编语言减到最低程度,并且在使用汇编语言的地方,尽可能地简化代码,使代码更为清晰。
  你需要在什么环境下使用本书
  本书提供的代码适合于运行在一台PC机上(最小硬件配置为80486),使用Windows95/98/NT,或者DOS V 4.x和更高版本的操作系统。这些代码由BorlandInternational公司(现在称为Inprise公司)的C十十V4.51进行编译(参见www.borland.con),应该留有大约5MB空余空间的硬盘。

作者简介

(美)Jean J.Labrosse:暂无简介

译者简介

袁勤勇 黄绍金 唐青 等:暂无简介

图书目录

第1章 示例代码
1.1 安装嵌入式系统构件
1.2 每一章是如何组织的
1.3 INCLUDES.H
1.4 与编译器无关的数据类型
1.5 CFG.C和CFG.H
1.6 全局变量
1.7 OS_ENTER_CRITICAL()和OS_EXIT_CRITICALL()
1.8 ESBB示例代码
1.8.1 main()
1.8.2 TestStatTask()
1.8.3 TestClkTask()
1.8.4 TestTmrTask(()
1.8.5 TestDIOTask()
1.8.6 TestAIOTask()
1.8.7 TestTxTask()和TestRxTask()
参考书目
第2章 实时系统概念
2.1 前台/后台系统
2.2 代码的关键部分
2.3 资源
2.4 共享资源
2.5 多任务处理
2.6 任务
2.7 环境转换(或者任务切换)
2.8 内核
2.9 调度程序
2.10 非占先内核
2.11 占先内核
2.12 重入
2.13 循环调度
2.14 任务优先级
2.15 静态的优先级
2.16 动态的优先级
2.17 优先级的倒置
2.18 分配任务优先级
2.19 互斥
2.19.1 禁止和启动中断
2.19.2 测试与设置
2.19.3 禁止和启动调度程序
2.19.4 信号量
2.20 死锁(或者致命包含)
2.21 同步
2.22 事件标记
2.23 任务间的通信
2.24 消息信箱
2.25 消息队列
2.26 中断
2.27 中断等待时间
2.28 中断响应时间
2.29 中断恢复时间
2.30 中断等待时间、响应时间和恢复时间
2.31 ISR的处理时间
2.32 非屏蔽中断
2.33 时钟脉冲
2.34 内存需求
2.35 实时内核的优点和缺点
2.36 实时系统小结
参考书目
第3章 键盘
3.1 键盘基本知识
3.2 矩阵键盘扫描算法
3.3 矩阵键盘模块
3.4 内部结构
3.5 接口函数
3.6 配置
3.7 怎样使用矩阵键盘模块
参考书目
第4章 多路复用LED显示器
4.1 LED显示器
4.2 多路复用LED显示模块
4.3 内部结构
4.4 接口函数
4.5 配置
4.6 怎样使用多路复用LED显示模块
参考书目
第5章 字符LCD模块
5.1 液晶显示器
5.2 字符LCD模块
5.3 字符LCD模块内部结构
3.4 接口函数
5.5 LCD模块显示、配置
5.6 LCD模块制造商
第6章 钟点
6.1 时钟/日历
6.2 时钟/日历模块
6.3 内部结构
6.4 接口函数
6.5 时钟/日历模块配置
参考书目
第7章 计时器管理器
7.1 计时器管理器模块
7.2 计时器管理器模块内部结构
7.3 计时器管理器模块接口函数
7.4 计时器管理器模块配置
参考书目
第8章 离散输入/输出
8.1 离散输入
8.2 离散输出
8.3 离散输入/输出模块
8.4 离散输入/输出模块内部结构
8.5 离散输入/输出模块接口函数
8. 6 配置
8.7 怎样使用离散输入/输出模块
第9章 定点数学
9.1 定点数
9.2 定点加法和减法
9.3 定点乘法
9.4 定点除法
9.5 定点比较
9.6 使用定点算术,例1
9.7 使用定点算术,例2
9.8 使用定点算术,例3
9.9 结论
参考书目
第10章 模拟输入/输出
10.1 模拟输入
10.2 读取ADC
10.2.1 读取ADC的方法1
10.2.2 读取ADC的方法2
10.2.3 读取ADC的方法3
10.2.4 读取ADC的综合方法
10.3 温度测量示例
10.4 模拟输出
10.5 温度显示示例
10.6 模拟输入/输出模块
10.7 内部结构
10.8 接口函数
10.9 模拟输入/输出模块的配置
10.10 怎样使用模拟输入/输出模块
10.10.1 怎样使用模拟输入/输出模块,AI#0
10.10.2 怎样使用模拟输入输出模块,AI#1
10.10.3 怎样使用模拟输入/输出模块,AI#2
10.10.4 怎样使用模拟输入/输出模块,AI#3
10.10.5 怎样使用模拟输入/输出模块,AI#4
10.10.6 怎样使用模拟输入/输出模块,AI#5
10.10.7 怎样使用模拟输入/输出模块,AO#0
10.10.8 怎样使用模拟输入/输出模块,AO#1
10.10.9 怎样使用模拟输入/输出模块,AO#2
参考书目
第11章 异步串行通信
11.1 异步通信
11.2 RS-232C
11.3 RS-485
11.4 收发数据
11.4.1 接收效据
11.4.2 数据传输
11.5 PC机上的串行端口
11.6 低层PC串行I/O模块(COMM-PC)
11.7 缓冲串行I/O模块(COMMBCND)
11.8 缓冲串行I/O模块(COMMRTOS)
11.9 配置
11.10 如何使用COMM-PC和COMMBGND模块
11.11 如何使用COMM-PC和COMMRTOS模块
参考书目
第12章 PC服务
12.1 基于字符的显示
12.2 保存和恢复DOS环境
12.3 占用时间测量
12.4 多样性
12.5 接口函数
参考书目
附录A μC/OS-II实时内核
附录B 编程约定
附录C 缩略词、缩写词和助记符词典
附录D HPLISTC和TO
附录E CD-ROM指南

教学资源推荐
作者: 朱俭 编著
作者: 康莉; 李宽
作者: 郑人杰 马素霞 殷人昆 编著
参考读物推荐
作者: 杜军平 黄杰 主编
作者: (美)Amr Elssamadisy 著
作者: 黄文恺 吴羽 编著
作者: 目丁兔 编著