嵌入式系统基础
作者 : 朱恺 吉逸 储昊明 编著
出版日期 : 2012-04-09
ISBN : 978-7-111-37200-4
适用人群 : 高等院校计算机及相关专业本科生或研究生教材,也可作
定价 : 36.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 290
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本教材主要作为嵌入式系统的基础理论教程,以目前最流行的ARM嵌入式系统结构来讲解嵌入式系统的原理。本书涉及:ARM微处理器结构、ARM及Thumb指令集、ARM汇编程序设计、实时操作系统、嵌入式系统开发流程等内容。本教材还包括一些开发实例,为本科生学习嵌入式系统提供一个内容合适、理论实践并举的教材。

图书特色

嵌入式系统基础
朱恺 吉逸 储昊明 编著

本书是作者根据多年嵌入式系统教学经验编写的适合本科教学的嵌入式教材,比较全面地介绍了嵌入式系统的原理和主流开发平台,主要内容包括:
嵌入式系统基础知识
ARM微处理器结构和ARM程序设计
实时操作系统原理
μC/OS-II源码解析和移植分析
嵌入式设计开发流程和ARM嵌入式开发主流工具

本书内容完整、层次清晰、理论和实践兼顾,在介绍嵌入式系统原理之外,还安排了大量贴近工程实际的实践性知识,相关章节有实例教程,有利于学生理解嵌入式系统知识、掌握主流的开发工具和开发技巧,为后续的专业课程学习和工程实践打下良好基础。
本书特点:
以目前最为流行的ARM嵌入式系统为主线,组织全书内容。
注重讲解实时操作系统的原理和裁剪过程,以μC/OS-II为主线,便于学生学习和理解。
精选内容,合理编排,既满足本科教学要求,又不至于内容过多过难,让学生学习吃力。
内容组织灵活,部分章节可选讲,便于教师根据教学情况合理安排教学内容和教学课时。
注重知识的实用性,有实时系统的源码讲解,结合实验,可以加深学生对基础知识的理解。
提供完善的配套教学资源,为教师配有电子教案,配有章后习题答案,以及相关源代码,有需要者可登录华章网站(www.hzbook.com)下载。

图书前言

在后PC时代,嵌入式系统的应用已经深入到我们日常生产、生活的方方面面,我们似乎从未像今天这样依赖各种各样的智能设备去感知世界或与人交流。嵌入式系统的发展已经成为一种不可逆转的趋势,其影响绝不仅限于个人,它已经开始改变人们的娱乐方式、生活习惯和社会的生产组织形态。
  此时,可能你已经意识到:你使用智能手机与朋友分享过微博;你使用数码相机记录过家庭生活的精彩一刻;你使用电子血压计做过体检……但你可能还未意识到:在绕地球飞行的卫星上、在变电站的监控设备中、在监测空气质量的监测站里……处处都有嵌入式系统的身影。蓦然回首,我们已经生活在一个嵌入式系统的世界中。
  正因为嵌入式系统广泛的应用领域和广阔的应用前景,今天,嵌入式系统的设计和开发已经成为信息科学中的热门技术。据不完全统计,全球每年嵌入式系统处理器的出货量占处理器市场的80%以上,嵌入式系统所带动的相关产业的产值突破了1万亿美元。难怪福特汽车曾宣称:“福特出售的‘计算能力’已超过了IBM。”这里的计算能力就是由聚集在福特汽车上的众多种类的嵌入式设备形成的。
  嵌入式系统的巨大市场需求催生了巨大的人才需求,在大学生就业竞争日益激烈的大背景下,国内每年对于嵌入式系统设计和开发人才的需求缺口竟高达30万以上。由于嵌入式系统既涉及硬件又涉及软件,目前,从事嵌入式系统研发的工程师基本可以分为两类:一类是从事硬件研发的硬件工程师,主要完成硬件系统原理图和PCB印刷线路板的设计、开发与硬件相关的底层软件(如BootLoader、设备驱动程序等);另一类是从事软件研发的软件工程师,主要完成对操作系统的裁剪、应用程序的开发、软件系统的调试等。
  分工细化能够提高生产效率,这是工业生产的必然,但这一现状也使嵌入式人才培养陷入困境。多数学校或培训机构出于就业目的,将嵌入式人才培养等同于嵌入式开发技能培训,只教授一两种热门的开发工具(如EDA设计工具、Windows CE平台、J2ME程序开发等),而学生对嵌入式系统设计开发缺乏全面、深入的理解,这样的“人才”严格地来说并不能称为嵌入式人才。这是因为,他们对于嵌入式系统知识往往是知其然而不知其所以然,一旦技术革新造成开发工具淘汰,他们就会因为基础知识欠缺而难以适应知识的更新。另一方面,也有不少学校由于硬件条件的限制或是师资的缺乏,使嵌入式系统的教学成为一门“理论课”,课程内容缺乏实用性,学生固然被灌输了大量的嵌入式概念和理论,但没有实际动手练习的机会,这样的学生在就业市场上自然也难受欢迎。
