嵌入式系统构件(原书第2版)[按需印刷]
基本信息
- 作者: (美)Jean J.Labrosse
- 译者: 袁勤勇 黄绍金 唐青 等
- 丛书名: 嵌入式系统技术丛书
- 出版社:机械工业出版社
- ISBN:7111096460
- 上架时间:2002-3-11
- 出版日期:2002 年2月
- 页码:472
- 版次:1-1
- 所属分类:
计算机 > 计算机组织与体系结构 > 嵌入式计算机
内容简介回到顶部↑
本书介绍了构建嵌人式系统的一些通用模块,如键盘扫描器、显示器接口、计量器和输入/输出。大部分代码都是用可移植的C语言编写。与第1版相比,第2版对所有的代码和例子都用作者自己设计的一个实时操作系统μC/OS—II进行了修改,并用Borland C/C++的编译器V 4.51代替V 3.1。
本书适合于计算机专业本科生、研究生、嵌入式程序员以及其他对嵌入式系统感兴趣的技术人员参考。
本书适合于计算机专业本科生、研究生、嵌入式程序员以及其他对嵌入式系统感兴趣的技术人员参考。
目录回到顶部↑
第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 代码的关键部分
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 代码的关键部分
前言回到顶部↑
这是一本介绍软件模块的书,可以用这些模块设计嵌入式系统。这些模块是一些最通用的构建嵌人式系统的模块,如:键盘扫描器、显示器接口、记时器和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来编写代码中的一部分。
硬件接口函数已经单独地分离出来了,以便使所需的工作量减到最低程度,并使模块适应硬件环境。笔者已经将汇编语言减到最低程度,并且在使用汇编语言的地方,尽可能地简化代码,使代码更为清晰。
你需要在什么环境下使用本书
管理人员将会喜欢使用这本书,因为它可以减少嵌入式系统设计中某些重复性工作所需要的时间,因而节省费用。每一章与其他章都是相互独立的,可以只使用所需要的模块。每一章都描述了各个模块是做什么的,它是怎样工作的以及它提供什么样的服务。这些信息将帮助你估计实现软件产品时需要的资源。
在第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来编写代码中的一部分。
硬件接口函数已经单独地分离出来了,以便使所需的工作量减到最低程度,并使模块适应硬件环境。笔者已经将汇编语言减到最低程度,并且在使用汇编语言的地方,尽可能地简化代码,使代码更为清晰。
你需要在什么环境下使用本书


点击看大图






加载中...
