前言
第1章 概述
1.1 计算机发展简史
1.1.1 现代电子计算机的起源
1.1.2 现代电子计算机的发展历程
1.1.3 摩尔定律
1.1.4 计算机的类型
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 计算机中的其他信息编码
1.4 嵌入式系统简介
1.4.1 嵌入式系统的基本概念
1.4.2 嵌入式系统的硬件
1.4.3 嵌入式系统的软件
1.4.4 嵌入式系统的发展概况
1.4.5 几种典型的嵌入式处理器
习题
第2章 计算机系统的基本结构与工作原理
2.1 计算机系统的基本结构与组成
2.1.1 计算机的层次模型
2.1.2 基于冯·诺依曼结构的模型机系统结构
2.2 模型机存储器子系统
2.2.1 存储器的组织和地址
2.2.2 字的对齐——对准存放
2.2.3 小端格式和大端格式
2.2.4 存储器操作
2.2.5 存储器的分级
2.3 模型机CPU子系统
2.3.1 运算器
2.3.2 控制器
2.3.3 寄存器阵列
2.3.4 地址和数据缓冲器
2.3.5 数据通道
2.4 模型机指令集和指令执行过程
2.4.1 模型机指令集
2.4.2 指令周期
2.4.3 模型机指令执行流程
2.5 计算机体系结构的改进
2.5.1 CISC和RISC
2.5.2 流水线技术
2.5.3 超标量处理器和多发射技术
2.5.4超线程(Hyper threading)处理器
2.5.5 多处理器计算机和多计算机系统
2.5.6 多核处理器(Multi core)
2.6 Intel x86典型微处理器简介
2.6.1 Intel 8086处理器
2.6.2 Intel Pentium处理器
2.7 ARM嵌入式处理器简介
2.7.1 ARM体系结构、ARM处理器和ARM内核
2.7.2 ARM处理器的特点
2.7.3 典型ARM内核的基本结构
2.8 计算机性能评测
习题
第3章 存储器系统
3.1 概述
3.1.1 存储器的类型
3.1.2 层次化的存储器系统
3.1.3 外存的接口标准
3.1.4 存储器性能指标
3.2 只读存储器
3.2.1 掩模ROM
3.2.2 PROM
3.2.3 EPROM
3.2.4 EEPROM
3.2.5 Flash
3.3 随机存取存储器
3.3.1 静态RAM
3.3.2 动态RAM
3.4 存储器与CPU的连接
3.4.1 地址空间与存储器连接
3.4.2 存储器扩展
3.4.3 嵌入式系统的存储器扩展
3.4.4 存储器模块
3.5 高速缓存
3.5.1 Cache概述
3.5.2 地址映射与转换
3.5.3 Cache更新与替换策略
3.6 虚拟存储器
3.6.1 虚拟存储器概述
3.6.2 段式虚拟存储器
3.6.3 页式虚拟存储器
3.6.4 段页式虚拟存储器
习题
第4章 总线和接口
4.1 总线技术
4.1.1 总线技术概述
4.1.2 总线仲裁
4.1.3 总线操作与时序
4.2 片上总线AMBA
4.2.1 AMBA总线概述
4.2.2 AHB总线
4.2.3 ASB总线
4.2.4 APB总线
4.2.5 AXI总线
4.2.6 AMBA的不同版本
4.3 系统总线和外部总线
4.3.1 PCI
4.3.2 PCI Express
4.3.3 USB
4.3.4 典型的计算机总线系统简介
4.4 输入/输出接口
4.4.1 输入/输出接口概述
4.4.2 I/O接口数据传送方式概述
4.4.3 中断传输方式
4.4.4 DMA传送方式
4.4.5 并行接口
4.4.6 串行接口
习题
第5章 ARM处理器体系结构和编程模型
5.1 ARM体系结构与ARM处理器概述
5.1.1 指令集体系结构与微架构
5.1.2 ARM处理器体系结构简介
5.1.3 ARM处理器主要产品系列简介
5.2 Cortex M3/M4处理器结构
5.2.1 Cortex M3/M4处理器概述及指令集架构
5.2.2 Cortex M3/M4处理器结构
5.2.3 存储器管理
5.2.4 总线系统
5.2.5 异常与中断处理
5.3 Cortex M3/M4的编程模型
5.3.1 操作状态与操作模式
5.3.2 常规寄存器
5.3.3 特殊寄存器
5.3.4 堆栈结构
5.4 Cortex M处理器存储系统
5.4.1 存储器映射
5.4.2 连接存储器和外设
5.4.3 存储器的端模式
5.4.4 非对准数据的访问
5.4.5 位段操作
5.4.6 存储器访问权限
5.4.7 存储器访问属性
5.4.8 排他访问
5.4.9 存储器屏障
5.5 Cortex M处理器的异常处理
5.5.1 Cortex M异常管理模型
5.5.2 向量表重定位机制
5.5.3 异常请求和挂起
5.5.4 NVIC寄存器
5.5.5 SCB寄存器
习题
第6章 ARM处理器的指令系统
6.1 ARM处理器指令集概述
6.2 T32指令格式
6.2.1 16比特指令二进制格式
6.2.2 32比特指令二进制格式
6.2.3 T32指令的汇编语法
6.2.4 T32的条件执行指令
6.2.5 T32指令格式示例
6.3 T32指令集的寻址方式
6.3.1 立即数寻址
6.3.2 寄存器寻址
6.3.3 寄存器间接寻址
6.3.4 寄存器移位寻址
6.3.5 寄存器偏移寻址
6.3.6 前变址寻址
6.3.7 后变址寻址
6.3.8 多寄存器寻址
6.3.9 堆栈寻址
6.3.10 PC相对寻址
6.4 Cortex M3/M4指令集
6.4.1 处理器内部数据传送指令
6.4.2 存储器访问指令
6.4.3 算术运算指令
6.4.4 逻辑运算指令
6.4.5 移位和循环移位指令
6.4.6 数据格式转换
6.4.7 位域处理指令
6.4.8 比较和测试指令
6.4.9 程序流控制指令
6.4.10 饱和运算
6.4.11 其他杂类指令
6.4.12 Cortex M4特有指令
习题
第7章 ARM程序设计
7.1 ARM程序开发环境
7.1.1 常用ARM集成开发环境简介
7.1.2 KEIL MDK开发环境简介
7.2 ARM汇编程序中的伪指令
7.2.1 汇编语言中常用运算符和表达式
7.2.2 符号定义(Symbol Definition)伪指令
7.2.3 数据定义(Data Definition)伪指令
7.2.4 汇编控制(Assembly Control)伪指令
7.2.5 其他常用的伪指令
7.2.6 汇编语言中常用的符号
7.3 ARM汇编语言程序设计
7.3.1 ARM汇编语言的语句格式
7.3.2 ARM汇编语言程序结构
7.3.3 ARM汇编程序设计实例
7.4 ARM汇编语言与C/C++的混合编程
7.4.1 ATPCS/AAPCS——C语言与汇编语言之间的函数调用规则
7.4.2 C程序调用ARM汇编函数
7.4.3 ARM汇编程序调用C函数
7.4.4 内嵌汇编和内联汇编
7.4.5 使用C语言实现底层操作
习题
第8章 基于ARM的硬件与软件系统设计开发
8.1 嵌入式系统设计与开发综述
8.1.1 概述
8.1.2 嵌入式生态系统
8.1.3 嵌入式系统的开发环境和开发工具
8.1.4 嵌入式系统的调试方式
8.2 嵌入式系统开发过程
8.2.1 需求分析
8.2.2 系统概要设计
8.2.3 系统详细设计和实现
8.3 基于ARM内核的典型微处理器简介
8.3.1 恩智浦LPC2132微处理器
8.3.2 三星S3C2440A微处理器
8.3.3 意法半导体STM32系列微处理器
8.4 ARM微处理器最小硬件系统
8.4.1 微处理器最小硬件系统
8.4.2 S3C2440A的最小硬件系统
8.4.3 STM32F103的最小硬件系统
8.5 嵌入式软件系统设计
8.5.1 嵌入式软件系统结构及工作流程
8.5.2 嵌入式操作系统
8.5.3 嵌入式软件开发模式
8.5.4 基于工程方式的嵌入式软件开发流程
8.6 ARM中的GPIO
8.6.1 概述
8.6.2 工作原理
8.6.3 与GPIO相关的库函数及寄存器
8.6.4 GPIO应用实例
8.7 定时器
8.7.1 STM32F103定时器概述
8.7.2 STM32F103基本定时器TIM6和TIM7
8.7.3 STM32F103通用定时器TIM2~TIM5
8.7.4 STM32F103不错定时器TIM1和TIM8
8.7.5 定时器的主从模式、触发与同步
8.7.6 与STM32F10x定时器相关的库函数和寄存器
8.7.7 定时器中的常用寄存器
8.7.8 定时器应用实例
8.8 中断控制器
8.8.1 STM32F103中断系统概述
8.8.2 外部中断/事件控制器EXTI
8.8.3 与NVIC和EXTI相关的库函数及寄存器
8.8.4 中断应用实例
8.8.5 中断小结及应用要点
8.9 USART
8.9.1 主要特性
8.9.2 内部结构
8.9.3 USART的事件
8.9.4 使用DMA方式进行USART通信
8.9.5 与USART相关的库函数及寄存器
8.9.6 USART应用实例
8.9.7 USART小结及应用要点
8.9.8 使用库函数开发STM32F10x外设的小结
8.10 SPI与I2C
8.10.1 STM32F103的SPI模块简介
8.10.2 与SPI相关的库函数
8.10.3 SPI应用实例
8.10.4 SPI小结
8.10.5 STM32F103的I2C工作原理
8.10.6 与I2C相关的库函数
8.10.7 I2C应用实例:读写I2C_EEPROM
8.10.8 I2C小结及应用要点
习题
参考文献
展开