写作目的
  嵌入式系统涉及计算机硬件、操作系统、软件开发、软件工程等诸多领域,知识点众多,其中不少内容还是信息科学中的难点;同时,嵌入式系统又是一门实践性很强的课程,嵌入式领域的处理器和开发工具种类众多,开发工具中很多参数的配置、代码的调试往往依赖于经验;本科教学的学时有限,如何选取教学内容,使之既能保证教学内容的完整,又能让学生掌握主流的开发工具和开发技巧,是每一个嵌入式系统基础课程的授课者首先要思考的问题。基于以上三方面的考虑,我们编写了这本内容完整、理论和实践兼顾、适合本科教学的教材。
本书特色
  本书选择了ARM处理器(以ARM7TDMI的S3C44B0X处理器为重点)和开源操作系统μC/OS-II作为示例进行知识讲解。这样选择是因为:ARM公司是全球领先的16/32位RISC处理器知识产权核(IP Core)提供商,ARM处理器具有功能强大、体积小、功耗低等优点,被众多芯片厂商支持。ARM处理器广泛地应用于各类嵌入式产品中,其在RISC处理器市场的占有率在75%以上,可以说,ARM处理器已经成为嵌入式处理器的主流。而μC/OS-II是一款结构小巧的可移植、可裁剪的实时多任务操作系统内核,它虽然不如商业实时操作系统功能强大,但由于源码开放且代码精练、设计规范,其5000余行代码的解析对于学习实时操作系统原理十分有益,十分适合于嵌入式的基础教学。同时,μC/OS-II结构简单、便于改进,在实际工程项目中也被广泛应用。
  此外,本书中还介绍了嵌入式程序设计、嵌入式系统设计开发流程,以及ARM嵌入式开发中的主流开发工具(ADS和RealView MDK等)的使用等实用性知识。这些知识结合之前的嵌入式系统原理,为初学者展现一个完整而生动的嵌入式系统场景。
教学建议
  本书共10章:第1章总述嵌入式系统的相关知识;第2~5章系统介绍ARM处理器相关知识;第6、7章介绍实时操作系统相关知识;第8、9章介绍嵌入式系统设计、开发相关知识;第10章介绍ARM7TDMI的S3C44B0X处理器的系统结构,由于这部分内容很多是工程操作或工程定义,放在ARM处理器原理中并不合适,但在实际工作中又常常需要查阅使用,所以将其单独列出,读者可以将其与第2、3章对照学习。
  本书建议学时为36学时,各章的学时分配建议如下:
章节 内容 学时
第1章
嵌入式系统基础知识 主要介绍嵌入式系统的基础知识,包括嵌入式系统的概念、特点、发展历史、分类、组成等 2
第2章
ARM微处理器硬件结构 主要介绍ARM微处理器的硬件结构,包括ARM各系列微处理器的介绍、ARM7TDMI的硬件结构、ARM微处理器的存储体系、ARM协处理器、ARM片上总线、ARM调试结构等 2
第3章
ARM微处理器体系结构 主要介绍ARM微处理器的寄存器组织、工作状态、工作模式、异常处理、流水线技术、协处理器等 4
第4章
ARM指令系统 系统地介绍ARM指令集和Thumb指令集的基本指令,以及各指令的应用场合及方法 4
第5章
ARM程序设计基础 主要介绍ARM程序设计的一些基本概念,如ARM汇编语言的伪指令、汇编语言的语句格式和程序结构等,同时介绍ARM混合编程的内容 3
第6章
实时软件系统 主要介绍实时操作系统的概念、结构、工作原理,最后还介绍了主流的实时操作系统 4
第7章
μC/OS-II源码解析和移植分析 重点介绍μC/OS-II的内核结构,包括任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能,并提供在这个内核之上最基本的系统服务,如信号量、邮箱、消息队列、内存管理、中断管理等,最后介绍了μC/OS-II移植的相关知识 5
第8章
嵌入式系统设计开发流程 介绍嵌入式系统设计开发流程的相关知识,包括需求分析、概要设计、详细设计、软硬件测试、软件调试等。最后以导航仪的设计开发为例,来说明嵌入式系统设计开发的流程 4
第9章
嵌入式系统开发
工具及实例 主要介绍ARM嵌入式开发所使用的四种主流开发工具:ADS 12、RealView MDK、RVDS和IAR EWARM,并着重介绍了ADS 12和RealView MDK的使用方法 4
第10章
S3C44B0X系统结构 主要介绍S3C44B0X的系统结构,并对其内部各功能模块做了详细说明 4
致谢
  本书在编写的过程中得到了很多专家和朋友的指导、帮助。特别感谢解放军理工大学胡友彬教授、东南大学杨全胜教授和宋之毅教授审阅本书并提出宝贵意见;感谢博芯公司提供实验环境和产品资料;感谢机械工业出版社华章分社策划编辑姚蕾的支持;感谢家人的关心和鼓励,正是你们的帮助才促使本书顺利地完成。
  本书由朱恺、吉逸、储昊明合编,吉逸负责第1章、储昊明负责第2章和第10章,其余各章由朱恺编写,最后由朱恺统稿。在本书的编写过程中,我的好友王晓伟、王宇阳、叶飞江、李光生也参与了部分章节图表的绘制、代码的编写以及内容的整理工作。由于编者水平有限,书中疏漏、不妥之处在所难免,敬请广大读者批评指正。

