高校嵌入式通用教材 · Embest EduKit-IV 系列丛书
基于 S3C2410 嵌入式 MDK
开发实验与实践
Embest · 教学业务线
深圳市英蓓特信息技术有限公司
www.embedinfo.com
support@edukit.com.cn
前 言
本书是深圳市英蓓特信息技术有限公司《嵌入式教学平台 EduKit-IV 实验丛书》之一,主要基于
英蓓特公司目前最新嵌入式教学平台 EduKit-IV,搭配 SAMSUNG S3C2410 核心 CPU 板和其他相关
模块,主要介绍基于最新的 ARM 开发工具 ARM RealView MDK 下的软件调试开发。
本教程主要介绍 ARM RealView MDK 环境下软件的开发,通过从浅入深的介绍,引领学生步入
ARM 软件开发的大门,整个教程从 ARM RealView MDK 环境的使用,SAMSUNG S3C2410 ARM 芯片
的接口控制器详解,到基于 ARM 的软件设计,硬件调试等,贯穿整个 ARM 开发调试的整个过程。
完整的学习本书,学生可以全面的掌握 ARM 嵌入式软件开发与调试技术,了解 ARM 处理器的整个
开发内幕。同时 SAMSUNG S3C2410 作为一款较早引入到 ARM 教学中的处理器,无论是在教学资源
的丰富性及开发案例的经典性上都有着无可替代的地位,由此对于 ARM 的入门学习,S3C2410 软硬
件开发的学习是必选的科目。
本书各章节内容主要安排如下:
第一章:简述嵌入式软件开发流程,常用软件开发工具的选择与介绍。
第二章:讲述嵌入式 ARM 处理器特点及应用选型,并且重点对 SAMSUNG S3C2410 处理器的硬
件结构做了详细介绍。
第三章:介绍 ARM RealView MDK 开发基础,软件的详细使用与操作。
第四章:基于 ARM RealView MDK 开发嵌入式软件开发基础实验,包括 ARM 指令,ARM/Thumb
等汇编的调用等。
第五章:介绍 SAMSUNG S3C2410 基本接口实验,包括存储器操作、LED 控制、中断按键等。
第六章:介绍 SAMSUNG S3C2410 人机接口实验,包括扫描键盘、数码管控制、LCD、TSP 等。
第七章:介绍 SAMSUNG S3C2410 通信接口实验,包括 IIC、LAN、IIS、USB 等接口通信实验。
第八章:介绍 SAMSUNG S3C2410 基础应用实验,包括矩阵 LED、ADC/DAC、直流电机、步进
电机等操作实验。
第九章:介绍 SAMSUNG S3C2410 高级应用实验,如 GPRS、GPS 通信实验。
本书可作为电子,通信,自动化,计算机等电类专业嵌入式系统课程实验教学的教材,也可以
供嵌入式系统相关工程技术人员参考。
由于时间短暂,编写本书难免存在一些错误和不足,欢迎大家来信(support@edukit.com.cn)
指正。
深圳市英蓓特信息技术有限公司
2008 年 4 月
- 1 -
目 录
第一章 嵌入式系统开发与应用概述 ......................................................................... - 1 -
1. 1 嵌入式系统开发与应用 .................................................................................... - 1 -
1. 2 基于 ARM 的嵌入式开发环境概述 ....................................................................... - 4 -
1. 2. 1 交叉开发环境 ..................................................................................... - 4 -
1. 2. 2 模拟开发环境 ..................................................................................... - 5 -
1. 2. 3 评估电路板 ........................................................................................ - 6 -
1. 2. 4 嵌入式操作系统 .................................................................................. - 6 -
1. 3 各种 ARM 开发工具简介 .................................................................................... - 7 -
1. 3. 1 ARM 的 SDT .......................................................................................... - 7 -
1. 3. 2 ARM 的 ADS .......................................................................................... - 9 -
1. 3. 3 Multi 2000 ....................................................................................... - 10 -
1. 3. 4 RealView MDK .................................................................................... - 13 -
1. 3. 5 OPENice32-A900 仿真器 ...................................................................... - 15 -
1. 3. 6 Multi-ICE 仿真器 .............................................................................. - 15 -
1. 3. 7 ULINK 2 仿真器 ................................................................................. - 16 -
1. 4 如何学习基于 ARM 嵌入式系统开发 ................................................................. - 17 -
第二章 嵌入式处理器 SAMSUNG S3C2410 概述 ......................................................... - 18 -
2. 1 嵌入式 ARM 处理器 ........................................................................................ - 18 -
2. 1. 1 ARM 处理器的特点 .............................................................................. - 18 -
2. 1. 2 ARM 微处理器系列 .............................................................................. - 19 -
2. 1. 3 ARM 微处理器的寄存器结构 ................................................................. - 23 -
2. 1. 4 ARM 微处理器的指令结构 .................................................................... - 24 -
2. 1. 5 ARM 微处理器的编程模型 .................................................................... - 24 -
2. 1. 6 ARM 体系结构的存储器格式 ................................................................. - 24 -
2. 1. 7 ARM 微处理器的应用领域 .................................................................... - 25 -
2. 2 SAMSUNG S3C2410 处理器 ................................................................................ - 26 -
2. 2. 1 特性 ................................................................................................ - 27 -
2. 2. 2 处理器工作模式 ................................................................................ - 33 -
2. 3 SAMSUNG S3C2410 模块接口 ............................................................................ - 43 -
2. 3. 1 时钟与电源管理 ................................................................................ - 43 -
2. 3. 2 内存控制器 ...................................................................................... - 50 -
2. 3. 3 基本 I/O 接口 ................................................................................... - 55 -
2. 3. 4 中断控制 ......................................................................................... - 57 -
第三章 RealView MDK 开发基础 .............................................................................. - 63 -
3. 1 RealView MDK 开发套件介绍 ........................................................................... - 63 -
- 2 -
3. 1. 1 µVision 3 集成开发环境 .................................................................... - 63 -
3. 1. 2 ULINK 2 仿真器 ................................................................................. - 66 -
3. 2 RealView MDK 的使用 .................................................................................... - 67 -
3. 2. 1 RealView MDK 的安装 ......................................................................... - 67 -
3. 2. 2 µVision IDE 主框架窗口 .................................................................... - 72 -
3. 2. 3 工程管理 ......................................................................................... - 72 -
3. 2. 4 工程基本配置 ................................................................................... - 77 -
3. 2. 5 编译、链接与调试 ............................................................................ - 87 -
3. 2. 6 Flash 编程工具 ................................................................................ - 100 -
3. 3 出厂 Demo 恢复 ............................................................................................ - 102 -
第四章 嵌入式软件开发基础实验 ..........................................................................- 107 -
4. 1 ARM 汇编指令实验一 ..................................................................................... - 107 -
4. 1. 1 实验目的 ........................................................................................ - 107 -
4. 1. 2 实验设备 ........................................................................................ - 107 -
4. 1. 3 实验内容 ........................................................................................ - 108 -
4. 1. 4 实验原理 ........................................................................................ - 108 -
4. 1. 5 实验步骤 ........................................................................................ - 110 -
4. 1. 6 实验参考程序 .................................................................................. - 115 -
4. 1. 7 练习题............................................................................................ - 118 -
4. 2 ARM 汇编指令实验二 ..................................................................................... - 118 -
4. 2. 1 实验目的 ........................................................................................ - 118 -
4. 2. 2 实验设备 ........................................................................................ - 118 -
4. 2. 3 实验内容 ........................................................................................ - 118 -
4. 2. 4 实验原理 ........................................................................................ - 118 -
4. 2. 5 实验步骤 ........................................................................................ - 120 -
4. 2. 6 实验参考程序 .................................................................................. - 121 -
4. 2. 7 练习题............................................................................................ - 123 -
4. 3 Thumb 汇编指令实验 .................................................................................... - 123 -
4. 3. 1 实验目的 ........................................................................................ - 123 -
4. 3. 2 实验设备 ........................................................................................ - 124 -
4. 3. 3 实验内容 ........................................................................................ - 124 -
4. 3. 4 实验原理 ........................................................................................ - 124 -
4. 3. 5 实验步骤 ........................................................................................ - 126 -
4. 3. 6 实验参考程序 .................................................................................. - 127 -
4. 3. 7 练习题............................................................................................ - 129 -
4. 4 ARM 处理器工作模式实验 ............................................................................... - 129 -
4. 4. 1 实验目的 ........................................................................................ - 129 -
4. 4. 2 实验设备 ........................................................................................ - 129 -
4. 4. 3 实验内容 ........................................................................................ - 130 -
- 3 -
4. 4. 4 实验原理 ........................................................................................ - 130 -
4. 4. 5 实验步骤 ........................................................................................ - 132 -
4. 4. 6 实验参考程序 .................................................................................. - 132 -
4. 4. 7 练习题............................................................................................ - 136 -
4. 5 C 语言实验程序一 ........................................................................................ - 136 -
4. 5. 1 实验目的 ........................................................................................ - 136 -
4. 5. 2 实验设备 ........................................................................................ - 136 -
4. 5. 3 实验内容 ........................................................................................ - 136 -
4. 5. 4 实验原理 ........................................................................................ - 136 -
4. 5. 5 实验步骤 ........................................................................................ - 138 -
4. 5. 6 实验参考程序 .................................................................................. - 138 -
4. 5. 7 练习题............................................................................................ - 140 -
4. 6 C 语言实验程序二 ........................................................................................ - 140 -
4. 6. 1 实验目的 ........................................................................................ - 140 -
4. 6. 2 实验设备 ........................................................................................ - 140 -
4. 6. 3 实验内容 ........................................................................................ - 141 -
4. 6. 4 实验原理 ........................................................................................ - 141 -
4. 6. 5 实验步骤 ........................................................................................ - 144 -
4. 6. 6 实验参考程序 .................................................................................. - 144 -
4. 6. 7 练习题............................................................................................ - 148 -
4. 7 汇编与 C 语言相互调用实验........................................................................... - 148 -
4. 7. 1 实验目的 ........................................................................................ - 148 -
4. 7. 2 实验设备 ........................................................................................ - 148 -
4. 7. 3 实验内容 ........................................................................................ - 148 -
4. 7. 4 实验原理 ........................................................................................ - 148 -
4. 7. 5 实验步骤 ........................................................................................ - 150 -
4. 7. 6 实验参考程序 .................................................................................. - 150 -
4. 7. 7 练习题............................................................................................ - 152 -
4. 8 综合实验 .................................................................................................... - 152 -
4. 8. 1 实验目的 ........................................................................................ - 152 -
4. 8. 2 实验设备 ........................................................................................ - 153 -
4. 8. 3 实验内容 ........................................................................................ - 153 -
4. 8. 4 实验原理 ........................................................................................ - 153 -
4. 8. 5 实验步骤 ........................................................................................ - 154 -
4. 8. 6 实验参考程序 .................................................................................. - 155 -
4. 8. 7 练习题............................................................................................ - 162 -
第五章 SAMSUNG S3C2410 基本接口实验 ................................................................- 163 -
5. 1 存储器实验 ................................................................................................. - 164 -
5. 1. 1 实验目的 ........................................................................................ - 164 -
- 4 -
5. 1. 2 实验设备 ........................................................................................ - 164 -
5. 1. 3 实验内容 ........................................................................................ - 164 -
5. 1. 4 实验原理 ........................................................................................ - 164 -
5. 1. 5 实验步骤 ........................................................................................ - 175 -
5. 1. 6 实验参考程序 .................................................................................. - 177 -
5. 1. 7 练习题............................................................................................ - 178 -
5. 2 LED 控制实验 ............................................................................................... - 179 -
5. 2. 1 实验目的 ........................................................................................ - 179 -
5. 2. 2 实验设备 ........................................................................................ - 179 -
5. 2. 3 实验内容 ........................................................................................ - 179 -
5. 2. 4 实验原理 ........................................................................................ - 179 -
5. 2. 5 实验步骤 ........................................................................................ - 181 -
5. 2. 6 实验参考程序 .................................................................................. - 183 -
5. 2. 7 练习题............................................................................................ - 186 -
5. 3 按键中断实验 .............................................................................................. - 186 -
5. 3. 1 实验目的 ........................................................................................ - 186 -
5. 3. 2 实验设备 ........................................................................................ - 186 -
5. 3. 3 实验内容 ........................................................................................ - 186 -
5. 3. 4 实验原理 ........................................................................................ - 186 -
5. 3. 5 实验步骤 ........................................................................................ - 190 -
5. 3. 6 实验参考程序 .................................................................................. - 192 -
5. 3. 7 练习题............................................................................................ - 195 -
5. 4 串口通信实验 .............................................................................................. - 195 -
5. 4. 1 实验目的 ........................................................................................ - 195 -
5. 4. 2 实验设备 ........................................................................................ - 195 -
5. 4. 3 实验内容 ........................................................................................ - 195 -
5. 4. 4 实验原理 ........................................................................................ - 195 -
5. 4. 5 实验步骤 ........................................................................................ - 202 -
5. 4. 6 实验参考程序 .................................................................................. - 204 -
5. 4. 7 练习题............................................................................................ - 205 -
5. 5 实时时钟实验 .............................................................................................. - 206 -
5. 5. 1 实验目的 ........................................................................................ - 206 -
5. 5. 2 实验设备 ........................................................................................ - 206 -
5. 5. 3 实验内容 ........................................................................................ - 206 -
5. 5. 4 实验原理 ........................................................................................ - 206 -
5. 5. 5 实验设计 ........................................................................................ - 208 -
5. 5. 6 实验步骤 ........................................................................................ - 210 -
5. 5. 7 实验参考程序 .................................................................................. - 213 -
5. 5. 8 练习题............................................................................................ - 215 -
- 5 -
5. 6 定时器控制实验 ........................................................................................... - 215 -
5. 6. 1 实验目的 ........................................................................................ - 215 -
5. 6. 2 实验设备 ........................................................................................ - 216 -
5. 6. 3 实验内容 ........................................................................................ - 216 -
5. 6. 4 实验原理 ........................................................................................ - 216 -
5. 6. 5 实验设计 ........................................................................................ - 219 -
5. 6. 6 实验步骤 ........................................................................................ - 221 -
5. 6. 7 实验参考程序 .................................................................................. - 223 -
5. 6. 8 练习题............................................................................................ - 224 -
第六章 SAMSUNG S3C2410 人机接口实验 ................................................................- 225 -
6. 1 矩阵扫描键盘实验 ....................................................................................... - 225 -
6. 1. 1 实验目的 ........................................................................................ - 225 -
6. 1. 2 实验设备 ........................................................................................ - 225 -
6. 1. 3 实验内容 ........................................................................................ - 225 -
6. 1. 4 实验原理 ........................................................................................ - 226 -
6. 1. 5 实验步骤 ........................................................................................ - 228 -
6. 1. 6 实验参考程序 .................................................................................. - 231 -
6. 1. 7 练习题............................................................................................ - 234 -
6. 2 键盘模块控制实验 ....................................................................................... - 234 -
6. 2. 1 实验目的 ........................................................................................ - 234 -
6. 2. 2 实验设备 ........................................................................................ - 234 -
6. 2. 3 实验内容 ........................................................................................ - 234 -
6. 2. 4 实验原理 ........................................................................................ - 234 -
6. 2. 5 实验步骤 ........................................................................................ - 238 -
6. 2. 6 实验参考程序 .................................................................................. - 240 -
6. 2. 7 练习题............................................................................................ - 243 -
6. 3 数码管显示实验 ........................................................................................... - 243 -
6. 3. 1 实验目的 ........................................................................................ - 243 -
6. 3. 2 实验设备 ........................................................................................ - 244 -
6. 3. 3 实验内容 ........................................................................................ - 244 -
6. 3. 4 实验原理 ........................................................................................ - 244 -
6. 3. 5 实验步骤 ........................................................................................ - 247 -
6. 3. 6 实验参考程序 .................................................................................. - 249 -
6. 3. 7 练习题............................................................................................ - 250 -
6. 4 液晶显示实验 .............................................................................................. - 251 -
6. 4. 1 实验目的 ........................................................................................ - 251 -
6. 4. 2 实验设备 ........................................................................................ - 251 -
6. 4. 3 实验内容 ........................................................................................ - 251 -
6. 4. 4 实验原理 ........................................................................................ - 251 -
- 6 -
6. 4. 5 实验步骤 ........................................................................................ - 259 -
6. 4. 6 实验参考程序 .................................................................................. - 261 -
6. 4. 7 练习题............................................................................................ - 267 -
6. 5 触摸屏控制实验 ........................................................................................... - 268 -
6. 5. 1 实验目的 ........................................................................................ - 268 -
6. 5. 2 实验设备 ........................................................................................ - 268 -
6. 5. 3 实验内容 ........................................................................................ - 268 -
6. 5. 4 实验原理 ........................................................................................ - 268 -
6. 5. 5 实验步骤 ........................................................................................ - 277 -
6. 5. 6 实验参考程序 .................................................................................. - 279 -
6. 5. 7 练习题............................................................................................ - 282 -
第七章 SAMSUNG S3C2410 通信与接口实验 ............................................................- 282 -
7. 1 IIC 读写 EEPROM 实验 ................................................................................... - 283 -
7. 1. 1 实验目的 ........................................................................................ - 283 -
7. 1. 2 实验设备 ........................................................................................ - 283 -
7. 1. 3 实验内容 ........................................................................................ - 283 -
7. 1. 4 实验原理 ........................................................................................ - 283 -
7. 1. 5 实验步骤 ........................................................................................ - 292 -
7. 1. 6 实验参考程序 .................................................................................. - 294 -
7. 1. 7 练习题............................................................................................ - 298 -
7. 2 以太网通信试验 ........................................................................................... - 298 -
7. 2. 1 实验目的 ........................................................................................ - 298 -
7. 2. 2 实验设备 ........................................................................................ - 298 -
7. 2. 3 实验内容 ........................................................................................ - 298 -
7. 2. 4 实验原理 ........................................................................................ - 298 -
7. 2. 5 实验步骤 ........................................................................................ - 313 -
7. 2. 6 实验参考程序 .................................................................................. - 315 -
7. 2. 7 练习题............................................................................................ - 318 -
7. 3 IIS 音频实验 ............................................................................................... - 318 -
7. 3. 1 实验目的 ........................................................................................ - 318 -
7. 3. 2 实验设备 ........................................................................................ - 318 -
7. 3. 3 实验内容 ........................................................................................ - 318 -
7. 3. 4 实验原理 ........................................................................................ - 318 -
7. 3. 5 实验步骤 ........................................................................................ - 322 -
7. 3. 6 实验参考程序 .................................................................................. - 325 -
7. 3. 7 练习题............................................................................................ - 326 -
7. 4 USB 接口实验 ............................................................................................... - 327 -
7. 4. 1 实验目的 ........................................................................................ - 327 -
7. 4. 2 实验设备 ........................................................................................ - 327 -
- 7 -