第1章 S+core 7体系结构 1
1.1 S+core 7简介 1
1.2 S+core 7特点 1
1.3 体系结构直接支持的数据类型 2
1.4 处理器模式 2
1.5 内部寄存器 3
1.5.1 概述 3
1.5.2 通用寄存器 3
1.5.3 用户自定义引擎寄存器 4
1.5.4 特殊功能寄存器 4
1.5.5 控制寄存器 4
1.6 异常 10
1.6.1 异常原因 10
1.6.2 异常处理流程 10
1.6.3 异常优先级 12
1.6.4 异常向量 13
1.6.5 各种异常描述 14
1.7 缓存简介 17
1.7.1 指令Cache 18
1.7.2 数据Cache 19
1.7.3 存储器一致性 19
1.8 指令存储器和数据存储器 20
1.8.1 指令存储器 20
1.8.2 数据存储器 20
1.9 片上调试 20
第2章 S+core 7指令系统 22
2.1 概述 22
2.2 指令格式与编码 22
2.3 32位指令集 25
2.3.1 装载与存储指令 25
2.3.2 数据处理指令 32
2.3.3 分支指令 43
2.3.4 特殊指令 44
2.3.5 协处理器指令 49
2.4 16位指令集 51
2.4.1 装载与存储指令 51
2.4.2 数据处理指令 53
2.4.3 跳转与分支指令 54
2.4.4 特殊指令 55
2.4.5 并行条件执行 55
2.5 合成指令集 55
2.6 S+core 7处理器的GNU编译器 59
2.6.1 S+core 7 C编译器参数 59
2.6.2 S+core 7 C编译器的基本数据类型 60
2.6.3 S+core 7 C编译器的函数调用约定 60
2.7 S+core 7处理器的GNU汇编器 62
2.7.1 S+core 7 C汇编器参数 62
2.7.2 汇编语言语法 63
2.7.3 汇编器伪指令 63
2.7.4 段及其重定位 66
2.8 S+core 7处理器的GNU链接器 67
第3章 SPCE3200使用指南 68
3.1 简介 68
3.1.1 概述 68
3.1.2 SPCE3200特性 68
3.2 引脚信息 69
3.2.1 SPCE3200的引脚分布 69
3.2.2 SPCE3200的引脚描述 69
3.3 结构概述 76
3.4 存储器分配 77
3.5 存储器映射 78
3.6 锁相环PLL与时钟发生器CKG 80
3.6.1 锁相环PLL 80
3.6.2 时钟发生器CKG 81
3.6.3 寄存器描述 82
3.6.4 系统时钟调整 85
3.7 中断控制器 89
3.7.1 概述 89
3.7.2 特性 89
3.7.3 中断源 89
3.7.4 结构框图 91
3.7.5 寄存器描述 91
3.7.6 中断机制 97
3.7.7 应用举例 105
3.8 存储器接口单元 106
3.9 APB总线DMA 110
3.10 启动代码 117
3.10.1 文件组成 118
3.10.2*_Prog.ld 118
3.10.3*_startup.s 119
3.10.4 启动代码工作流程 120
第4章 SPCE3200功能部件 122
4.1 通用I/O口 122
4.1.1 概述 122
4.1.2 引脚描述 125
4.1.3 结构 125
4.1.4 寄存器描述 126
4.1.5 基本操作 129
4.2 定时器 129
4.2.1 概述 129
4.2.2 特性 130
4.2.3 引脚描述 130
4.2.4 结构 130
4.2.5 寄存器描述 131
4.2.6 基本操作 136
4.2.7 注意事项 146
4.3 实时时钟 146
4.3.1 概述 146
4.3.2 特征 146
4.3.3 寄存器描述 147
4.3.4 基本操作 150
4.3.5 应用举例 151
4.4 时基 152
4.4.1 概述 152
4.4.2 结构 152
4.4.3 寄存器描述 152
4.4.4 基本操作 155
4.4.5 应用举例 155
4.5 看门狗 156
4.5.1 概述 156
4.5.2 特性 156
4.5.3 结构 156
4.5.4 寄存器描述 157
4.5.5 基本操作 159
4.5.6 注意事项 160
4.6 睡眠与唤醒 160
4.6.1 睡眠 160
4.6.2 睡眠相关寄存器 160
4.6.3 唤醒 161
4.6.4 键唤醒相关寄存器 164
4.6.5 应用举例 165
4.7 模/数转换器 166
4.7.1 概述 166
4.7.2 特性 167
4.7.3 引脚描述 167
4.7.4 结构框图 168
4.7.5 寄存器描述 168
4.7.6 基本操作 177
4.7.7 注意事项 181
4.8 通用异步串行通信模块 181
4.8.1 概述 181
4.8.2 特性 181
4.8.3 引脚描述 182
4.8.4 结构框图 182
4.8.5 寄存器描述 183
4.8.6 基本操作 190
4.8.7 注意事项 195
4.9 串行外围接口 195
4.9.1 概述 195
4.9.2 特性 195
4.9.3 引脚描述 196
4.9.4 结构框图 196
4.9.5 SPI描述 196
4.9.6 寄存器描述 199
4.9.7 基本操作 203
4.9.8 注意事项 206
4.10 标准的硬件接口 207
4.10.1 概述 207
4.10.2 特性 207
4.10.3 引脚描述 207
4.10.4 结构框图 207
4.10.5 I2C描述 208
4.10.6 寄存器描述 213
4.10.7 基本操作 218
4.10.8 注意事项 222
4.11 SIO控制器 222
4.11.1 概述 222
4.11.2 特性 223
4.11.3 引脚描述 223
4.11.4 结构 224
4.11.5 寄存器描述 224
4.11.6 基本操作 230
4.11.7 注意事项 234
4.12 NOR型Flash控制器 235
4.12.1 概述 235
4.12.2 特性 242
4.12.3 引脚描述 242
4.12.4 寄存器描述 244
4.12.5 基本操作 246
4.13 TFT LCD控制器 251
4.13.1 概述 251
4.13.2 特性 253
4.13.3 引脚描述 253
4.13.4 寄存器描述 254
4.13.5 基本操作 267
第5章 SPCE3200开发系统介绍 269
5.1 SPCE3200实验仪 269
5.1.1 功能特点 269
5.1.2 硬件原理 270
5.2 S+core IDE集成开发环境 272
5.2.1 工程的编辑 272
5.2.2 工程的调试 288
5.3 应用举例 299
第6章 SPCE3200应用实例 306
6.1 原理概述 306
6.2 应用分析 306
6.3 硬件电路 307
6.4 程序设计 308
6.4.1 主程序 308
6.4.2 软件FIFO管理程序 308
6.4.3 UART收发程序 309
6.4.4 RTC控制及日期计算程序 309
6.4.5 NOR型Flash操作程序 311
6.4.6 命令获取和分配程序 311
6.4.7 命令处理程序 313
第7章 附录 316
7.1 常用术语、缩写和约定解释 316
7.1.1 术语 316
7.1.2 缩写 318
7.1.3 约定 319
7.2 CPU内核寄存器速查表 320
7.3 硬件模块寄存器速查表 321
7.4 汇编指令速查表 329
7.5 伪指令速查表 333