第1章 嵌入式系统概述
1.1 嵌入式系统简介
1.1.1 嵌入式系统的历史
1.1.2 嵌入式系统的定义
1.1.3 其他相关联的概念
1.2 嵌入式系统结构与应用领域
1.2.1 单片嵌入式系统
1.2.2 单片机的发展历史
1.2.3 单片机的发展趋势
1.2.4 单片机嵌入式系统的结构
1.2.5 单片机嵌入式系统的应用领域
1.3 习题
第2章 嵌入式系统的开发与设计
2.1 嵌入式系统的应用模式
2.1.1 嵌入式处理器
2.1.2 嵌入式操作系统
2.2 基于单片机的嵌入式系统开发
2.2.1 嵌入式系统的特点
2.2.2 基于单片机的嵌入式系统开发过程
2.2.3 基于单片机的嵌入式系统开发模式
2.2.4 嵌入式系统开发工具
2.3 基于单片机的嵌入式系统设计
2.3.1 嵌入式系统设计的基本指导思想
2.3.2 基于单片机的嵌入式系统设计基本原则与依据
2.3.3 设计开发时的注意事项
2.3.4 嵌入式系统设计方法(从单片机到单片系统)
2.4 习题
第3章 开发环境
3.1 keil μvision3介绍
3.2 keil μvision3的功能
3.3 keil μvision3的安装与配置
3.3.1 keil μvision3系统要求
3.3.2 keil μvision3安装
3.3.3 keil μvision3目录结构
3.3.4 注册与帮助
3.4 开发过程
3.4.1 创建工程并选择处理器
3.4.2 配置处理器启动代码
3.4.3 配置硬件选项
3.4.4 创建源文件及文件组
3.4.5 编译链接工程
3.4.6 调试程序
3.4.7 建立hex文件
3.4.8 下载hex文件
3.5 习题
第4章 基于arm cortexm3的嵌入式处理器
4.1 arm及arm架构的背景
4.2 arm的架构版本
4.3 arm cortexm3处理器初探
4.4 cortexm3处理器内核vs.基于cortexm3的mcu
4.5 thumb2指令集体系结构
4.6 习题
第5章 cortexm3处理器寄存器及指令系统
5.1 寄存器组
5.1.1 寄存器
5.1.2 cortexm3的寄存器
5.2 处理器操作模式与特权级别
5.3 arm汇编语言基础
5.3.1 arm汇编伪指令
5.3.2 arm的汇编语言结构
5.4 特殊功能寄存器组
5.4.1 程序状态寄存器(psrs或psr)
5.4.2 primask、faultmask和basepri
5.4.3 控制寄存器(control)
5.5 异常和中断
5.6 嵌套向量中断控制器
5.7 存储器保护单元
5.8 堆栈区的操作
5.8.1 堆栈的基本操作
5.8.2 cortexm3堆栈的实现
5.8.3 cortexm3的双堆栈机制
5.9 习题
第6章 stm32架构简介
6.1 stm32系列微控制器简介
6.2 stm32微控制器的分类
6.2.1 stm32f101xx系列微控制器
6.2.2 stm32f103xx系列微控制器
6.3 stm32微控制器的主要优点
6.4 stm32微控制器的应用
6.5 习题
第7章 嵌入式处理器外设
7.1 存储器和总线结构
7.1.1 系统结构
7.1.2 存储器结构
7.1.3 嵌入式sram
7.1.4 位段
7.1.5 嵌入式闪存存储器(flash)
7.1.6 启动配置
7.2 电源控制
7.2.1 电源供应
7.2.2 电源供应管理
7.2.3 低功耗模式
7.2.4 电源控制寄存器
7.3 复位和时钟控制
7.3.1 复位
7.3.2 时钟
7.3.3 rcc寄存器描述
7.4 通用i/o和复用i/o(gpio和afio)
7.4.1 gpio介绍
7.4.2 stm32下的gpio描述
7.4.3 gpio寄存器描述
7.4.4 复用功能i/o和调试配置(afio)
7.4.5 afio寄存器描述
7.4.6 实验: 通过使用keil μvision3在stm32模拟器下实现gpio的跑马灯程序
7.5 外部中断和事件
7.5.1 什么是中断
7.5.2 stm32f10x外部中断/事件功能描述
7.5.3 exti相关功能寄存器
7.5.4 实验: 通过使用keil μvision3在stm32模拟器下实现按键处理
7.6 通用定时器(timx)
7.6.1 简介
7.6.2 主要特性
7.6.3 功能描述
7.6.4 通用定时器(timx)寄存器描述
7.6.5 实验: 通过使用keil μvision3在stm32模拟器下对定时器的实现
7.7 实时时钟
7.7.1 简介
7.7.2 主要特性
7.7.3 功能描述
7.7.4 rtc寄存器描述
7.7.5 实验: 通过使用keil μvision3在stm32模拟器下对定时器下实现仿真钟表输出
7.8 习题
第8章 stm32外部通信接口
8.1 串行通信接口
8.1.1 串行通信接口(uart)介绍
8.1.2 stm32下的usart操作
8.1.3 stm32下的uart寄存器描述
8.1.4 实验: 通过使用keil μvision3在stm32模拟器下实现uart的字符输入输出
8.2 spi
8.2.1 spi介绍
8.2.2 stm32下的spi操作
8.2.3 stm32下的spi寄存器介绍
8.2.4 实验: 通过使用keil μvision3在stm32模拟器下实现spi的输出
8.3 i2c
8.3.1 i2c介绍
8.3.2 stm32下的i2c操作
8.3.3 stm32下的i2c寄存器介绍
8.3.4 实验: 通过使用keil μvision3在stm32模拟器下实现i2c口的输出
8.4 dma控制器
8.4.1 dma介绍
8.4.2 stm32下的dma操作
8.4.3 stm32下的dma寄存器
8.4.4 实验: 通过使用keil μvision3在stm32模拟器下实现dma口的控制
8.5 a/d转换
8.5.1 a/d转换介绍
8.5.2 stm32下的a/d转换器操作
8.5.3 stm32下的a/d转换寄存器描述
8.5.4 实验: 通过使用keil μvision3在stm32模拟器下实现a/d转换器的控制
8.6 习题
第9章 前后台操作系统介绍
9.1 前后台操作系统的特征
9.1.1 前后台操作系统的前台与后台
9.1.2 前后台操作系统的任务特征
9.1.3 前后台操作系统的实时特征
9.2 实现一个前后台操作系统
9.2.1 分析前后台操作系统
9.2.2 将消息队列应用到前后台操作系统中
9.2.3 变量的互斥条件
9.3 实验: 实现一个基于消息驱动的前后台操作系统
9.3.1 实验目的
9.3.2 实验假设
9.3.3 准备工作
9.3.4 实验步骤
9.4 习题
第10章 基于多任务的嵌入式操作系统介绍
10.1 多任务操作系统
10.2 实现一个多任务操作系统
10.2.1 前期准备
10.2.2 系统启动
10.2.3 实现基本调度定义
10.2.4 实现任务
10.2.5 调度进阶
10.3 实验: 分析一个简单的多任务操作系统内核的系统利用率
10.3.1 实验目的
10.3.2 准备工作
10.3.3 实验步骤
10.4 习题
参考文献