嵌入式系统技术教程

出版时间:2009-3  出版社:张石 人民邮电出版社 (2009-03出版)  作者:张石 编  页数:301  

前言

本书以嵌入式系统的开发为主线,全面系统地讲述了嵌入式系统开发的基本知识、基本流程和基本方法。以华邦电子股份有限公司(以下简称Winbond公司)的ARM处理器W90P7 10为硬件开发平台,介绍了嵌入式系统的软硬件开发过程。W90P710是Winbond公司推出的具有高整合度的基于.ARM7TDMI内核的通用型芯片。具有低成本与高性能、高附加值与产品规划可塑性兼备等优势。本书共分10章,各章的具体内容如下。第1章主要介绍嵌入式系统概论,内容涉及嵌入式系统的概念、特点、应用和组成。通过本章的学习,可使学生系统地建立起嵌入式系统开发的整体框架和知识体系。第2章首先介绍微处理器的一些关键技术,如冯·诺依曼结构和哈佛结构、RISC技术和CISC技术、流水线技术。接着,介绍了ARM体系结构的发展和特征,然后详细介绍了处理器工作状态,寄存器的组织,异常处理,ARM存储器映射等。第3章详细讲述了ARM指令系统,主要从ARM指令寻址方式、ARM指令分类介绍等几个方面全面系统地介绍ARM指令集,并给出了指令使用例子和实现一定功能的汇编语言程序段。最后简介Thumb指令集的概念、特点,并且与ARM指令进行了对比。通过本章的学习,可以使学生掌握ARM汇编指令的使用方法。第4章介绍了ARM汇编语言程序设计的基本方法,详细讲解了ARM伪操作、伪指令,ARM汇编语言中的符号、表达式、程序格式,以及ARM汇编语言与C语言混合编程的方法。并通过一些实例来讲解汇编语言中最基本的分支结构和循环结构,实现了跳转表分支、数据块的复制等不可缺少的汇编程序,帮助学生掌握ARM汇编语言程序的编程方法。第5章对W90P7 10处理器的各功能模块做了介绍,重点介绍了系统管理部分,包括存储系统、时钟系统、电源管理系统以及相关的寄存器描述,该部分直接关系到最小系统的软硬件设计。本章对W90P710处理器的其他功能模块也做了简要的介绍,为学生了解各模块功能起到一个索引的作用。第6章介绍了W90P710实验教学系统的硬件系统设计,主要对硬件原理图进行了详细地讲解,这些接口单元基本包含了W90P710处理器所提供的大部分功能。包括最小系统:电源、时钟、复位、JTAG调试接口以及FLASH和SDRAM存储系统,以及键盘、LCD、通信和其他存储系统的电路接口。第7章主要以W90P710处理器的几个常用功能部件为编程对象,介绍了基于W90P710处理器系统的程序设计与调试,同时介绍了引导程序的基本原理和编程方法。通过对本章的阅读,可使学生了解W90P710处理器各功能部件的工作原理及基本编程方法。第8章介绍了μCLinux嵌人式操作系统以及μCLinux在W90P710实验系统上的移植,嵌入式μCLinux的设备驱动程序以及嵌入式μCLinux的应用程序设计。在每一小节都给出了具体的实例。

内容概要

  《嵌入式系统技术教程》全面系统地介绍了嵌入式系统开发的基本知识和方法。全书分为4部分。第1部分介绍了嵌入式系统基本概念及广泛使用的ARM技术,包括ARM处理器的体系结构、寻址方式、指令系统、汇编语言程序和C语言程序设计基础。第2部分介绍了基于ARM7TDMI内核的W90P710处理器,以及基于W90P710处理器的实验教学系统设计;并以W90P710实验教学系统为开发平台,列举了几个典型的基本功能部件的程序实例设计。第3部分介绍了嵌入式mCLinux设备驱动程序和应用程序的设计。第4部分介绍了4种基于W90P710处理器的应用实例的设计方案。  《嵌入式系统技术教程》内容丰富,力求实用。列举的程序实例具有典型性,并且全部调试通过,有很大的参考价值。  《嵌入式系统技术教程》可作为高等院校电子信息类、计算机科学与技术等专业高年级学生和研究生的教材,也可作为嵌入式系统应用工程技术人员的参考用书。

书籍目录

