标题：ARM 与嵌入式技术
基本信息
  作者： 孙红波等    
丛书名： PHILIPS大学计划指定教材 
出版社：电子工业出版社 
ISBN：7121023687 
出版日期：2006 年3月 
版次：1-1
内容简介
本书是学习arm基础知识、嵌入式技术的入门性教材。
全书内容分三部分：第一部分是arm基础内容，介绍arm的基本概念、基本结构、基本寻址方式和基本指令，通过philips公司的lpc2200系列芯片对arm微控制器给予详细介绍。第二部是编程技术。配合lpc2292实验系统给出若干实验，如实现串行通信、a/d转换、lcd驱动、键盘扩展、定时器、gui、和usb驱动等。第三部分主要介绍嵌入式linux的基础知识和嵌入式linux开发环境的配置。主要介绍uclinux操作系统相关的知识，如任务管理、任务间通信、内存与i/o管理以及中断处理机制等。
全书侧重基本概念，内容丰富，语言流畅，通俗易懂。本书备有相应习题练习和机考系统。本书本书在编写中，尽量减少对其他专业的依托。它既可作为各高等院校有关嵌入式理工科大学本科生的教材，也可为从事arm及嵌入式linux的工程人员提供学习和参考。
目录
第1章 arm处理器概述 
1.1 arm技术的发展. 
1.2 risc微处理器的体系结构及其特点 
1.3 arm微处理器的指令系统 
1.4 arm处理器系列 
1.4.1 arm7微处理器系列 
1.4.2 arm9微处理器系列 
1.4.3 arm9e微处理器系列 
1.4.4 arm10e微处理器系列 
1.4.5 securcore微处理器系列 
1.4.6 xscale处理器 
1.5 arm微处理器的应用系统开发 
习题1 
第2章 arm体系结构 
2.1 arm7tdmi程序员模型 
2.1.1内核概述 
2.1.2译码器与控制逻辑 
2.1.3运算器 
2.1.4内核接口信号 
2.2 工作状态与工作模式 
.2.2.1 工作状态 
2.2.2 arm的工作模式 
2.3 arm和thumb状态的寄存器组织 
2.3.1通用寄存器 
2.3.2 thumb状态下的寄存器组织 
2.3.3程序计数器 
2.3.4程序状态寄存器 
2.3.5连接寄存器 
2.3.6堆栈指针寄存器 
2.4 存储器组织结构 
2.4.1数据类型和存储数据格式 
2.4.2数据总线类型 
2.4.3 arm7tdmi总线访问周期 
2.4.4指令预取与代码自修改 
2.4.5 amba接口(advanced microcontroller bus architecture) 
2.5 异常(exceptions) 
2.5.1异常类型及其处理过程 
2.5.2异常优先级(exception priorities)和异常向量(exception vectors) 
2.5.3应用程序中的异常响应 
2.5.4异常返回 
2.6 复位 
2.7 协处理器接口 
2.7.1协处理器概述 
2.7.2 arm7tdmi与协处理器的协同关系 
2.7.3协处理器使用中的若干问题 
习题2 
第3章 arm指令的特点和寻址方式 
3.1 arm指令特点 
3.2 arm指令的寻址方式 
习题3 
第4章 arm指令系统概述 
4.1分支指令 
4.2 arm的数据处理指令 
4.2.1算术运算类指令 
4.2.2逻辑运算类指令 
4.2.3比较类指令 
4.2.4测试类指令 
4.2.5传送类指令 
4.2.6乘法类指令 
4.3 异常处理指令 
4.4 arm的存储器加载/存储指令 
4.4.1单寄存器加载 
4.4.2单寄存器存储 
4.4.3多寄存器加载和多寄存器存储 
4.4.4寄存器交换 
4.5 协处理器指令 
4.6 arm状态寄存器访问指令 
习题4 
第5章 arm汇编语言程序设计 
5.1 arm汇编语言伪指令 
5.1.1符号定义伪指令 
5.1.2空间分配伪指令 
5.1.3汇编控制伪指令 
5.1.4格式控制伪指令 
5.1.5 arm伪指令 
5.1.6 thumb伪指令 
5.2 arm汇编语言语句格式 
5.2.1 arm汇编语言中的符号 
5.2.2汇编语言程序中的表达式和运算符 
5.3 arm语言程序结构 
5.4 简单的arm程序设计 
5.4.1简单的arm程序 
5.4.2子程序调用程序设计 
5.4.3分支程序设计 
5.4.4查表与散转程序设计 
5.4.5数据串拷贝程序的设计 
习题5 
第6章 arm-thumb交互工作 
6.1 交互工作原理 
6.1.1交互工作的必要性 
6.1.2交互工作的切换指令 
6.1.3与状态切换有关的伪指令 
6.2 交互程序 
6.2.1简单的交互程序设计的例子 
6.2.2 arm指令头的例子 
6.2.3交互子程序调用 
6.3 arm v5t扩展 
6.4 交互子程序和veneer 
6.4.1交互编译选项 
6.4.2 veneer 
习题6 
第7章 lpc2200系列原理与功能 
7.1 概述.. 
7.1.1特性 
7.1.2结构 
7.2 管脚分布及信号描述 
7.3 存储系统 
7.3.1存储器映射 
7.3.2存储器加速模块(mam) 
7.3.3外部存储器控制器(emc) 
7.4 时钟控制电路 
7.4.1晶体振荡器 
7.4.2 pll及相关寄存器 
7.4.3 vpb分频器及相关寄存器 
7.5 复位和功率控制 
7.5.1复位 
7.5.2功率控制 
7.6 中断 
7.6.1向量中断控制器vic 
7.6.2外部中断 
7.7 其他片上外围模块 
习题7 
第8章 lpc2200系列开发平台 
8.1 概述 
8.2 硬件电路的设计及其注意事项 
8.2.1电源、晶振及复位信号的处理 
8.2.2 jtag接口电路的正确设计 
8.2.3模式管脚的连接方法 
8.2.4存储器扩展 
8.2.5 uart扩展 
8.2.6 can总线扩展 
8.2.7 usb接口 
8.2.8硬件系统设计需要考虑的问题 
习题8 
第9章 集成开发环境embest ide 
9.1 embest ide概述 
9.1.1 embest ide开发环境 
9.1.2 embest ide安装 
9.1.3 embest ide主框架窗口 
9.2 embest ide的编辑 
9.3 工程管理 
9.3.1工程管理的操作 
9.3.2工程配置 
9.4 编译、汇编和链接 
9.4.1 gnu tools for arm选项 
9.4.2 arm build tools选项 
9.4.3工程文件夹的编译设置 
9.4.4工程编译、汇编和链接 
9.5 工程调试 
9.5.1调试设置 
9.5.2调试 
9.5.3 embest ide附带工具介绍 
9.6 gnu编译环境下程序的编写 
9.6.1移植sdt的汇编程序 
9.6.2链接脚本文件 
习题9 
第10章 arm高级语言程序设计基础 
10.1 c语言与汇编的混合编程 
10.1.1 arm过程调用标准atpcs 
10.1.2内嵌汇编器 
10.1.3 c语言和arm汇编语言间相互调用 
10.2 基本i/o程序(含启动代码) 
10.2.1启动代码 
10.2.2基本i/o主程序 
10.3 spi通信程序 
10.4 串口通信程序 
10.5 a/d程序 
10.6 中断程序 
习题10 
第11章 嵌入式linux 
11.1 嵌入式操作系统概述 
11.1.1操作系统的作用 
11.1.2操作系统的主要任务 
11.1.3嵌入式操作系统的特点 
11.1.4典型的嵌入式实时操作系统 
11.2 嵌入式linux操作系统内核及其特点 
11.2.1 gnu及自由软件开发模式 
11.2.2 linux内核的引入 
11.2.3 linux内核的特点 
11.2.4标准linux内核的变种 
11.3 linux与uclinux 
11.3.1 uclinux名称释义 
11.3.2 mmu工作机制 
11.3.3 uclinux与普通linux系统的异同 
11.3.4 uclinux的发展前景 
11.4 构建一个嵌入式linux系统 
11.4.1 linux内核与linux系统 
11.4.2嵌入式linux系统的特点 
11.4.3嵌入式系统的开发 
11.4.4开发一个嵌入式linux系统 
习题11 
第12章 嵌入式linux内核移植和定制 
12.1 linux内核代码的基本结构 
12.2 linux内核的配置与编译 
12.2.1内核配置 
12.2.2应用程序配置 
12.3 嵌入式linux的引导过程 
12.4 内核移植的一般步骤 
12.5 根文件系统的分析与构造 
12.5.1 根文件系统的组成 
12.5.2文件系统的选择 
12.5.3根文件系统的生成 
习题12 
第13章 嵌入式linux应用程序的开发 
13.1 概述 
13.2 嵌入式应用程序的开发过程 
13.3 交叉编译环境的建立 
13.3.1 cygwin开发环境 
13.3.2交叉编译工具gcc 
13.4 多程序的编译工具make 
13.5 交叉调试工具gdb 
13.5.1 gdb的使用 
13.5.2 gdb的基本命令 
13.5.3 gdb的工作过程 
13.5.4关于core文件 
13.5.5调试运行中的进程 
习题13 
第14章 嵌入式linux驱动程序的开发 
14.1 概述 
14.2 将设备驱动程序纳入到文件系统中 
14.3 设备驱动程序的编程框架及函数调用接口 
14.3.1设备驱动程序开发的特性与共性 
14.3.2程序框架及解释 
14.4 设备驱动程序的实例 
14.5 设计自己的驱动程序 
14.5.1设备的功能 
14.5.2设备的实现 
14.5.3其他驱动程序相关技术 
14.5.4动态加载设备驱动程序 
习题14 
参考文献