嵌入式系统原理与应用设计pdf下载

嵌入式系统原理与应用设计百度网盘pdf下载

作者:
简介:嵌入式系统原理与应用设计
出版社:电子工业出版社
出版时间:2013-01-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  本书主要内容包括嵌入式系统基本概念、ARM编程模型、ARM指令集、ARM程序设计基础、嵌入式系统硬件与软件结构、嵌入式系统硬件与底层驱动程序设计及嵌入式系统应用程序设计。本书通过一典型设计实例阐述嵌入式系统组成原理与设计方法。采取“自顶向下+模块化”方式讲授设计实例,首先给出实例架构,然后划分为模块,再设计硬件与底层驱动程序,最后设计应用程序。本书集作者多年教学探索所成,重点突出、语言简练,内容全面。本书配有电子课件等教学资源。
目录
版权信息
前言
第1章 嵌入式系统概述
1.1 嵌入式系统的基本概念
1.1.1 嵌入式系统定义
1.1.2 嵌入式系统的特点
1.2 嵌入式系统发展
1.3 嵌入式系统的应用
1.4 嵌入式系统的组成
1.4.1 嵌入式处理器
1.4.2 嵌入式操作系统
1.4.3 嵌入式应用程序
1.5 本章小结
习题与思考题
第2章 ARM编程模型
2.1 ARM发展历程及其技术特征
2.1.1 ARM发展历程
2.1.2 ARM技术特征
2.2 ARM体系结构版本概述
2.2.1 ARM体系结构版本
2.2.2 ARM体系结构版本的变种
2.3 ARM核概述
2.3.1 ARM核命名规则
2.3.2 ARM7系列微处理器核
2.3.3 ARM9
2.3.4 ARM9E
2.3.5 ARM10E
2.3.6 SecurCore
2.3.7 StrongARM
2.3.8 XScale
2.3.9 ARM11系列核
2.3.10 ARM Cortex系列核
2.4 ARM微处理器核的工作状态
2.5 ARM处理器核的工作模式
2.6 ARM核的内部寄存器
2.6.1 ARM状态下的寄存器
2.6.2 Thumb状态下的寄存器
2.7 ARM核的异常中断
2.7.1 ARM核异常中断概述
2.7.2 ARM核异常中断响应过程
2.7.3 ARM核异常中断的返回
2.7.4 ARM核异常中断处理程序结构
2.7.5 ARM核异常中断向量表
2.7.6 ARM核异常中断的优先级
2.8 ARM核流水线
2.8.1 三级流水线
2.8.2 五级流水线
2.9 ARM协处理器
2.10 ARM AMBA接口
2.11 ARM存储器结构
2.11.1 ARM存储器的数据类型和存储格式
2.11.2 ARM存储体系
2.12 本章小结
习题与思考题
第3章 ARM指令系统
3.1 ARM指令系统概述
3.1.1 ARM指令的基本汇编格式
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.3 ARM指令集
3.3.1 数据传送指令
3.3.2 数据处理指令
3.3.2.1 基本数据处理指令
3.3.2.2 乘法指令
3.3.3 程序状态寄存器访问指令MRS和MSR
3.3.4 跳转指令
3.3.5 异常产生指令
3.3.6 协处理器指令
3.4 Thumb指令集
3.4.1 Thumb指令集概述
3.4.2 Thumb指令分类介绍
3.5 本章小结
习题与思考题
第4章 ARM汇编程序设计
4.1 ARM伪操作与伪指令
4.1.1 GNU编译环境下的伪操作
4.1.2 ADS环境下的伪操作
4.1.3 两种编译环境下的常用伪操作汇总
4.1.4 伪指令
4.2 ARM汇编程序设计
4.2.1 ARM汇编语言中的文件格式
4.2.2 ARM汇编语言语句格式
4.2.3 汇编程序设计示例
4.2.4 C语言与汇编语言混合编程
4.3 本章小结
习题与思考题
第5章 嵌入式操作系统
5.1 嵌入式操作系统μC/OS-II简介
5.2 μC/OS-II的任务管理
5.2.1 μC/OS-II任务概述
5.2.2 任务调度
5.2.3 任务创建
5.2.4 任务的挂起和恢复
5.2.5 任务的删除
5.3 μC/OS-II的初始化
5.4 μC/OS-II的启动
5.5 μC/OS-II的中断
5.5.1 μC/OS-II的中断过程
5.5.2 中断级任务切换
5.6 μC/OS-II的时钟
5.6.1 μC/OS-II时钟节拍中断服务程序
5.6.2 μC/OS-II的时间管理
5.7 μC/OS-II的同步与通信
5.7.1 同步与通信的基本概念
5.7.2 事件控制块ECB
5.7.3 信号量
5.7.4 消息邮箱
5.7.5 消息队列
5.8 μC/OS-II的内存管理
5.9 μC/OS-II的移植
5.10 本章小结
习题与思考题
第6章 嵌入式系统架构
6.1 S3C44B0X处理器
6.1.1 功能模块与总线结构
6.1.2 设备控制器
6.1.3 设备控制器设备侧接口
6.1.4 设备控制器寄存器
6.2 嵌入式系统硬件结构
6.2.1 单总线结构
6.2.2 多总线结构
6.3 嵌入式系统软件结构
6.3.1 单任务结构
6.3.2 多任务结构
6.4 本章小结
习题与思考题
第7章 嵌入式系统硬件与底层驱动程序设计
7.1 功能模块划分
7.2 电源电路模块
7.3 复位电路模块
7.4 JTAG接口模块
7.5 时钟与电源管理模块
7.5.1 时钟产生电路
7.5.2 电源管理
7.5.3 控制寄存器
7.5.4 驱动程序
7.5.5 时钟电路电磁兼容设计
7.6 存储器模块
7.6.1 RAM
7.6.2 ROM
7.6.3 存储器芯片
7.6.4 存储空间规划
7.6.5 存储器电路设计
7.6.6 SDRAM驱动程序设计
7.6.7 Flash驱动程序
7.7 RS-232接口模块
7.7.1 RS-232接口介绍
7.7.2 UART接口介绍
7.7.3 RS-232接口电路设计
7.7.4 RS-232接口驱动程序设计
7.8 LED与GPIO模块
7.8.1 GPIO控制寄存器
7.8.2 GPIO初始化
7.8.3 LED设计
7.9 中断控制器模块
7.9.1 外部中断接口分配
7.9.2 中断控制器的功能
7.9.3 IRQ中断模式
7.9.4 中断处理程序
7.10 定时器模块
7.10.1 PWM定时器
7.10.2 看门狗定时器
7.10.3 实时时钟
7.11 键盘模块
7.12 8段数码管模块
7.13 EEPROM与IIC总线接口模块
7.13.1 IIC总线接口协议
7.13.2 AT24LC04
7.13.3 IIC总线控制器
7.13.4 IIC接口电路
7.13.5 IIC总线控制寄存器
7.13.6 驱动程序设计
7.14 LCD模块
7.14.1 LCD工作原理
7.14.2 液晶显示器驱动电路
7.14.3 S3C44B0X LCD控制器
7.14.4 驱动程序
7.15 A/D转换与触摸屏模块
7.15.1 S3C44B0X A/D转换器
7.15.2 触摸屏工作原理
7.15.3 触摸屏检测电路
7.15.4 驱动程序
7.16 以太网接口模块
7.16.1 以太网MAC与PHY
7.16.2 以太网中的TCP/IP协议
7.16.3 以太网接口电路设计
7.16.4 以太网接口驱动程序设计
7.17 USB接口模块
7.18 IIS接口模块
7.18.1 IIS总线
7.18.2 S3C44B0X IIS总线接口
7.18.3 IIS总线接口电路
7.18.4 驱动程序
7.19 本章小结
习题与思考题
第8章 嵌入式系统应用程序设计
8.1 可执行文件的产生
8.2 链接与装入程序
8.3 启动程序Bootloader
8.4 单任务应用程序
8.5 多任务应用程序
8.6 本章小结
习题与思考题
参考文献
前言
  前言
  嵌入式系统是研究手机、数码相机、微波炉、医院B超、小汽车及工业自动化等设备中专用计算机系统的一门学科。它是随着电子集成电路技术的发展和32位嵌入式处理器的广泛使用而带来的产物。嵌入式系统(Embedded System)在国外出现的历史要长些,但在国内,直到2002年左右这一名词才开始大量出现在媒体上,此后迅速成为IT技术的一个研究热点,国内很多高校相继开设了相关课程或专业方向。笔者于2007年开始组织和编写本书,历时5年完成,本书力图体现如下特色。
  (1)突出重点、难点,抓住“抓手”。
  例如异常中断,既是重点,又是难点,本书不但在内容上不惜笔墨,而且在讲授方式上也煞费苦心,设法将它以一种最易接受的方式呈现给读者;又如嵌入式系统硬件设计,本书抓住总线结构及设备控制器这个“抓手”,使硬件设计变得简单容易;再如μC/OS-II功能函数,笔者着力于源码的分析,通过源码理解其功能及工作原理。
  (2)通过典型实例阐述嵌入式系统原理及设计方法。
  嵌入式系统涉及面广、复杂、抽象,若没有实例物化、深化、固化,学生不容易掌握。故在讲授完ARM架构与(C/OS-II操作系统后,本书虚构了一个应用需求,给出了能完成这一需求的嵌入式系统组成架构,随后各章的讲授都围绕这一架构的实现来展开。
  (3)采取“自顶向下+模块化”方式讲授设计实例。
  嵌入式系统设计实例能否被学生掌握是决定本门课程成败的关键,但实例本身太复杂,初学者不易掌握。常听学生如此抱怨:“前面汇编感觉还不错,但到后面的设计实例就晕了。”故从承担这门课起,笔者一直在思考如何讲授设计实例,并做了不少尝试,逐渐摸索出了讲授实例最有效的方式:自顶向下+模块化。
  所谓“自顶向下”就是先讲授嵌入式系统架构,再讲授实现细节;“模块化”就是将复杂的嵌入式系统划分为模块,一个模块一个模块地进行设计介绍。“自顶”使学生登高望远,一览众山小,以掌握嵌入式系统整体结构;“向下”使学生深入其中,掌握嵌入式系统技术细节。“模块化”又将复杂的嵌入式系统做了简化,便于学习掌握。故自从采取“自顶向下+模块化”方式讲授设计实例后,讲课感觉轻松多了,也听不到先前的抱怨了。所以,本书在结构设计上有一定程度的创新,即在紧随ARM架构及(C/OS-II操作系统介绍后,增加一章专门分析研究嵌入式系统架构,接着进行模块划分,将复杂的嵌入式系统设计实例划分为一个个模块,逐一讲授每个模块的硬件与底层驱动设计,最后一章则利用前面提出的架构与设计的模块,给出了完成相同事务处理的嵌入式系统应用程序的无核(单任务)及有核(多任务)实现。
  目前,国内开设嵌入式系统及其相关课程的专业通常有计算机科学与技术、电子信息科学与技术、电子信息工程、软件工程与自动化等。但无论是在哪个专业开设,不外乎两种情况:一种情况是学分少,作为导论课开设;另一种情况是学分较多,作为专业方向课开设。本书作为嵌入式系统系列课程中最基础的入门课,两种情况均适宜。对于第一种情况,由于开设的是嵌入式系统导论课,建议讲授完本书的全部内容,但第7章可以删掉一些模块。对于第二种情况,由于专业方向课程均会由几门课组成,建议重点讲授本书除第5章以外的所有章节,第5章所涉内容可以另设一门课来讲授。
  为方便教学,本书配有电子课件,任课教师可以登录华信教育资源网(www.hxedu.com.cn)免费注册下载。
  本书得以顺利出版,感谢家人的支持,感谢学校特色教材项目的资助,感谢电子工业出版社索蓉霞编辑的有益建议和史鹏举编辑付出的努力。
  在多年的教学摸索中,笔者从教学实际需求的角度观察、思考,并试图尝试新的表述方式展现嵌入式系统的全貌,但由于水平有限,书中难免有不妥之处,恳请指正。
  作者