第1章 嵌入式系统概论1.1 嵌入式系统的概念1.2 嵌入式系统的特点1.3 嵌入式系统的应用1.4 嵌入式系统的基本组成小结  思考题与习题第2章 ARM体系结构2.1 RISC技术和流水线技术2.1.1 计算机体系结构2.1.2 RISC技术2.1.3 流水线技术2.2 ARM体系结构简介2.2.1 ARM体系结构的演变2.2.2 ARM体系结构的特征2.2.3 ARM体系的变种2.2.4 ARM系列2.2.5 ARM存储数据类型2.3 ARM处理器工作状态2.3.1 两种工作状态2.3.2 工作状态的切换2.4 ARM处理器工作模式2.5 ARM处理器寄存器组织2.5.1 ARM状态下的寄存器组织2.5.2 Thumb状态下的寄存器组织2.6 ARM异常2.6.1 ARM异常概述2.6.2 ARM异常处理2.6.3 ARM异常向量表2.6.4 ARM异常优先级2.6.5 ARM异常中断使用的寄存器2.7 ARM存储器和存储器映射I/O2.7.1 ARM体系的存储空间2.7.2 ARM存储器格式2.7.3 非对齐存储访问操作2.7.4 存储器映射I/O2.8 ARM总线技术小结  思考题与习题第3章 ARM指令系统3.1 ARM指令集概述3.1.1 指令分类和指令格式3.1.2 ARM指令的条件码3.1.3 ARM指令集编码3.2 ARM指令寻址方式3.2.1 立即寻址3.2.2 寄存器寻址3.2.3 寄存器移位寻址3.2.4 寄存器间接寻址3.2.5 变址寻址3.2.6 多寄存器寻址3.2.7 堆栈寻址3.2.8 块复制寻址3.2.9 相对寻址3.3 ARM指令分类介绍3.3.1 跳转指令3.3.2 数据处理指令3.3.3 程序状态寄存器传送指令3.3.4 加载和存储指令3.3.5 协处理器指令3.3.6 异常产生指令3.4 Thumb指令小结  思考题与习题第4章 ARM汇编程序设计4.1 ARM汇编语言语句格式4.2 ARM汇编伪操作4.2.1 符号定义伪操作4.2.2 数据定义伪操作4.2.3 汇编控制伪操作4.2.4 数据帧描述伪操作4.2.5 信息报告伪操作4.2.6 其他杂项伪操作4.3 ARM汇编语言伪指令4.4 ARM汇编语言中的符号4.5 ARM汇编语言中的表达式4.6 ARM汇编语言程序结构4.6.1 ARM映像文件的结构4.6.2 ARM映像文件各组成部分的地址映射关系4.6.3 scatter文件的应用4.7 C语言和汇编语言混合编程4.7.1 C语言和汇编语言互相调用4.7.2 ARM C编译器的特定关键字4.8 ARM汇编语言设计实例4.8.1 分支结构4.8.2 循环结构小结  思考题与习题第5章 W90P710处理器简介5.1 W90P710处理器概述5.2 处理器功能框图及管脚描述5.2.1 W90P710处理器功能描述5.2.2 W90P710处理器引脚分布及管脚描述5.3 W90P710处理器各功能描述5.3.1 W90P710处理器系统管理器5.3.2 外部总线接口5.3.3 Cache控制器5.3.4 以太网MAC控制器5.3.5 GDMA控制器5.3.6 USB主控制器5.3.7 USB设备控制器5.3.8 SDIO主控制器5.3.9 LCD控制器5.3.10 音频控制器5.3.11 通用异步串行控制器5.3.12 定时器/看门狗控制器5.3.13 高级中断控制器5.3.14 通用IO5.3.15 实时时钟5.3.16 智能卡主接口5.3.17 I2S接口5.3.18 通用同步串行接口5.3.19 PWM5.3.20 键盘接口5.3.21 PS2主接口控制器小结  思考题与习题第6章 W90P710实验教学系统设计6.1 W90P710实验教学系统资源概述6.2 电源系统设计6.3 时钟电路设计6.4 复位电路设计6.5 JTAG调试电路设计6.6 存储系统设计6.6.1 FLASH存储器接口6.6.2 SDRAM存储器接口6.7 键盘接口电路设计6.8 LED显示接口电路6.9 串行通信接口电路6.9.1 UART接口电路6.9.2 I2C接口电路6.9.3 通用串行接口(USI)电路6.9.4 USB主机接口电路6.9.5 USB设备接口电路6.10 LCD接口电路设计6.11 SD卡接口电路设计6.12 智能卡接口电路设计6.13 音频接口电路设计6.14 以太网接口电路设计小结  思考题与习题第7章 部件工作原理与编程示例7.1 GPIO口的工作原理与编程示例7.2 中断控制器的工作原理与编程示例7.3 通用异步收发器(UART)的工作原理与编程示例7.4 定时器(TIMER)的工作原理与编程示例7.5 引导程序小结  思考题与习题第8章 嵌入式μCLinux8.1 概述8.1.1 嵌入式μCLinux简介8.1.2 嵌入式μCLinux的交叉开发环境8.1.3 开发工具GNU的介绍8.2 嵌入式μCLinux在W90P710开发平台上的移植8.2.1 嵌入式μCLinux的交叉开发环境的建立8.2.2 嵌入式μCLinux的Bootloader8.2.3 嵌入式μCLinux的内核8.2.4 嵌入式μCLinux的文件系统8.3 嵌入式μCLinux的设备驱动8.3.1 Linux的设备管理8.3.2 设备驱动程序结构8.3.3 keypad驱动程序设计8.3.4 UART驱动程序设计8.4 嵌入式μCLinux下应用程序设计8.4.1 keypad应用程序设计8.4.2 UART应用程序设计小结  思考题与习题第9章 ARM ADS集成开发环境9.1 ARM开发工具及开发环境简介9.1.1 ARM开发工具简介9.1.2 ARM ADS集成开发环境9.2 工程创建、调试和程序固化9.2.1 工程创建及参数设置9.2.2 使用ARMulator来调试简单程序9.2.3 使用JTAG仿真器来调试嵌入式程序9.2.4 调试固化在目标板中的程序9.2.5 半主机Semihosting调试技术小结  思考题与习题第10章 W90P710处理器应用实例10.1 税控收款机10.1.1 税控收款机简介10.1.2 税控收款机总体方案设计10.1.3 税控收款机硬件方案设计10.1.4 税控收款机软件方案设计10.2 数码相框10.2.1 数码相框简介10.2.2 数码相框总体方案设计10.2.3 数码相框硬件设计10.2.4 数码相框软件设计10.3 远程监控系统10.3.1 远程监控系统简介10.3.2 远程监控系统总体方案设计10.3.3 远程监控系统硬件设计10.3.4 远程监控系统软件设计10.4 RFID读写器10.4.1 RFID简介10.4.2 RFID读写器总体方案设计10.4.3 RFID系统硬件设计10.4.4 天线设计10.4.5 RFID系统软件设计小结  思考题与习题参考文献

