嵌入式系统(基于ARM)实验与实践教程

嵌入式系统(基于ARM)实验与实践教程"

作者:汤书森、李柏年、张北斗等
ISBN:9787302195726
定价:¥19
字数:千字
页数:
出版时间:2009.04.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书是“嵌入式系统原理与应用”课程的配套实验教材。本书基于北京达盛科技的ARM7(ELARM820型,ARM7TDMI)和北京奥尔斯公司的ARM9(OURS2410RP,基于Linux)微处理器的实验平台。

本书第1部分简要介绍嵌入式系统的特点、原理和组成; 第2部分涉及一些必要的实验准备工作; 第3部分介绍一些基本的实验操作,在后面部分重点介绍了基于Linux 的嵌入式系统的开发优点及其开发的一般过程和方法。最后,在熟悉了必要的理论和实践的知识之后,适当安排了一些创新的实验供读者学习。教材结构安排由浅入深,在潜移默化的过程中提高读者理论知识和实践能力。

本书可作为电子学信息技术专业、通信专业及计算机技术相关专业本科三、四年级学生的实验教材,也可以作为职业技术专业的学习参考书。

前言

近年来,以手机、数码相机、机顶盒(STB)、MOBTV、PDA、MP4和IPTV等为代表的嵌入式系统新产品不断问世,国内外各大IT公司纷纷投入巨资加紧研发,嵌入式技术人才需求猛增。后PC时代的来临,促进了科技进步和经济发展。与此同时,随着通信网络、计算机技术和微电子技术的高速发展,嵌入式系统已成为了IT业的一个焦点。在数字信息技术和网络技术高速发展的后PC时代,嵌入式系统因其体积小、可靠性高、功能强、灵活方便等许多优点,已渗透到工业、军事、医疗以及日常生活等各个领域,对各行各业的技术改造、产品更新换代、加速自动化进程和提高生产率等方面起到了极其重要的推动作用。实际上,嵌入式系统无处不在,无所不在。

ARM 微处理器因其卓越的低功耗、高性能的特点,在32位嵌入式应用中已位居世界第一,是高性能、低功耗嵌入式处理器的代名词。为了顺应当今世界技术革新的潮流,学习和掌握嵌入式技术,就必然要学习和掌握以ARM 微处理器为核心的嵌入式开发环境和开发平台,这对于研究和开发高性能微处理器、DSP以及开发基于微处理器的SoC芯片设计及应用系统开发是非常必要的。

当前,嵌入式系统还是处在发展中的年轻的技术课程,课程涉及计算机软硬件、电子学及自动化。不同的专业、不同层次要求具有不同的特点。同时,嵌入式系统课程又是一门多学科交叉的课程,涉及微机原理与接口、计算机组成原理、操作系统、编译技术、网络通信、人机交互、软件测试、软硬件协同设计等诸多知识点。如何在有限的时间内通过理论学习、实验及实践练习,快速了解嵌入式系统的结构特点和开发环境搭建的方法、工程文件的生成、项目文件的添加、文件的编译和源程序的调试以及工程的开发方法等,是我们应该关注的问题。

在嵌入式系统应用中,对于复杂的系统,为使其具有资源管理、系统管理和中断处理等能力,提供多任务处理,更好地分配系统资源的功能,很有必要针对特定的硬件平台和实际应用移植操作系统。嵌入式操作系统在嵌入式系统的开发中具有一定的核心作用,因此很有必要结合操作系统更深入地学习嵌入式系统。

嵌入式系统本质上就是计算机——一种特殊的专用计算机。我们应该结合所学过的,如单片机、微型计算机原理与接口技术等课程,进而深入地学习嵌入式系统这门课程。

