ARM嵌入式系统基础教程(第2版)(高等学校嵌入式系统通用教材)
分類: 图书,计算机与互联网,硬件/嵌入式开发,嵌入式计算机,
品牌: 周立功
基本信息·出版社:北京航空航天大学出版社
·页码:491 页
·出版日期:2008年
·ISBN:7811240408/9787811240405
·条形码:9787811240405
·包装版本:2版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:高等学校嵌入式系统通用教材
产品信息有问题吗?请帮我们更新产品信息。
内容简介《ARM嵌入式系统基础教程》(第2版)共分为3部分:第1章和第2章为理论部分,主要介绍嵌入式系统的概念及开发方法。第3~5章为基础部分,主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理。第6~8章为应用部分,主要以LPC2000系列微控制器为例介绍如何设计嵌入式系统,包括硬件的设计、μC/OSII的移植以及建立软件开发平台的方法。
《ARM嵌入式系统基础教程》(第2版)是《ARM嵌入式系统系列教程》中的理论课教材。以NXP公司(原PHILIPS公司半导体部)LPC2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。全书共分为3部分。第1章为理论部分,主要介绍嵌入式系统的概念。第2~5章为基础部分,主要介绍ARM7体系结构、指令系统、LPC2000系列ARM微控制器的结构原理及外围接口电路的设计方法。第6~7章为操作系统部分,先介绍μC/OSII的程序设计基础,然后通过实例讲解如何进行系统设计。
作者简介周立功,男,1964年3月出生,毕业于东华大学自动化及计算机系,高级工程师,中国单片机学会理事,中国海洋大学讲座教授,硕士生导师,主要研究方向为嵌入式系统与现场总线,目前正在从事80C51、ARM与Nios II等软核SoC的研究与开发。
编辑推荐《ARM嵌入式系统基础教程》(第2版)可以作为高等院校电子、自动化、机电一体化计算机等相关专业嵌入式系统课程的教材,也可作为从事嵌入式系统应用开发工程师的参考资料。
目录
第1章 嵌入式系统概述
1.1嵌入式系统
1.1.1现实中的嵌入式系统
1.1.2嵌入式系统的定义及特点
1.1.3嵌入式系统的未来
1.2嵌入式处理器
1.2.1嵌入式处理器简介
1.2.2嵌入式系统的分类
1.3嵌入式操作系统
1.3.1嵌入式操作系统简介
1.3.2嵌入式操作系统基本概念
1.3.3使用嵌入式实时操作系统的必要性
1.3.4嵌入式实时操作系统的优缺点
1.3.5常见的嵌入式实时操作系统
思考与练习
第2章 ARM7体系结构
2.1 ARM简介
2.1.1 RISC结构特性
2.1.2常用ARM处理器系列
2.2 ARM7TDMI
2.2.1存储器的字与半字
2.2.2 3级流水线
2.3 ARM的模块、内核和功能框图
2.4 ARM处理器状态
2.5 ARM处理器模式
2.6 ARM内部寄存器
2.6.1 ARM状态下的寄存器
2.6.2Thumb状态下的寄存器
2.7当前程序状态寄存器
2.7.1条件代码标志
2.7.2控制标志位
2.7.3保留位
2.8 ARM体系的异常、中断及其向量表
2.8.1异常入口/出口汇总
2.8.2异常向量表
2.8.3异常优先级
2.8.4异常中断的进入与退出
2.8.5复位异常
2.8.6中断请求异常IRQ
2.8.7快速中断请求异常FIQ44
2.8.8未定义的指令异常
2.8.9中止异常
2.8.10 SWI软件中断异常
2.8.11中断延迟
2.9 ARM体系的存储系统
2.9.1地址空间
2.9.2存储器格式
2.9.3非对齐的存储器访问
思考与练习
第3章 ARM7TDMI(S)指令系统
3.1 ARM处理器寻址方式
3.2指令集介绍
3.2.1 ARM指令集
3.2.2 Thumb指令集
思考与练习
第4章 LPC2000系列ARM硬件结构
4.1 LPC2000系列ARM简介
4.1.1特性
4.1.2器件信息
4.1.3结构
4.2引脚描述
4.3存储器寻址
4.3.1片内存储器
4.3.2片外存储器
4.3.3存储器映射
4.3.4预取指中止和数据中止异常
4.3.5存储器重映射及引导块
4.3.6系统启动代码介绍
4.4系统控制模块
4.4.1系统控制模块功能汇总
4.4.2时钟系统概述
4.4.3晶体振荡器
4.4.4复位
4.4.5唤醒定时器
4.4.6锁相环PLL
4.4.7VPB分频器
4.4.8存储器映射控制
4.4.9功率控制
4.5存储器加速模块(MAM)
4.5.1概述
4.5.2 MAM工作原理
4.5.3 MAM的操作模式
4.5.4 MAM配置
4.5.5 MAM模块寄存器描述
4.5.6 MAM使用注意事项
4.5.7 MAM应用示例
4.6外部存储器控制器(EMC)
4.6.1概述
4.6.2引脚描述
4.6.3 EMC寄存器描述
4.6.4 RBLE位对总线信号的影响
4.6.5外部存储器接口
4.6.6典型总线时序
4.6.7外部存储器选择
4.7引脚连接模块
4.7.1引脚连接模块控制寄存器描述
4.7.2引脚连接模块应用示例
4.8 GPIO
4.8.1概述
4.8.2 GPIO寄存器描述
4.8.3GPIO使用注意事项
4.8.4GPIO应用示例
4.9向量中断控制器
4.9.1概述
4.9.2 VIC寄存器描述
4.9.3中断处理
4.9.4 FIQ中断
4.9.5向量IRQ中断
4.9.6非向量IRQ
4.10外部中断输入
4.10.1概述
4.10.2外部中断寄存器描述
4.10.3外部中断引脚设置
4.10.4中断设置
4.10.5外部中断应用示例
4.11定时器0和定时器
4.11.1概述
4.11.2寄存器描述
4.11.3定时器中断
4.11.4定时器操作
4.12 SPI接口
4.12.1概述
4.12.2SPI描述
4.12.3 SPI寄存器描述
4.12.4操作模式
4.12.5 SPI接口中断
4.13 I2C接口
4.13.1概述
4.13.2 I2C总线规范
4.13.3 I2C接口描述
4.13.4 I2C寄存器描述
4.13.5 I2C操作模式
4.13.6 I2C接口中断
4.13.7常用I2C器件
4.13.8 I2C总线应用示例
4.14 UART0和UART
4.14.1概述
4.14.2 UART的典型应用
4.14.3 UART结构
4.14.4 UART寄存器描述
4.14.5 UART应用示例
4.14.6 UART中断
4.15 A/D转换器
4.15.1概述
4.15.2 A/D寄存器描述
4.15.3 A/D的使用方法
4.15.4 ADC中断
4.16看门狗
4.16.1概述
4.16.2看门狗寄存器描述
4.16.3 WDT使用方法
4.16.4 WDT中断
4.17脉宽调制器(PWM)
4.17.1概述
4.17.2 PWM结构
4.17.3 PWM寄存器描述
4.17.4 PWM应用示例
4.17.5 PWM中断
4.18实时时钟(RTC)
4.18.1概述
4.18.2 RTC中断描述
4.18.3闰年计算
4.18.4 RTC寄存器描述
4.18.5 RTC使用注意事项
4.18.6 RTC的使用
4.18.7 RTC中断
思考与练习
第5章 硬件电路与接口技术
5.1最小系统
5.1.1框图
5.1.2电源
5.1.3时钟
5.1.4存储器系统
5.1.5调试与测试接口
5.1.6完整的最小系统
5.2总线接口设计
5.2.1 SRAM接口电路
5.2.2 PSRAM接口电路
5.2.3 Nor Flash接口电路
5.2.4 Nand Flash接口电路
5.2.5 CS8900A以太网接口电路
5.2.6 CF卡接口电路
5.2.7 USB Device/Host接口电路
5.2.8液晶接口电路
5.3 UART接口电路
5.4 RS485接口电路
5.5 CANbus接口电路
5.6 GPRS DTU接口电路
5.7 GPRS Modem模块
5.8 ZLG500系列读卡模块
思考与练习
第6章 μC/OSII程序设计基础
6.1任务设计
6.1.1任务的分类
6.1.2任务的划分
6.1.3任务优先级安排
6.2系统函数使用概述
6.2.1基本原则
6.2.2系统函数的分类
6.3系统函数的使用场合
6.3.1时间管理
6.3.2资源同步
6.3.3行为同步
6.4时间管理
6.5系统管理
6.6事件的一般使用规则
6.6.1相似性
6.6.2先创建后使用
6.6.3配对使用
6.6.4在中断服务程序中使用
6.7互斥信号量
6.7.1概述
6.7.2互斥信号量函数列表
6.7.3资源同步
6.8事件标志组
6.8.1概述
6.8.2事件标志组函数列表
6.8.3标志“与”
6.8.4标志“或”
6.9信号量
6.10消息邮箱
6.10.1概述
6.10.2消息邮箱的状态
6.10.3消息邮箱的工作方式
6.10.4消息邮箱函数列表
6.10.5任务间数据通信
6.10.6任务间同步
6.11消息队列
6.11.1概述
6.11.2消息队列的状态
6.11.3消息队列的工作方式
6.11.4消息队列函数列表
6.11.5数据通信
6.11.6多任务接收数据
6.12动态内存管理
6.12.1概述
6.12.2动态内存管理函数列表
6.12.3数据通信
思考与练习
第7章 电脑自动打铃器设计与实现
7.1设计要求
7.2硬件设计
7.3任务设计
7.3.1任务的划分
7.3.2任务的优先级设计
7.3.3任务的数据结构设计
7.3.4多任务之间的同步与互斥
7.3.5多任务之间的信息传递
7.4程序设计详解
7.4.1人机界面设计
7.4.2主函数
7.4.3键盘任务
7.4.4显示任务
7.4.5输出控制任务
7.4.6RTC中断
思考与练习
参考文献
温馨提示
……[看更多目录]
序言本书为《ARM嵌入式系统系列教程》中的理论课教材。
尽管一般情况下嵌入式系统对CPU处理能力的要求比个人计算机要低,但随着人们生活水平的提高和技术的进步,嵌入式系统对CPU处理能力的要求也在稳步提高,大量高速、与MCS51体系结构兼容的微控制器的出现就证明了这一点。但8位微控制器受限于体系结构,处理能力的提高始终有限;而16位系统在性能上与8位机相比始终没有太大优势,成本上与32位系统相比也没有什么优势。因此,在可预见的未来,32位系统必然在嵌入式微控制器中占据重要位置。
基于ARM体系结构的32位系统占领了32位嵌入式系统的大部分份额。但长期以来,基于ARM体系结构的32位系统仅在嵌入式系统的高端(如通信领域、PDA)等场合使用,要么以专用芯片的面貌出现,要么以微处理器的面貌出现,并没有出现性价比高的通用微控制器。PHILIPS公司发现了这一空档,推出了性价比很高LPC2000系列微控制器,让更多的嵌入式系统具有32位处理能力,这也预示着32位系统即将成为嵌入式系统的主流。
基于ARM体系结构的芯片在中国推广已有数年,关于ARM的图书也已出版不少。有关ARM的图书主要有以下几类:
1. 关于ARM内核的图书,主要读者是芯片设计者,内容主要是介绍芯片设计。
2. 芯片应用类图书,主要读者为应用工程师。
3. 开发板类图书,主要介绍相应的ARM开发板,给应用开发者一些参考。
以上3类图书的侧重点都不是针对ARM应用开发教学的,用于大学本科和研究生教学不太适合。为了满足高等院校教学的要求,我们编写了本套《ARM嵌入式系统系列教程》。本册书为本套教程中的理论课教材。
本教材各章节内容安排如下:
第1章--嵌入式系统概述。主要简单介绍嵌入式系统,包括对嵌入式系统的概念、嵌入式处理器和嵌入式操作系统的简要介绍。
第2章--嵌入式系统工程设计。介绍嵌入式系统项目开发的生命周期,并针对开发团队介绍各个阶段需要完成的任务。本章还介绍一些嵌入式系统开发的方法。
第3章--ARM7体系结构。主要从应用角度(而不是从芯片设计者的角度)介绍ARM7的体系结构。包含许多使用ARM7必须了解的知识。如果读者想用好ARM7,必须读透本章。
第4章--ARM7TDMI(S)指令系统。 ARM7TDMI和ARM7TDMIS是基于ARM体系结构版本V4T的。本章仅介绍ARM体系结构版本V4T支持的指令,ARM体系结构版本V5及以上版本扩展的指令没有介绍。
第5章--LPC2000系列ARM硬件结构。主要介绍PHILIPS公司LPC2000系列基于ARM7TDMIS的32位微控制器的硬件结构和功能部件。在介绍功能部件原理的同时,通过简单的程序片段加深读者对相应功能部件的理解。特别是在介绍特殊功能部件时,一并介绍启动代码的相关代码,使读者可以了解启动代码的来龙去脉。
第6章--接口技术与硬件设计。主要介绍如何围绕微控制器设计硬件电路以及微控制器的最小系统电路设计方法和多种外设的接口电路设计方法。本章介绍的是其他教科书中很少讲述且容易忽略的细节问题,要设计可靠的硬件必须了解本章内容。
第7章--μC/OSII到ARM7的移植。详细介绍如何将嵌入式实时操作系统μC/OSII移植到ARM7体系结构上,以及如何将移植代码应用到具体的基于ARM7核的微控制器上。与一般公开的移植不同,本移植的任务不必在特权模式下运行(在用户和/或系统模式下运行),任务可以任意使用ARM指令和/或Thumb指令。
第8章--嵌入式系统开发平台。 介绍嵌入式开发平台的概念以及使用嵌入式开发平台的必要性,并介绍建立嵌入式系统开发平台(主要为软件开发平台)的方法,以及一些组成软件开发平台的软件模块的使用方法。
文摘插图: