嵌入式系统技术与设计

出版时间:2012-11  出版社:人民邮电出版社  作者:华清远见教育集团 刘洪涛 苗德行 编著  页数:282  字数:492000  

内容概要

  本书在全面介绍ARM处理器的体系结构、编程模型、指令系统和最新的RealView
MDK开发环境的同时,以英蓓特公司的EduKit-Ⅲ实验教学系统为平台,以ARM9处理器S3C2410为核心,详细介绍了系统的设计及相关接口的操作,并提供了大量的实验例程。本书最后详细讲解了嵌入式Linux系统各个组成部分在教学系统上的移植过程。
  本书可作为高等院校计算机、电子信息、通信工程、自动化等专业嵌入式系统教程的教材,也可作为相关嵌入式系统开发人员的参考书。

书籍目录

第1章 嵌入式系统概述 
1.1 嵌入式系统简介 
1.2 嵌入式系统发展趋势 
1.3 嵌入式系统的硬件和软件特征 
1.4 ARM系列处理器简介 
1.4.1 ARM7处理器系列 
1.4.2 ARM9处理器系列 
1.4.3 ARM9E处理器系列 
1.4.4 ARM10处理器系列 
1.4.5 ARM10E处理器系列 
1.4.6 ARM11处理器系列 
1.4.7 SecureCore处理器系列 
1.4.8 StrongARM和Xscale处理器系列 
1.4.9 Cortex和MPCore处理器系列 
1.4.10 各种处理器系列之间的比较 
本章小结 
思考题 
第2章 ARM体系结构与指令集 
2.1 ARM体系结构的特点 
2.2 ARM处理器工作模式 
2.3 寄存器组织 
2.3.1 通用寄存器 
2.3.2 状态寄存器 
2.3.3 程序计数器 
2.4 流水线 
2.4.1 流水线的概念与原理 
2.4.2 流水线的分类 
2.4.3 影响流水线性能的因素 
2.5 ARM存储系统 
2.5.1 协处理器 
2.5.2 存储管理单元 
2.5.3 高速缓冲存储器 
2.6 异常 
2.6.1 异常的种类 
2.6.2 异常的优先级 
2.6.3 构建异常向量表 
2.6.4 异常响应流程 
2.6.5 从异常处理程序中返回 
2.7 ARM处理器的寻址方式 
2.7.1 数据处理指令寻址方式 
2.7.2 内存访问指令寻址方式 
2.8 ARM处理器的指令集 
2.8.1 数据操作指令 
2.8.2 乘法指令 
2.8.3 Load/Store指令 
2.8.4 单数据交换指令 
2.8.5 跳转指令 
2.8.6 状态操作指令 
2.8.7 协处理器指令 
2.8.8 异常产生指令 
本章小结 
思考题 
第3章 ARM汇编语言程序设计 
3.1 ARM/Thumb混合编程 
3.1.1 Thumb指令的特点及实现 
3.1.2 ARM/Thumb交互工作基础 
3.1.3 ARM/Thumb交互子程序 
3.2 ARM汇编器支持的伪操作 
3.2.1 伪操作概述 
3.2.2 符号定义伪操作 
3.2.3 数据定义伪操作 
3.2.4 汇编控制伪操作 
3.2.5 杂项伪操作 
3.3 ARM汇编器支持的伪指令 
3.3.1 ADR伪指令 
3.3.2 ADRL伪指令 
3.3.3 LDR伪指令 
3.4 汇编语言与C/C++的混合编程 
3.4.1 内联汇编 
3.4.2 嵌入型汇编 
3.4.3 汇编代码访问C全局变量 
3.4.4 C++中使用C头文件 
3.4.5 混合编程调用举例 
本章小结 
思考题 
第4章 嵌入式软件基础实验 
4.1 Realview MDK简介 
4.2 ULINK2仿真器简介 
4.3 使用Realview MDK创建一个工程 
4.3.1 选择工具集 
4.3.2 创建工程并选择处理器 
4.3.3 建立一个新的源文件 
4.3.4 工程中文件的加入 
4.3.5 工程基本配置 
4.3.6 工程的编译链接 
4.4 嵌入式软件开发基础实验 
4.4.1 ARM汇编指令实验一 
4.4.2 ARM汇编指令实验二 
4.4.3 Thumb汇编指令实验 
4.4.4 ARM处理器工作模式实验 
4.4.5 C语言实验程序一 
4.4.6 C语言实验程序二 
4.4.7 汇编语言与C语言相互调用
实例 
本章小结 
第5章 ARM应用系统设计 
5.1 SoC系统概述 
5.2 S3C2410概述 
5.3 S3C2410系统功能电路设计 
5.3.1 概述 
5.3.2 电源电路 
5.3.3 时钟电路 
5.3.4 复位电路 
5.3.5 JTAG接口电路 
5.3.6 Nor Flash电路 
5.3.7 Nand Flash电路 
5.3.8 SDRAM电路 
5.3.9 串行接口电路 
5.3.10 以太网接口电路 
5.3.11 蜂鸣器电路及其PWM电路 
5.3.12 按键电路 
5.3.13 实时时钟 
5.3.14 A/D转换器电路 
5.3.15 IIS音频接口电路 
5.3.16 SD卡接口电路 
5.3.17 LCD电路 
5.3.18 USB接口电路 
5.3.19 印制电路板设计的注意事项 
本章小结 
思考题 
第6章 S3C2410系统接口操作原理及实验 
6.1 I/O接口实验 
6.1.1 实验目的 
6.1.2 实验设备 
6.1.3 实验内容 
6.1.4 实验原理 
6.1.5 实验操作步骤 
6.1.6 实验参考程序 
6.2 串口通信实验 
6.2.1 实验目的 
6.2.2 实验设备 
6.2.3 实验内容 
6.2.4 实验原理 
6.2.5 实验操作步骤 
6.2.6 实验参考程序 
6.3 中断实验 
6.3.1 实验目的 
6.3.2 实验设备 
6.3.3 实验内容 
6.3.4 实验原理 
6.3.5 实验操作步骤 
6.3.6 实验参考程序 
6.4 键盘控制实验 
6.4.1 实验目的 
6.4.2 实验设备 
6.4.3 实验内容 
6.4.4 实验原理 
6.4.5 实验设计 
6.4.6 实验操作步骤 
6.4.7 实验参考程序 
6.5 实时时钟实验 
6.5.1 实验目的 
6.5.2 实验设备 
6.5.3 实验内容 
6.5.4 实验原理 
6.5.5 实验设计 
6.5.6 实验操作步骤 
6.5.7 实验参考程序 
6.6 看门狗实验 
6.6.1 实验目的 
6.6.2 实验设备 
6.6.3 实验内容 
6.6.4 实验原理 
6.6.5 实验设计 
6.6.6 实验操作步骤 
6.6.7 实验参考程序 
6.7 IIC串行通信实验 
6.7.1 实验目的 
6.7.2 实验设备 
6.7.3 实验内容 
6.7.4 实验原理 
6.7.5 实验设计 
6.7.6 实验操作步骤 
6.7.7 实验参考程序 
6.8 A/D转换实验 
6.8.1 实验目的 
6.8.2 实验设备 
6.8.3 实验内容 
6.8.4 实验原理 
6.8.5 实验设计 
6.8.6 实验操作步骤 
6.8.7 实验参考程序 
6.9 Nand Flash读写实验 
6.9.1 实验目的 
6.9.2 实验设备 
6.9.3 实验内容 
6.9.4 实验原理 
6.9.5 实验设计 
6.9.6 实验操作步骤 
6.9.7 实验参考程序 
本章小结 
第7章 嵌入式操作系统及开发简述 
7.1 嵌入式Linux简介 
7.2 构建嵌入式Linux开发环境 
7.2.1 交叉开发环境介绍 
7.2.2 安装交叉开发工具 
7.2.3 主机交叉开发环境配置 
7.3 Bootloader 
7.3.1 Bootloader的种类 
7.3.2 U-Boot工程简介 
7.3.3 U-Boot编译 
7.3.4 U-Boot的移植思路 
7.3.5 U-Boot的烧写 
7.3.6 U-Boot的常用命令 
7.4 Linux内核与移植 
7.4.1 Linux内核结构 
7.4.2 Linux内核配置系统 
7.4.3 Linux内核编译选项 
7.5 移植Linux 2.6内核到S3C2410平台简述 
7.5.1 移植的概念 
7.5.2 设备驱动移植 
7.5.3 Nand Flash移植 
7.6 嵌入式文件系统构建 
7.6.1 文件系统简介 
7.6.2 嵌入式文件系统的特点和种类 
7.6.3 文件系统的组成 
7.6.4 利用BusyBox构建文件系统 
7.6.5 利用NFS调试新建的文件系统 
本章小结 
思考题 
第8章 嵌入式Linux实验 
8.1 搭建嵌入式Linux开发环境 
8.1.1 实验目的 
8.1.2 实验环境 
8.1.3 实验步骤 
8.2 移植U-Boot实验 
8.2.1 实验目的 
8.2.2 实验环境 
8.2.3 实验步骤 
8.3 烧写U-Boot实验 
8.3.1 实验目的 
8.3.2 实验环境 
8.3.3 实验步骤 
8.4 添加U-Boot命令实验 
8.4.1 实验目的 
8.4.2 实验环境 
8.4.3 实验步骤 
8.5 Linux内核编译与下载实验 
8.5.1 实验目的 
8.5.2 实验环境 
8.5.3 实验步骤 
8.6 Linux内核移植实验 
8.6.1 CS8900A网卡驱动移植 
8.6.2 Nand Flash驱动移植 
8.6.3 Yaffs2文件系统移植 
8.6.4 LCD驱动移植 
8.6.5 USB驱动移植 
8.7 文件系统制作实验 
8.7.1 实验目的 
8.7.2 实验环境 
8.7.3 实验步骤 
8.8 编写Linux内核模块实验 
8.8.1 实验目的 
8.8.2 实验环境 
8.8.3 实验步骤 
8.9 编写带参数的Linux内核模块实验 
8.9.1 实验目的 
8.9.2 实验环境 
8.9.3 实验步骤 
8.10 编写Linux字符驱动程序之LED实验 
8.10.1 实验目的 
8.10.2 实验环境 
8.10.3 实验步骤 
8.11 编写Linux字符驱动程序之PWM实验 
8.11.1 实验目的 
8.11.2 实验环境 
8.11.3 实验步骤 
8.12 编写Linux字符驱动程序之键盘扫描实验 
8.12.1 实验目的 
8.12.2 实验环境 
8.12.3 实验步骤 
本章小结 
参考文献 

章节摘录

版权页:   插图:   此伪操作使用的单精度浮点数的范围为1.17549435e—38~3.40282347e+38。 (3)示例。 ①分配一片连续的字存储单元并初始化为指定的单精度浮点数。 FDataTest DCFS 2E5,—5E—7 ②分配一片连续的字存储单元并初始化为单精度浮点数,但不严格要求字对齐。 DCFSU 1.0,—0.1,3.1e6 5.DCFD(或DCFDU) (1)语法格式。 DCFD(或DCFDU)伪指令用于为双精度的浮点数分配一片连续的字存储单元并用伪指令中指定的表达式初始化。每个双精度的浮点数占据两个字单元。 用DCFD分配的字存储单元是字对齐的,而用DCFDU分配的字存储单元并不严格字对齐。 语法格式如下: {label}DCFD{U} fpliteral{,fpliteral} ①{label}:程序标号,可选。 ②fpliteral:双精度浮点数。 (2)使用说明。 DCFS可能在分配的内存单元前加1~3字节以保证内存字对齐。当程序对内存对齐方式要求不严格时可以是DCFSU伪操作。 当程序中的浮点数要由ARM处理器进行操作时,用户选择的浮点处理器结构会自动完成字节顺序的转换。当编译时使用了编译选项—fpunone,伪操作DCFS(DCFSU)不可使用。 此伪操作使用的单精度浮点数的范围为2.22507385850720138e—308~1.79769313486231571e+308。 (3)示例。 ①分配一片连续的字存储单元并初始化为指定的双精度浮点数。 FDataTest DCFD 2E115,—5E7 ②分配一片连续的字存储单元并初始化为双精度浮点数,但不严格要求字对齐。 DCFDU 1.0,—0.1,3.1e6 6.DCQ(或DCQU) (1)语法格式。 DCQ(或DCQU)伪指令用于分配一片以8个字节为单位的连续存储区域并用伪指令中指定的表达式初始化。 用DCQ分配的存储单元是字对齐的,而用DCQU分配的存储单元并不严格字对齐。语法格式如下: {label}DCQ{U} {—}literal{,{—}literal} ①{label}:程序标号,可选。 ②literal:用于初始化内存的数字必须是可数的数字表达式,其取值范围为0~264—1。 可以在数字表达式前加负号来表示用负数初始化内存单元,但此时数字表达式的取值范围为—263~1。 (2)使用说明。 DCQ可能在分配的内存单元前加1~3字节以保证内存字对齐。当程序对内存对齐方式要求不严格时可以是DCQU伪操作。

编辑推荐

《21世纪高等教育计算机规划教材:嵌入式系统技术与设计(第2版)》可作为高等院校计算机、电子信息、通信工程、自动化等专业嵌入式系统教程的教材,也可作为相关嵌入式系统开发人员的参考书。

图书封面

评论、评分、阅读与下载


    嵌入式系统技术与设计 PDF格式下载


用户评论 (总计3条)

 
 

  •   挺不错的,讲mdk,2410
  •   商品质量不错,物流也挺快的,总的来说不错!
  •   感觉质量还好,但是就是发货速度有待提高
 

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

京ICP备13047387号-7