理论教学与实验教学是现代高等教育的两个重要组成部分,实验课是整个教学过程中的重要环节。在IT技术飞速发展的当今,面对激烈的国内外市场和技术的竞争,要求我们培养的学生应是基础扎实、知识面宽、富有创新精神和竞争意识的人才。这对我们的教学从理论到实践都提出了较高的要求,而实践教学对于学生,特别是对工科大学生实际工作能力的培养起着至关重要的作用。实验教学改革是一个系统工程。要在实验教学中突破传统的实验模式、发挥学生的主观能动性,加强对学生创新能力的培养是实验教学改革的一个难点。这涉及教学管理体制、实验教学内容、实验教学方法、实验教师队伍建设等诸多方面。要通过改革来提高实验教师的专业素质及改进教学内容,使实验教学能激发学生的主动竞争意识和创新思维,从而有利于学生创新能力的培养。也就是说,教学实践也是一个使学生从最初的模仿到自主设计、到创新的过程。如何在有限的教学时间里合理安排一些实验,从而使学生尽快从入门到提高,又较全面地打好理论基础、实验方法以及开发过程,是迫在眉睫的事情,也是我们教学人员应该认真思考的问题,这也是我们组织编写好一本好的实验教材的初衷。

教师不仅是知识的创造者,更应是知识的传播者,应能引领学生尽好、尽快地了解新知识和具备创新技能。

本书基于北京达盛科技的ARM7(ELARM820型,ARM7TDMI),采用三星S3C44B0X(ARM7TDMI+Cache)处理器和北京奥尔斯公司的ARM9(OURS2410RP,基于Linux)实验平台。因为ARM7最具ARM系列的代表性,代表了目前较低端且无MMU的 ARM7TDMI核心处理器,应用广泛; 而ARM9兼具较高性能,采用哈佛结构,而且应用广泛,更容易把握嵌入式系统的原理。从这两方面入手,能够达到触类旁通,窥一斑而知全貌的目的。本书知识结构较为全面,涉及教学中常用的几种操作系统如μCLinux、μcos及Linux 等。而基于ARM & Linux的嵌入式系统开发,是当前嵌入式系统开发的焦点问题,目前ARM和Linux也是嵌入式系统发展中的重点方向。

本书在结构安排上,第1部分简要介绍嵌入式系统的特点、原理和组成结构,使读者具备必要的理论知识; 第2部分做一些必要的实验准备工作; 第3部分为一些基本的实验操作,从而巩固基本理论,掌握开发嵌入式系统的一般过程和基本方法,同时掌握嵌入式系统开发所涉及的软硬件知识。由于当前基于Linux 的嵌入式系统的开发是嵌入式系统开发的热点,因此,在最后部分重点介绍了基于Linux 的嵌入式系统的开发优点及其开发的一般过程和方法,这里仅仅起抛砖引玉作用,希望读者多学习与此部分相关的软硬件知识,以提高自己的能力。另外,在熟悉了必要的理论和实践的知识之后,适当安排了一些创新的实验供读者学习。教材结构安排由浅入深,在潜移默化的过程中提高读者理论知识和实践能力。

本书是在马义德教授的《嵌入式系统课程群建设与创新人才培养》(2008年获甘肃省教学成果一等奖)指导下,结合近几年的教学实践经验,针对学生面临的实际问题组织编写完成的。

在有实验箱的条件下,结合本书实验能够达到最佳效果。不具备实验条件的,也可以通过软件调试(ARMulate)来学习调试和运行过程,效果也不错。

本书部分内容是对上研究生过程的大部分文献资料整理的结果,吸纳并借鉴了达盛科技和奥尔斯公司的工程师的经验和资料。教材的整个架构设计、内容的撰写和整理主要由汤书森完成。由马义德教授和李柏年高级工程师主持编写第1~第3部分; 由张北斗老师编写第4部分并统稿。对源代码的分析和理解得到几位研究生的帮助,在此一并感谢!

本教材适合作为电子学信息技术专业、通信专业及计算机技术相关专业本科三、四年级学生的实验教材,以及职业技术专业的学习参考书。

