基本信息
- 原书名:Fast and Effective Embedded Systems Design: Applying the ARM mbed
- 原出版社: Newnes
- 作者: (美)Rob Toulson;Tim Wilmshurst
- 丛书名: 电子与嵌入式系统设计译丛
- 出版社:机械工业出版社
- ISBN:9787111460190
- 上架时间:2021-3-29
- 出版日期:2014 年3月
- 开本:16开
- 页码:294
- 版次:1-1
- 所属分类:计算机 > 计算机组织与体系结构 > 嵌入式计算机

编辑推荐
mbed是由嵌入式领域的领导厂商ARM在全球大力推广的开源硬件项目。
本书是首本针对mbed开源硬件项目的书籍。
理论与实践相结合,对嵌入式系统设计每个环节的讲解都入木三分。
本书是开源硬件、积木式中间件、快速系统原型设计三大核心理念的载体。
内容简介
作译者
目录
译者序
前 言
第一部分 嵌入式系统概述与玩转mbed
第1章 嵌入式系统、微控制器与ARM 2
1.1 嵌入式系统简介 2
1.1.1 什么是嵌入式系统 2
1.1.2 嵌入式系统示例 3
1.2 微处理器与微控制器 4
1.2.1 计算机主要组件 5
1.2.2 微控制器 6
1.3 嵌入式系统的开发流程 7
1.3.1 程序语言:C/C++有什么特别之处 7
1.3.2 开发周期 7
1.4 进入ARM世界 8
1.4.1 关于ARM的历史 8
1.4.2 技术细节:RISC的意义 9
1.4.3 Cortex内核 10
本章回顾 11
习题 11
译者序
介绍基于ARM处理器的嵌入式系统的书籍琳琅满目,这些书籍或以某个或某类处理器为基础,又或者以某个嵌入式系统为基础介绍嵌入式系统的概念及应用开发。而本书的两位作者均是大学教师,具有丰富的嵌入式系统教学和工程实践经验,他们倡导“在实践中学习”的先进理念,在书中给出了大量基于ARM mbed的动手实验教程,在突出实践能力培养的同时,又在每章中针对嵌入式系统的各个功能模块给出了相应基础知识的介绍,免除了读者再去翻阅其他书籍的麻烦。本书的另一个亮点就是不需读者安装软件和配置繁琐的软件开发环境,只需一台能够上网的PC即可,通过特有的Web软件开发环境,即可完成应用程序的开发过程。以译者20多年的嵌入式系统教学与开发经验来看,本书非常适合作为本科、高职高专各专业的嵌入式系统基础课程教材。
本书由北京工业大学计算机学院的部分教师翻译,其中韩德强翻译了前言和第1~2章,鲁鹏程翻译了第3~6章和附录,张丽艳翻译了第7~9章,杨淇善翻译了第10章,王宗侠翻译了第11~12章,邵温翻译了第13~15章,全书的审校由韩德强完成。
在本书的翻译过程中得到了ARM公司中国大学计划经理时昕博士的大力支持与关注,并提供了ARM mbed开发板,在此对时博士表示由衷的感谢!
限于译者的水平,翻译中难免有错误或不妥之处,真诚希望各位读者批评指正。
韩德强
2014年1月于北京工业大学
前言
不久前,嵌入式系统的设计者必须是电子或软件方面的专家,或者两者都是。现在,无论是专业人员还是初学者,使用界面友好的、复杂的积木式构件,便可以很快设计出嵌入式系统。这种积木式构件便是最近由著名的计算机巨头ARM推出的mbed。本书将围绕mbed介绍嵌入式系统设计的所有主要议题,目的在于通过mbed的使用教会读者嵌入式系统设计的要素。
本书分为两部分。第1~10章广泛介绍嵌入式系统,使用mbed展示如何应用它快速地进行成功的嵌入式系统设计。这几章旨在全力帮助读者掌握一系列精心构建的概念和练习,从基本的原理和简单的项目入手,逐步完成更高级的系统设计。第11~15章在此基础上进入到了许多更高级的系统设计领域。这里讲的速度可能会有点快,你会发现需要进行更多的背景研究。
本书仅要求读者具备基本的电工电子理论知识。本书采用“在实践中学习”的方法,为了更好地使用本书,你需要一块mbed开发板,一台连接到因特网的计算机,还需要书中指定的各种额外的电子元器件。如果不做某一个实验或者实践书中某一部分的内容,就不需要准备其中所需的东西。你还会用到数字电压表,不过最好使用示波器,这样能看到更多细节。
全书每章围绕一个嵌入式系统主题展开。每一章或多或少都有一些理论的介绍,其中很多章需要更多的理论基础,然后才能进行一系列实际的实验。准备好将你的mbed连接到下一个电路,下载并编译下一个示例程序,然后运行该程序以理解到底是怎么回事。随着你对mbed信心的增长,你的创造力和原创性会随之增加,开始将你的想法变成可行的项目吧!
本书会快速地帮助你:
理解和应用嵌入式系统的关键环节。
理解和应用ARM mbed的关键环节。
从头学起或提高嵌入式C/C++编程技巧。
加深对电子元器件及配置的理解。
了解mbed如何被应用到一些新兴的、最令人兴奋的、创新的智能产品中。
完成你从未想过自己会有能力完成的设计和创新!
如果你遇到问题或者有任何疑问,可以通过本书的网站和mbed的网站寻求技术支持,你也可以通过电子邮件与作者讨论。
如果你是一位大学教师,本书为你的嵌入式系统课程提供“完整的解决方案”。两位作者都是经验丰富的大学讲师,他们在写书时考虑到了你的学生。本书包含一个实践和理论学习活动的组织顺序。理想状态下,你需要为每个或每对学生配备一套mbed(一块原型面包板和一个套件),因其高度便携,开发工作不必局限在学校的实验室中进行。在后面的课程中,学生们将会用他们的mbed开发板联网。教师可以在本书配套网站(www.embeddedacademic.com)下载每一章的完整PPT演示文稿,也可以下载测验题的答案以及练习题和小项目的示例代码。
本书第一部分(第1~10章)使用mbed项目示例提供了一个完整的嵌入式系统设计入门课程。第二部分(第11~15章)用于提高课程,为进一步阅读或学习更高级的课程打基础。
本书采用了一种亲身实践的有趣学习方式,适用于任何想要引入嵌入式系统概念的课程。因为仅需要一点电子学理论,所以本书更适用于那些不以使用嵌入式系统为目的的学科。本书原本供工程学、物理学或计算机科学等学科大学一年级本科生使用,但我们希望学生们能更多地在高年级使用它。实践类的专业人员和业余爱好者也会对本书感兴趣。
本书由位于英国剑桥的安格利亚鲁斯金大学的研究员Rob Toulson和英国德比大学电子专业负责人Tim Wilmshurst编写。博士毕业后的几年里,Rob主要在音频和汽车领域从事数字信号处理与控制系统工程项目。之后,他成为了一名研究员,当前主要致力于推进技术和创意产业的合作研究。到德比大学之前,Tim负责剑桥大学工程系的电子开发小组多年,他的设计生涯见证了很多微控制器和嵌入式系统的发展过程。除了分享对嵌入式系统的兴趣之外,我们还分享对音乐和音乐技术的兴趣。这本书汇集了我们广泛的经验。规划好书的整体布局,进行了一些最初的准备工作后,我们对章节进行了划分。Tim负责前几章大部分内容的撰写,并负责电子和计算机硬件相关的章节。Rob主要负责后面几章的撰写以及mbed高级应用。这种工作分工主要是为了方便,而在出版物中我们彼此都对所有章节承担责任。由于Tim之前写过一些嵌入式系统方面的书籍,本书中的一些背景知识和图表就取自这些书,这主要是因为在需要解释背景的地方“从零开始”似乎是没有意义的。
书摘
嵌入式系统概述与玩转mbed
第1章
嵌入式系统、微控制器与ARM
1.1嵌入式系统简介
1.1.1什么是嵌入式系统
我们都对台式机与笔记本电脑非常熟悉,并且惊异于它们的强大功能。这些计算机都是通用计算机,我们可以利用它们在不同的时间做不同的事情,不过这取决于我们在计算机上运行的应用程序。在这些计算机中重要的部分就是微处理器。微处理器是一块微小的、非常复杂的、包含计算机核心细节的电路。其中所有的器件都焊接在一小块称为集成电路(IC)的硅片上。一些非专业的人员也常常把集成电路称为微电路,或是仅仅称为芯片。
为很多人所不熟悉的是,微处理器不仅仅存在于通用计算机中,也可以安置到一些不需要计算的设备内部,比如,洗衣机、烤面包机或者摄像机中。微处理器常常用于控制以上这些产品。微处理器放置在产品内部,在计算机中往往是不可见的,用户可能根本就不知道它在哪儿。此外,计算机往往还关联着如键盘、显示器和鼠标这些附加组件。因为控制这些产品的微控制器镶嵌在产品内部,所以这类产品称作嵌入式系统。在许多情况下,由于部分微处理器更倾向于关注控制,在嵌入式系统中所使用的微处理器相对于通用计算机的中的处理器又逐渐发展出不同的特性,这些称为微控制器。虽然它们在微处理器大家庭中并不起眼,但是它们的影响是巨大的。对于一些电气与系统设计人员来说,这也提供了巨大的商机。
嵌入式系统有很多形式。它们在家庭、电机与工作场合中随处可见。绝大多数家用电器,比如洗衣机、洗碗机、烤箱、中央空调和报警器,都是嵌入式系统。汽车中充满了嵌入式系统,比如引擎管理模块与安全模块(如汽车锁与防盗设备)、空调、刹车、收音机等等。嵌入式系统广泛应用于工业、商业、机械控制、工厂自动化、电子商务与办公设备中。当然,其应用领域远远超过以上范围,并且应用范围正不断扩大。
图1.1展示了一个嵌入式系统的简单框图。其中有一组转入来自于被控制系统。嵌入式计算机通常是指一个微控制器,它可以运行一个永久地存储在存储器中的程序。与那些可以运行许多程序的通用台式机不同,“嵌入式计算机”只能运行一个程序。微控制器根据输入所提供的信息,计算出输出。输出信息往往与系统内部的执行器相连。实际的电子电路与其他与之相连的机电组件通常一同称为硬件。在硬件上运行的程序通常称为软件。除了这些之外,嵌入式系统仍然有很多可以与用户交互的方法,比如通过键盘与显示器。也有很多可以与其他子系统的交互,虽然这些是必不可少的一般性概念。在嵌入式系统中,时间因素是另一个可以影响我们所作所为的变量,在下面的图中表示为一个贯穿的箭头。我们需要测量时间,使得其准确地在我们预先安排的时间内运行,并产生对时间依赖很强的数据流,同时可以及时处理发生的异常。
图1.1嵌入式系统
这一章阐述并回顾了许多关于计算机、微处理器、微控制器以及嵌入式系统的概念。通过这种回顾的形式,为我们以后学习更深层次的内容提供了一个平台。后面章节描述的内容最终都将回归这些概念,以它们为基础,再加以详细的介绍。如果需要了解更多信息,请参见参考文献1.1。
1.1.2嵌入式系统示例
零食自动售货机是一个很好的嵌入式系统例子。在图1.2中以框图形式展示了这个例子。图1.2的中间是一个微控制器。如图1.2所示,微控制器从用户键盘、硬币计数模块以及物品分配模块接受一系列输入信号,并且产生依赖于这些输入的输出。
饥饿的客户们会靠近自动售货机并且猛击按钮或者投入硬币。在第一种按下按钮的情况下,键盘模块会向微控制器发送回馈信号,使得微控制器可以识别出不同的按键,并把这些按键的键值汇总到解码器中以产生更多、更复杂的消息。硬币计数模块也会根据所投入的硬币数量发送信息。微控制器会试图筛选接收到的信息,并输出自身的状态信息至液晶显示屏上。用户是否正确选择了一个产品?是否支付了足够的钱?如果选择了正确的产品并支付了,微控制器会控制执行器模块分发产品。如果没有,微控制器会在显示屏上显示消息,提示用户投入更多的硬币或者重新输入产品代码。好的自动售货机还应该提供找零功能。同时自动售货机也需要一些感应机制来确保产品使用的可靠性以及分发动作最终完成。以上这些都在图1.2中以门位置传感器的形式显示了出来。不好的产品(为什么我们没有遇到呢?)会在显示屏上显示一些没有用的或者让人恼怒的消息,在用户明明给了正确的钱款后却仍然要求付款,或发放给用户错误的产品,甚至不把用户选择的产品送出来。
图1.2嵌入式自动售货机
以上所描述的都是传统机器的特点,但是我们可以走得更远。在现代的自动售货系统中,可能会植入一些移动通信功能,允许自动售货机直接向维修团队报告产生的故障,这样维修团队很快就能解决这些问题。与此相似,机器也可以通过移动通信或者物联网通信报告库存水平,并提醒服务团队补充库存的不足。
这个简单的例子在图1.1中得到准确的反映。微控制器接受输入变量,计算、处理并产生输出。(微处理器的)这些行为其实都包含对时序的正确使用。在上述过程中,一般系统都会提供用户接口。一些现代的机器还提供网络接口。尽管图1.2似乎在描述一个硬件系统,但是事实上图1.2所述的一切都被设计者编写的软件所控制。那些运行在微控制器上的软件决定了系统实际的功能。
1.2微处理器与微控制器
回顾之前所述,微控制器是任何嵌入式系统的核心。由于微控制器在本质上是一类计算机,这对我们掌握基本的计算机信息非常重要。为此这里仅作概述,具体功能会在后面的章节中详细介绍。