朱恺
2011年10月于南京

上架指导

计算机科学及应用

封底文字

本书是作者根据多年嵌入式系统教学经验编写的适合本科教学的嵌入式教材,比较全面地介绍了嵌入式系统的原理和主流开发平台,主要内容包括:
 嵌入式系统基础知识
 ARM微处理器结构和ARM程序设计
 实时操作系统原理
 μC/OS-II源码解析和移植分析
 嵌入式设计开发流程和ARM嵌入式开发主流工具
本书内容完整、层次清晰、理论和实践兼顾,在介绍嵌入式系统原理之外,还安排了大量贴近工程实际的实践性知识,相关章节有实例教程,有利于学生理解嵌入式系统知识,掌握主流的开发工具和开发技巧,为后续的专业课程学习和工程实践打下良好基础。

本书特点:
1.以目前最为流行的ARM嵌入式系统为主线,组织全书内容。
2.注重讲解实时操作系统的原理和裁剪过程,以μC/OS-II为主线,便于学生学习和理解。
3.精选内容,合理编排,既满足本科教学要求,又不至于内容过多过难,让学生学习吃力。
4.内容组织灵活,部分章节可选讲,便于教师根据教学情况合理安排教学内容和教学课时。
5.注重知识的实用性,有实时系统的源码讲解,结合实验,可以学生加深对基础知识的理解。
6.提供完善的配套教学资源,为教师配有电子教案,配有章后习题答案,以及相关源代码,有需要者可登录华章网站(www.hzbook.com)下载。

图书目录