由于作者水平有限,加之编写时间仓促,书中难免有错误之处,还望读者不吝赐教。只要读者能从中获取一点帮助,都会令作者感到欣慰的。

编者

2009年2月 

目录

第1部分基 本 理 论

第1章嵌入式系统的概述

1.1嵌入式系统

1.2基本概念

1.3嵌入式系统的应用范围

第2章嵌入式系统特点

2.1嵌入式系统的特点综述

2.2交叉编译

2.3建立宿主PC端的开发环境

2.4BootLoader

第3章嵌入式系统的组成及开发

3.1嵌入式系统的组成

3.2嵌入式系统的层次结构

3.2.1嵌入式系统的硬件

3.2.2嵌入式处理器的分类

3.2.3ARM处理器特点

3.2.4嵌入式系统的软件

3.3嵌入式系统开发的基本流程

3.4基于Linux的嵌入式系统开发流程

3.5嵌入式系统的调试

3.6嵌入式软件开发的特点和面临的技术挑战

第4章嵌入式系统的发展机遇与趋势

4.1嵌入式技术是中国IT发展的难得机遇

4.2嵌入式系统的发展趋势

第5章实验预备

5.1ARM7和ARM9的比较

5.2哈佛结构与冯·诺依曼结构比较

5.3ADS实验环境的搭建、配置与实例分析

实验1基于ADS的实验环境的搭建与配置

实验2基于ADS的环境的实例分析

第2部分基 础 实 验

第6章基于ARM7的实验

6.1与硬件资源相关的接口实验

6.2交叉开发环境

6.3系统结构简介

实验3基于ARM的硬件BOOT的基本设计

实验4ARM的I/O接口

实验5ARM的中断过程

实验6基于ARM的DMA实验

实验7ARM的UART通信实验

实验8ARM的A/D接口实验

第7章基于μC/OSⅡ的ARM系统的实验

7.1μC/OSⅡ简介

7.2μC/OSⅡ的特点

7.3μC/OSⅡ的文件结构

7.4任务的状态与转换图

7.5μC/OSⅡ的启动流程

7.6μC/OSⅡ的任务管理

7.7μC/OSⅡ的系统调用

实验9μC/OSⅡ的内核在ARM处理器上的移植

实验10基于μC/OSⅡ的串口驱动的应用

实验11基于μC/OSⅡ的LCD驱动的应用

实验12基于μC/OSⅡ的键盘驱动编写

实验13基于μC/OSⅡ的小型应用程序编写

第8章基于μCLinux ARM系统的实验

8.1Linux

8.2Linux的特点

8.3Linux作为嵌入式操作系统的优点

8.4μCLinux简介 

实验14实验环境的搭建与配置

实验15BootLoader引导程序

实验16μCLinux的移植、内核文件的生成与刻录

实验17关于μCLinux驱动程序的编写

实验18μCLinux应用程序的编写

第9章基于ARM9与硬件资源相关的实验

9.1ARM9及其特点

9.2平台简介

9.3性能指标

9.4实验说明

实验19GPIO接口与端口控制

实验20实时时钟实验

实验21基于I2C的EEPROM实验

实验22基于I2C的数码管扫描电路实验

实验23WATCHDOG

实验24触摸屏控制实验

实验25发光二极管点阵(8×8)

第3部分基于ARM & Linux嵌入式系统的开发实验

第10章基于ARM & Linux嵌入式系统的基本实验

10.1Linux作为嵌入式操作系统的优点

10.2实验设备

10.3预备知识

10.4Linux驱动程序的介绍

10.5Linux驱动程序原理

10.6Linux系统下的设备驱动程序简述

10.7Linux系统下的具体实现

实验26基于ARM9+Linux的嵌入式开发的实验准备

实验27简单的驱动程序示例

实验28LCD控制实验

实验29CAN总线通信

第4部分基于ARM自主设计与创新实验

附录嵌入式系统网络资源

参考文献

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个