
本书系统地介绍嵌入式技术及嵌入式系统开发的一般方法,以及以芯片S3C44B0X和μC/OS-Ⅱ操作系统为基本环境,利用ADS 1.2集成开发工具设计实现基于ARM的嵌入式系统应用的方法和相关实验。
全书共有14个实验项目,包括基础性实验、综合性实验和开发性实验。实验内容涉及ARM汇编语言设计、S3C44B0X芯片功能特性实验、μC/OS-Ⅱ操作系统移植与应用实验、设备接口的驱动程序开发,以及基于ARM的键盘、数码管、电机、触摸屏、中断、模数/数模接口和GPRS通信等设备的设计与应用。
本书内容比较系统、完整,密切结合嵌入式系统教学实际,贴近嵌入式开发实际工程应用,由浅入深、循序渐进、实例丰富、步骤详细,可作为高等院校计算机及相关专业的嵌入式系统课程实验教材,也可作为高年级本科生、研究生的创新设计参考书。
随着电子及信息技术的迅速发展,嵌入式系统越来越多地应用于科学研究、工程设计、工业生产控制、军工国防、医疗卫生、航空航天、信息家电和网络通信等领域。目前常见的电子产品几乎都有嵌入式系统的身影,如多媒体手机、掌上PDA、数字导航仪、MP3/MP4以及网络路由器等,嵌入式系统正在许多方面影响着我们的日常生活。嵌入式产品开发已经形成了一个巨大的产业。嵌入式系统的研究与开发对理论和实践都有很高的要求,不但要求研发人员熟悉嵌入式CPU的体系结构和编程方法,同时,要求研发人员掌握嵌入式系统研究开发的各个环节,例如Bootloader、Kernel、Driver等。
嵌入式系统与通用计算机系统有较大的差异,因此设计与开发的过程也有很大的区别。本书基于北京博创兴业科技有限公司的UP-NETARM3000实验平台,系统地介绍了基于ARM的嵌入式系统的设计和开发原理,通过大量的实例帮助读者了解和掌握嵌入式系统的开发方法,巩固和加深读者的理论基础,提高读者的分析问题与解决问题的能力。
编者在长期的实践教学过程中,通过对学生求知过程中“理论、实验和再认识”规律的体会与研究,深刻认识到实验环节的重要性,进而从新的高度、新的视角讲解了基于ARM的嵌入式系统设计与实现的理论及方法。本书精选了实验题目,将各题目的理论知识与具体实践相结合,深入浅出地进行了讲解,使读者在学到实验知识的同时对理论知识形成更深刻的认识,实现理论与实践的融会贯通。
本书内容深入浅出,可作为高等院校计算机、软件工程、电子、控制及信息等相关专业的本科生和研究生教材,也可作为嵌入式开发人员的参考用书或技术培训教材。书中大部分内容是编者在实际教学中采用的教学内容。
本书在编写过程中得到了哈尔滨工程大学计算机科学与技术学院嵌入式系统研究室和计算机实验教学中心的各位老师和研究生的大力支持和帮助,感谢他们为本书付出的辛勤劳动。何立春、王芳、刘如华、史宝丽、付明明、侯文博、张春华、杨熙等同学参与了本书实验示例代码的编写与调试以及原始资料的翻译整理工作。
本书力求内容紧凑、言简意赅,注重开发实例的实用性。希望本书的介绍对读者的开发能够有所帮助,但是囿于个人水平及视角,书中难免会有一些错误和不妥之处,敬请读
者批评指正。
编者
2011年6月
第1章基于ARM的嵌入式系统介绍
1.1嵌入式系统介绍
1.1.1嵌入式系统的概念
1.1.2嵌入式系统的组成
1.1.3嵌入式系统的特征
1.1.4嵌入式系统的分类
1.1.5嵌入式系统的总体结构
1.1.6嵌入式系统的应用及现状
1.2ARM微处理器
1.2.1ARM微处理器概述
1.2.2ARM微处理器的结构
1.2.3ARM微处理器的应用选型
1.2.4ARM微处理器的编程模型
1.2.5ARM微处理器的指令系统
1.3嵌入式系统设计方法
1.3.1嵌入式系统设计的特点
1.3.2嵌入式系统设计的流程与一般方法
1.3.3调试嵌入式系统
1.3.4嵌入式系统的软硬件协同设计技术
1.4思考题
第2章嵌入式操作系统
2.1嵌入式操作系统概述
2.2嵌入式操作系统的特点及分类
2.2.1嵌入式操作系统的特点
2.2.2嵌入式操作系统的分类
2.3嵌入式操作系统的构成及应用
2.3.1嵌入式操作系统的体系结构
2.3.2嵌入式操作系统的应用
2.4μC/OS-Ⅱ简介
2.4.1μC/OS-Ⅱ的概述
2.4.2μC/OS-Ⅱ的内核结构
2.4.3μC/OS-Ⅱ的任务管理
2.4.4μC/OS-Ⅱ的时间管理
2.4.5μC/OS-Ⅱ任务间通信与同步
2.4.6μC/OS-Ⅱ的内存管理
2.4.7移植μC/OS-Ⅱ
2.5μCLinux简介
2.5.1Linux概述
2.5.2μCLinux概述
2.5.3μCLinux的内核结构
2.5.4μCLinux的内存管理
2.6Bootloader简介
2.6.1Bootloader概述
2.6.2Bootloader所支持的CPU和嵌入式板
2.6.3Bootloader的安装媒介
2.6.4用来控制Bootloader的设备或机制
2.6.5Bootloader的操作模式
2.6.6与主机进行通信的设备和协议
2.7思考题
第3章实验平台介绍
3.1嵌入式系统的硬件开发平台
3.1.1开发平台简介
3.1.2开发平台的组成
3.1.3开发平台硬件安装
3.1.4开发平台软件安装
3.2ARM ADS仿真集成开发环境
3.2.1命令行开发工具
3.2.2ARM运行时库
3.2.3ADS调试器
3.2.4实用程序及支持的软件
3.2.5使用ADS创建工程
3.2.6用AXD进行代码调试
3.2.7ADS集成开发环境实验
3.3超级终端设置及BIOS功能使用实验
3.3.1超级终端的设置
3.3.2ARM开发平台的测试
3.4思考题
第4章基本外设接口实验
4.1实验目的和要求
4.1.1实验目的
4.1.2实验内容及要求
4.1.3预备知识
4.2实验原理
4.2.1发光二极管
4.2.217键数字小键盘
4.2.3串行接口与并行接口
4.2.4ZLG7289A芯片
4.2.5ZLG7289与ARM的连接
4.3实验准备
4.3.1预习要求
4.3.2实验设备及工具
4.4实验任务与步骤
4.4.1实验任务
4.4.2实验步骤
4.5设计指南
4.6思考题
第5章模数和数模接口实验
5.1实验目的和要求
5.1.1实验目的
5.1.2实验内容及要求
5.1.3预备知识
5.2实验原理
5.2.1A/D转换器
5.2.2D/A转换器
5.3实验准备
5.3.1预习要求
5.3.2实验设备及工具
5.4实验任务与步骤
5.4.1实验任务
5.4.2实验步骤
5.5设计指南
5.5.1A/D实验流程
5.5.2D/A实验流程
5.6思考题
第6章电机转动控制实验
6.1实验目的和要求
6.1.1实验目的
6.1.2实验内容及要求
6.1.3预备知识
6.2实验原理
6.2.1直流电机
6.2.2步进电机
6.3实验准备
6.3.1预习要求
6.3.2实验设备及工具
6.4实验任务与步骤
6.4.1实验任务
6.4.2实验步骤
6.5设计指南
6.6思考题
第7章LCD驱动控制及触摸屏实验
7.1实验目的和要求
7.1.1实验目的
7.1.2实验内容及要求
7.1.3预备知识
7.2实验原理
7.2.1LCD原理
7.2.2触摸屏原理
7.3实验准备
7.3.1预习要求
7.3.2实验设备及工具
7.4实验任务与步骤
7.4.1实验任务
7.4.2实验步骤
7.5设计指南
7.6思考题
第8章定时器中断实验
8.1实验目的和要求
8.1.1实验目的
8.1.2实验内容及要求
8.1.3预备知识
8.2实验原理
8.2.1定时器原理
8.2.2中断控制器
8.2.3IRQ非向量中断模式的中断响应过程
8.3实验准备
8.3.1预习要求
8.3.2实验设备及工具
8.4实验任务与步骤
8.4.1实验任务
8.4.2实验步骤
8.5设计指南
8.6思考题
第9章μC/OS-Ⅱ操作系统实验
9.1实验目的和要求
9.1.1实验目的
9.1.2实验内容及要求
9.1.3预备知识
9.2实验原理
9.2.1μC/OS-Ⅱ任务管理
9.2.2时间管理
9.2.3消息邮箱
9.2.4信号量
9.2.5内存管理
9.3实验准备
9.3.1预习要求
9.3.2实验设备及工具
9.4实验任务与步骤
9.4.1实验任务
9.4.2实验步骤
9.5设计指南
9.5.1多任务实验
9.5.2时间管理实验
9.5.3消息邮箱实验
9.5.4信号量实验
9.5.5内存管理实验
9.6思考题
第10章μC/OS-Ⅱ操作系统移植及开发框架
10.1实验目的和要求
10.1.1实验目的
10.1.2实验内容及要求
10.1.3预备知识
10.2实验原理
10.2.1处理器与μC/OS-Ⅱ移植
10.2.2μC/OS-Ⅱ移植的基本步骤
10.3实验准备
10.3.1预习要求
10.3.2实验设备及工具
10.4实验任务与步骤
10.4.1实验任务
10.4.2实验步骤
10.5设计指南
10.6思考题
第11章电子点菜器
11.1实验目的和要求
11.1.1实验目的
11.1.2实验内容及要求
11.1.3预备知识
11.2实验原理
11.2.1绘图设备上下文DC
11.2.2绘图API函数
11.2.3消息循环
11.3实验准备
11.3.1预习要求
11.3.2实验设备及工具
11.4实验任务与步骤
11.4.1实验任务
11.4.2实验步骤
11.5设计指南
11.5.1总体设计
11.5.2参考代码及注释
11.6思考题
第12章音频播放器
12.1实验目的和要求
12.1.1实验目的
12.1.2实验内容及要求
12.1.3预备知识
12.2实验原理
12.2.1模拟音频信号和数字音频信号
12.2.2WAV格式的音频文件
12.2.3IIS总线
12.2.4S3C44B0X中IIS总线接口专用寄存器描述
12.3实验准备
12.3.1预习要求
12.3.2实验设备及工具
12.4实验任务与步骤
12.4.1实验任务
12.4.2实验步骤
12.5设计指南
12.5.1目标板初始化
12.5.2音频播放任务
12.6思考题
第13章μC/OS-Ⅱ系统下多任务同步通信实验
13.1实验目的和要求
13.1.1实验目的
13.1.2实验内容及要求
13.1.3预备知识
13.2实验原理
13.2.1μC/OS-Ⅱ介绍
13.2.2互斥条件
13.2.3任务间通信
13.2.4信号量管理
13.3实验准备
13.3.1预习要求
13.3.2实验设备及工具
13.4实验任务与步骤
13.4.1实验任务
13.4.2实验步骤
13.5设计指南
13.6思考题
第14章μC/OS-Ⅱ系统下驱动程序开发
14.1实验目的和要求
14.1.1实验目的
14.1.2实验内容及要求
14.1.3预备知识
14.2实验原理
14.2.1驱动程序简介
14.2.2驱动程序的开发方法
14.2.3程序与OS的通信机制
14.3实验准备
14.3.1预习要求
14.3.2实验设备及工具
14.4实验任务与步骤
14.4.1实验任务
14.4.2实验步骤
14.5设计指南
14.5.1总体设计
14.5.2参考代码及注释
14.6思考题
第15章自动浇花系统设计
15.1嵌入式系统开发的模式与流程简介
15.1.1嵌入式系统的软、硬件架构
15.1.2嵌入式系统开发流程
15.2自动浇花系统设计介绍
15.2.1系统需求分析
15.2.2系统体系结构的设计
15.3系统功能仿真
15.4源码
15.5思考题
第16章俄罗斯方块游戏设计
16.1设计需求分析
16.1.1硬件平台要求
16.1.2嵌入式实时操作系统
16.1.3应用软件设计要求
16.2概要设计
16.2.1体系结构设计
16.2.2功能层模块
16.2.3绘图API数据结构
16.2.4消息循环机制
16.3功能简介
16.3.1功能描述
16.3.2界面说明
16.3.3俄罗斯方块的定义及操作
16.3.4程序处理流程
16.3.5多任务之间的关系
16.3.6关键代码解释
16.4测试
16.5源码
16.6思考题
第17章电子记事本及GPRS短消息收发系统
17.1背景知识介绍
17.1.1GPRS简介
17.1.2通信模块的AT命令集
17.1.3SMS短消息发送和接收方式
17.1.4电子记事本
17.2大作业报告模板
参考文献