出版者的话
编委会
丛书序言
前言
第1章嵌入式系统基础知识
11嵌入式系统概述
111计算机的发展历史
112嵌入式系统的发展历史
113嵌入式系统的概念
114嵌入式系统的特点
115嵌入式系统的分类
116嵌入式系统的典型应用
12嵌入式系统的结构与组成
121嵌入式系统的体系结构
122嵌入式系统的组成
123嵌入式处理器
124实时操作系统
13嵌入式系统程序开发
131嵌入式系统程序开发过程
132嵌入式系统程序开发层次
133嵌入式系统程序开发语言
134嵌入式系统的开发特点
14嵌入式系统的新发展
15嵌入式系统中的信息表示与运算基础
151进位计数制与转换
152计算机中数的表示
153计算机中数的单位
16本章小结
习题
第2章ARM微处理器硬件结构
21ARM简介
211CISC
212RISC
213ARM微处理器介绍
22ARM7TDMI微处理器硬件结构
221ARM7TDMI内核
222ARM7TDMI外围电路
223ARM7TDMI外围引脚
23ARM存储体系
231ARM存储器简述
232ARM存储层次结构
233ARM数据存储类型
234ARM数据存储方式
24ARM协处理器
25ARM片上总线
26ARM调试结构
27ARM外围电路扩展
28本章小结
习题
第3章ARM微处理器体系结构
31ARM的工作状态
311ARM/Thumb技术介绍
312ARM/Thumb状态切换
32ARM的工作模式
33ARM的寄存器组织
331ARM状态下的寄存器组织
332Thumb状态下的寄存器组织
34ARM的异常处理
341ARM异常类型
342对异常的响应
343从异常返回
344各类异常的具体描述
345异常向量
346异常优先级
35ARM的流水线技术
351ARM7的三级流水线
352三级流水线中PC的行为
353ARM9的五级流水线
36ARM协处理器
37本章小结
习题
第4章ARM指令系统
41ARM指令集概述
411ARM指令集编码
412ARM指令的条件码
413ARM指令格式
42ARM指令的寻址方式
421立即寻址
422寄存器寻址
423寄存器间接寻址
424基址变址寻址
425堆栈寻址
426块拷贝寻址
427相对寻址
43ARM指令集
431跳转指令
432数据处理指令
433乘法指令与乘加指令
434程序状态寄存器访问指令
435加载/存储指令
436批量数据加载/存储指令
437数据交换指令
438移位指令(操作)
439协处理器指令
4310异常产生指令
4311基本功能段示例
44Thumb指令及应用
441Thumb指令集概述
442Thumb指令分类介绍
45本章小结
习题
第5章ARM程序设计基础
51ARM汇编伪指令
511符号定义伪指令
512数据定义伪指令
513汇编控制伪指令
514地址读取伪指令
515其他常用的伪指令
52ARM汇编语言
521ARM汇编语句格式
522汇编语言程序中常用的符号
523汇编语言程序中的表达式和运算符
524ARM汇编程序结构
525ARM汇编程序示例
53汇编语言与C语言的混合编程
531ARM程序的文件格式
532ATPCS简介
533内嵌汇编
534C语言程序和ARM汇编程序间相互调用
54本章小结
习题
第6章实时软件系统
61实时软件系统概述
62实时软件系统结构
621轮转结构
622带有中断的轮转结构
623函数队列调度结构
624实时操作系统结构
63实时操作系统概述
631实时操作系统分类
632实时操作系统体系结构
64实时操作系统运行原理
641任务
642互斥
643同步
644任务间通信
645中断处理
646时钟节拍
647死锁
648实时调度策略
65主流的实时操作系统
66本章小结
习题
第7章μC/OS-II源码解析和移植分析
71μC/OS-II的内核结构
711文件结构
712初始化和启动
713时钟节拍
714任务管理
715中断服务
716任务间通信
72μC/OS-II的移植
721INCLUDESH
722OS_CPUH
723OS_CPU_CC
724OS_CPU_AASM
73本章小结
习题
第8章嵌入式系统设计开发流程
81嵌入式系统设计开发基础
811嵌入式系统产品生命周期
812嵌入式系统分析与设计方法
813统一建模语言UML
82嵌入式系统需求分析
83嵌入式系统的设计
831设计模式
832概要设计
833详细设计
84嵌入式系统测试
841硬件测试
842软件测试
843嵌入式系统的系统测试
85嵌入式系统的调试
851软件模拟器
852在线仿真调试
853片上调试
854基于调试代理的调试方法
86嵌入式系统设计实例
861需求分析
862规格说明
863体系结构设计(概要设计)
864硬件构件和软件构件的设计(详细设计)
865系统集成与测试
87本章小结
习题
第9章嵌入式系统开发工具及实例
91ARM嵌入式开发工具概览
92ADS 12
921建立一个工程
922配置生成目标
923编译连接
924用AXD进行代码调试
93RealView MDK
931集成开发环境简介
932工程管理
933编写源程序
934编译程序
935调试程序
94RVDS
941RVDS简介
942RVDS特点
95IAR EWARM
951EWARM 集成开发环境介绍
952IAR J-Link仿真器简介
96本章小结
习题
第10章S3C44B0X系统结构
101S3C44B0X简介
1011片上功能
1012特性
1013芯片引脚定义
102S3C44B0X存储控制器
1021空间划分
1022功能描述
1023特殊功能寄存器
103S3C44B0X的I/O端口
1031功能概述
1032端口控制寄存器
104S3C44B0X的DMA
1041概述
1042ZDMA
1043BDMA
1044DMA请求源选择
1045自动重装模式
1046DMA相关寄存器
105S3C44B0X的UART
1051概述
1052UART操作
1053特殊功能寄存器
106S3C44B0X的中断控制器
1061概述
1062中断控制器操作
1063中断源
1064特殊功能寄存器
107S3C44B0X的RTC
1071概述
1072RTC特性
1073RTC操作
1074特殊功能寄存器
108S3C44B0X的其他模块
109本章小结
习题
参考文献

教学资源推荐
作者: [美]玛里琳·沃尔夫(Marilyn Wolf) 著
作者: (美)David A. Patterson; John L. Hennessy 著
作者: 康一梅 等