章节摘录

插图:2.2.3 ARM体系的变种ARM体系的变种是根据某些特定功能而定义的。下面具体介绍一下T变种、M变种,E变种、J变种和SIMD变种。1.T变种(1Fhumb指令集)Thumb指令集是将ARM指令集的-个子集重新编码而形成的一个指令集。ARM指令长度为32位,Thumb指令长度位为16位。当系统的数据总线宽度小于32位时,系统使用Thumb指令集要比使用ARM指令集的性能好。另外一个好处是代码尺寸,同样一段c代码,用Thumb指令编译的结果,其长度大约只占ARM编译结果的65%左右,可以明显地节省存储器空间。在大多数情况下,紧凑的代码和窄带宽的存储器系统,还会带来功耗上的优势。与ARM指令集相比,Thumb指令集有以下局限。(1)完成相同的操作,Thumb指令通常需要更多的指令。因此,ARM指令集更为适合对系统运行时间要求苛刻的应用场合。(2)Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断的低级处理时,还是需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。使用ARM指令集还是使用Thumb指令集,需要从存储器开销和性能要求两方面加以权衡考虑。2.M变种(长乘法指令)M变种增加了两条用于进行长乘法操作的AKM指令。其中一条指令用于实现32位整数乘以32位整数,生成64位整数的长乘法操作;另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数的长乘加操作。在需要这种长乘法的应用场合M变种很适合。然而,在有些应用场合中,乘法操作的性能并不重要,但对于尺寸要求很苛刻,在系统实现时就不适合增加M变种的功能。M变种首先在ARMV3版本中引入。如果没有上述的设计方面的限制,在ARMV4及其以后的版本中,M变种是系统中的标准部分。对于支持长乘法ARM指令的,ARM体系版本,使用字符M来表示。3.E变种(增强型DSP指令)E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型的DSP算法的处理性能。主要包括如下指令(1)几条新的实现16位数据乘法和乘加操作的指令。(2)实现饱和的带符号数的加减法操作的指令。所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕,而是使用最大的整数或最小的负数来表示。(3)进行双字数据操作的指令,包括双字读取指令LDRD,双字写入指令STRD和协处理器的寄存器传输指令MCRR/MKRC。

编辑推荐

《嵌入式系统技术教程》的作者均是教学和科研一线的骨干教师,具有多年的嵌入式系统教学和开发经验。《嵌入式系统技术教程》部分内容取材于作者嵌入式系统开发科研项目。《嵌入式系统技术教程》内容丰富,系统全面,重点突出,阐述循序渐进、由浅入深。各章均安排了丰富的例题、思考题和习题,便于学生自学和自测。以ARM7 W90P71O处理器和嵌入式uCLinu×为核心,以嵌入式系统开发为主线介绍相关知识、流程和方法,以典型程序和应用实例为基础培养实际应用开发能力。

图书封面

评论、评分、阅读与下载


    嵌入式系统技术教程 PDF格式下载


用户评论 (总计4条)

 
 

  •   肯定是正版、这个我肯定;不过送书速度比当当要慢、但价格比当当便宜些。因为是课本,买来,具体没怎么看,用处不大了。
  •   应该是正版,纸有点薄,还凑合吧
  •   快递倒是挺快的,先不说书的内容(因为还没看),随手翻了翻,那纸,还半透明的呢,感觉比盗版还要盗版,虽然现在物价是这么贵,但也不用这么省吧~~!总的来说,很失望~~~第一次买到质量那么差的书,TMD
  •   书挺好 就是不太详细
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7