第1章绪论
1.1微处理器定义
1.2ARM发展历程
1.3ARM体系结构与特点
1.4处理器选型
1.4.1嵌入式微处理器选型的考虑因素
1.4.2嵌入式微处理器选型示例
第2章ARM核体系结构
2.1寄存器
2.2ALU
2.3存储部件
2.4中断控制
2.5总线
2.6外围接口I/O
2.7流水线
2.8ARM协处理器接口
第3章ARM指令集
3.1指令简介
3.2ARM寻址方式
3.2.1数据处理指令的操作数的寻址方式
3.2.2字及无符号字节的Load/Store指令的寻址方式
3.2.3杂类Load/Store指令的寻址方式
3.2.4批量Load/Store指令的寻址方式
3.2.5协处理器Load/Store指令的寻址方式
3.3Cortex指令集
3.3.1数据传送类指令
3.3.2数据处理指令
3.3.3其他计算类指令
3.3.4饱和运算
3.3.5无条件跳转指令
3.3.6标志位与条件转移指令
3.3.7IF-THEN指令块
3.3.8Barrier隔离指令
3.3.9其他一些有用的指令
3.3.10对内存的互斥访问
3.4伪指令
3.5内嵌汇编
第4章Cortex-M3特性
4.1特殊功能寄存器
4.2中断建立全过程的演示
4.3复位序列
4.4中断咬尾
4.5晚到异常
4.6位带操作
4.7互斥访问
第5章C语言与汇编语言混编
5.1ATPCS与AAPCS
5.2嵌入式C编写与编译
5.3C语言与汇编语言混编规范
5.3.1内嵌汇编
5.3.2汇编程序中访问C全局变量
5.3.3C语言与汇编语言的相互调用
5.4C语言与汇编语言混编实践
5.4.1Keil使用和STM32固件库
5.4.2建立自己的第一个Keil程序
第6章STM32输入/输出
6.1pin配置
6.1.1单独的位设置或位清除
6.1.2外部中断/唤醒线
6.1.3复用功能
6.1.4软件重新映射I/O复用功能
6.1.5GPIO锁定机制
6.1.6输入配置
6.1.7输出配置
6.1.8复用功能配置
6.1.9模拟输入配置
6.2输入/输出基本概念(寄存器、输入/输出类型)
6.2.1基本概念
6.2.2寄存器详解
6.2.3复用I/O配置寄存器
6.2.4通用I/O和AFIO使用的配置步骤
6.3通用I/O锁定机制
6.4系统时钟
6.4.1时钟配置
6.4.2时钟输出的使能控制
6.5输入/输出常用固件库函数
6.5.1GPIO_Delnit函数
6.5.2GPIO_AFIODelnit函数
6.5.3GPIO_Init函数
6.5.4GPIO_StructInit函数
6.5.5GPIO_ReadInputDataBit函数
6.5.6GPIO_ReadlnputData函数
6.5.7GPIO_ReadOutputDataBit函数
6.5.8GPIO_ReadOutputData函数
6.5.9GPIO_SetBits函数
6.5.10GPIO_ResetBits函数
6.5.11GPIO_WriteBit函数
6.5.12GPIO_Write函数
6.5.13GPIO_PinLockConfig函数
6.5.14GPIO_EventOutputConfig函数
6.5.15GPIO_EventOutputCmd函数
6.5.16GPIO_PinRemapConfig函数
6.5.17GPIO_EXTILineConfig函数
6.6GPIO控制LED灯
6.6.1硬件设计
6.6.2软件设计
6.7GPIO控制蜂鸣器
6.7.1硬件设计
6.7.2软件设计
6.8跑马灯实验
6.8.1硬件设计
6.8.2软件设计
6.9LCD1602驱动
6.9.1硬件设计
6.9.2软件设计
第7章串行通信模块与中断程序
7.1接口与通信标准
7.1.1I2C接口
7.1.2通用同步/异步收发器(USART)
7.1.3串行外设接口(SPI)
7.1.4控制器区域网络(CAN)
7.1.5通用串行总线(USB)
7.2串口USART实例
7.3扫描键盘
7.4继电器
7.5脉宽调制
7.6步进电动机
第8章STM32带操作系统编程
8.1RAM、Flash启动
8.2小型操作系统sTM32移植
8.2.1μCOS-Ⅱ内核简介
8.2.2开始移植
8.2.3程序开发模式讨论
第9章综合案例
9.1硬件连接方式
9.2驱动软件编写
9.2.1串口通信
9.2.2数据采集
9.2.3小车的方向控制
9.2.4小车的速度控制
9.3Z-Stack软件框架
9.3.1任务调度
9.3.2ZigBee无线传输系统开发
9.4计算机端程序开发
附录ASTM32F10x.h中的定义
附录BLCD1602程序