ES体系结构的研究及其应用ES 内嵌式存储系统embedded storage.docx
《ES体系结构的研究及其应用ES 内嵌式存储系统embedded storage.docx》由会员分享,可在线阅读,更多相关《ES体系结构的研究及其应用ES 内嵌式存储系统embedded storage.docx(136页珍藏版)》请在冰点文库上搜索。
ES体系结构的研究及其应用ES内嵌式存储系统embeddedstorage
分类号学校代码
UDC密级
扬州大学
硕士学位论文
ES体系结构的研究及其应用
研究生姓名周全
指导教师姓名窦振中副教授
申请学位级别硕士学位专业名称计算机应用
研究方向智能信息处理和智能控制技术
论文提交日期2003.3论文答辩日期2003.5.24
学位授予单位扬州大学学位授予日期
答辩委员会主席陈崚
评阅人吴乐南、黄大庆
扬州大学研究生处制
ES体系结构的研究及其应用
周全
摘要
本文论述了使用RTOS进行嵌入式系统开发的原理和方法,着重讨论嵌入式系统(ES-EmbeddedSystem)的体系结构和建构原理及其应用。
嵌入式系统的概念很容易理解,但是高端的嵌入式系统开发很困难。
构建一个嵌入式系统,技术门槛高,是一个复杂的系统建构过程。
嵌入式系统开发过程有软件和硬件两部分开发工作。
硬件开发主要涉及微处理器/微控制器、存储器和常见外围接口(A/D、D/A、时钟、USB、网络接口等等)部分的设计。
硬件设计包括原理图、PCB版图设计和硬件安装调试。
硬件设计的最终成果是具有特定功能的板级电路和系统结构件。
软件设计是嵌入式系统中的主要部分。
硬件提供了潜在的计算能力,要发挥硬件功能,需要软件的支持。
例如,同样的一台PC机硬件,可以安装Win3.1、Win95或者WinXP。
在硬件没有任何改动的情况下,用不同的操作系统软件,系统的功能、稳定性和用户操作的感觉会有很大差别。
本文首先概述嵌入式系统的组成原理,然后对嵌入式系统设计中涉及到的硬件和软件技术作概括性介绍。
论文的重点是嵌入式操作系统(EOS),特别是实时操作系统(RTOS)的理论研究,主要对如何应用RTOS开发嵌入式系统的问题进行深入的探讨。
通过对μC/OS-II、Windows、WindowCE、FreeBSD、Minix、Linux、Lineo、Windriver、QNX、Mach、OSE、L4、“和欣”……等大量操作系统的比较研究,本文总结出当前操作系统的发展方向和如何构建属于自己的操作系统的基本方法。
这些基本方法对于构建中国自己知识版权的实时操作系统具有重要的价值和一定的指导意义。
在研究过程中以μC/OS-IIv2.51RTOS为代表,将该实时操作系统移植到ARM7处理器上,并利用ADS和Multi-ICE在Evaluator-7T评估板上调试成功。
另外利用EasyPack仿真器将μC/OS-IIv2.51移植到8051微控制器上,并调试成功。
充分验证了对实时操作系统结构的正确理解。
本文将通过对移植代码的说明,详细论述操作系统的移植原理。
论文共分7章9部分。
引言部分简要介绍嵌入式系统的重要性和研究嵌入式系统的必要性和迫切性。
第一章绪论,介绍嵌入式系统的概念和构建嵌入式系统的关键技术。
第二章论述嵌入式系统硬件,详细论述构成嵌入式系统的处理器、存储器、外围设备和网络等硬件要素。
第三章嵌入式系统的软件,按照系统软件(固件、操作系统)和应用软件,论述了嵌入式系统中的软件技术。
第四章介绍嵌入式系统开发工具,介绍了嵌入式系统开发过程中常用的软件和硬件工具。
第五章和第六章分别以μC/OS-II在8051和ARM上的移植为例子,说明基于简单操作系统内核和复杂操作系统平台的嵌入式系统开发。
第七章介绍基于Linux的嵌入式系统的构建方法。
最后是全文的总结,这部分从课题的需求性、实用性和先进性3个方面,对论文进行总结。
关键词:
嵌入式系统,RTOS,μC/OS-II,Linux,microkernel
EmbeddedSystemArchitectureReseachandDevelopment
Abstract:
ThisthesisdiscussestheEmbeddedSystemArchitectureReseachandDevelopment,especiallyabouttheprincipleandmethodofdevelopingRTOS-basedEmbeddedSystem.Itiseasytounderstandtheconceptofembeddedsystem,butdifficulttodevelopanembeddedsystemsuccessfully.Thedevelopmentisacomplicatedproject.
Thedevelopmentinvolvesbothhardwareandsoftwaredevelopmenttasks.
Thehardwareofanembeddedsystemincludesthemicroprocessor(ormicrocontroller),memoryandperipherals(AD/DA,clock,USB,networkinterfaceetc.).Thehardwaredesignincludestheschematics,PCBlayoutdesignandhardwaredebugging.Theresultofhardwaredesignistohavetheparticularfunctionof,stableelectriccircuit.
Thesoftwaredesignisthemajorpartofsystemdevelopment.Andthesoftwareengineeringcrisisfoundinthesoftwareworldwillalsoappearintheembeddedsystemworld.
Inthisthesis,theembeddedsystemisbasedonRTOS.So,thepointofthethesisisaboutoperatesystem,especiallytheRTOStheoriesstudies,answeringtohowtoapplytheRTOSintoembeddedsystem.
ByresearchingdifferentoperatingsystemssuchasμC/OS-II,Windows,WindowsCE,FreeBSD,Minix,Linux,Lineo,Windriver,QNX,Mach,OSE,L4etc.,thisthesismakesoutthethedevelopmenttrendofthecurrentoperatingsystem.Thesebasicmethodshavetheveryimportantvaluetobuilidourownoperatingsystem.
ThisthesistakesμC/OS-IIv2.51asexample,portingittoARM7TDMIprocessorandmakesansampleapponEvaluator-7TboardshippedfromARMLtd.
AlsoaμC/OS-IIv2.518051portisdoneandtestedontheEasyPack.
TheaboveportingworkcanillustratetheprocesstodevelopaRTOS-basedembeddedsystem.Anditisagoodreferenceforembeddedsystemdeveloperstousethisportintheirproject.
Keyword:
EmbeddedSystem,RTOS,μC/OS-II,Linux,microkernel
目录
摘要…………………………………………………………………………………………5
Abstract………………………………………………………………………………………7
目录…………………………………………………………………………………………9
引言…………………………………………………………………………………………13
第一章嵌入式系统概述……………………………………………………………………15
1.1什么是嵌入式系统……………………………………………………………………15
1.2历史回顾………………………………………………………………………………15
1.3应用前景………………………………………………………………………………15
1.4主要技术支撑…………………………………………………………………………16
1.4.1嵌入式系统中的主要硬件技术………………………………………………16
1.4.2嵌入式系统中的主要软件技术………………………………………………17
1.5研究前沿………………………………………………………………………………17
第二章嵌入式系统硬件……………………………………………………………………19
2.1嵌入式系统处理器的发展……………………………………………………………19
2.1.1嵌入式系统的核心器件类型…………………………………………………19
2.1.2嵌入式系统的核心器件体系结构……………………………………………20
2.1.3典型的嵌入式微处理器ARM体系结构………………………………………21
2.2存储器…………………………………………………………………………………22
2.3外部设备(输入设备/输出设备/存储设备/网络通信设备)……………………22
2.4外围接口(USB/并行接口/串行接口/无线接口)…………………………………22
2.5网络……………………………………………………………………………………23
第三章嵌入式系统软件…………………………………………………………………25
3.1软件的作用……………………………………………………………………………25
3.2固件……………………………………………………………………………………25
3.2.1固件的定义和功能……………………………………………………………25
3.2.2一个固件范例——μHAL……………………………………………………26
3.3高层软件………………………………………………………………………………26
3.3.1软件库…………………………………………………………………………27
3.3.2操作系统………………………………………………………………………27
3.3.2.1操作系统的分类………………………………………………………27
3.3.2.2单一内核操作系统………………………………………………………27
3.3.2.3微内核操作系统…………………………………………………………28
3.3.2.4操作系统与实时操作系统………………………………………………28
3.3.2.5POSIX规范………………………………………………………………29
3.3.2.6嵌入式操作系统(EOS)的发展…………………………………………30
3.3.2.7内核………………………………………………………………………31
3.3.2.8如何构建自己的嵌入式操作系统………………………………………36
3.4应用软件的设计………………………………………………………………………37
3.3.1模块化设计……………………………………………………………………37
3.3.2面向对象设计…………………………………………………………………38
3.3.3低功耗设计……………………………………………………………………38
第四章嵌入式系统开发工具………………………………………………………………39
4.1ADSv1.2集成开发环境………………………………………………………………39
4.1.1调试的概念……………………………………………………………………41
4.1.2目标系统接口…………………………………………………………………42
4.1.3调试系统………………………………………………………………………43
4.1.4Multi-ICE仿真器………………………………………………………………44
4.2EasyPack仿真器介绍…………………………………………………………………46
第五章μC/OS-IIv2.51到8051的移植……………………………………………………49
5.1获得源代码v2.51………………………………………………………………………49
5.2代码结构图……………………………………………………………………………49
5.3μC/OS-II结构详解……………………………………………………………………51
5.3.1μC/OS-II运行过程……………………………………………………………51
5.3.2调度的发生……………………………………………………………………52
5.3.3体系结构相关代码……………………………………………………………53
5.4μC/OS-II的移植………………………………………………………………………53
5.4.1结构说明………………………………………………………………………53
5.4.2使用KEILC51建立RTOS………………………………………………………56
5.5基于μC/OS-II的嵌入式应用的时空指标分析………………………………………59
5.5.1影响时空指标的因素…………………………………………………………59
5.5.2运行的时间效率………………………………………………………………61
第六章μC/OS-IIv2.51到ARM7的移植…………………………………………………63
6.1开发环境………………………………………………………………………………63
6.2评估板…………………………………………………………………………………63
6.3使用μHAL……………………………………………………………………………66
6.4使用Flash………………………………………………………………………………66
6.5ARM和ADS1.2…………………………………………………………………………67
6.6μHAL在移植中的作用………………………………………………………………68
6.7总结………………………………………………………………………………72
6.8下一步工作……………………………………………………………………………73
第七章基于Linux的嵌入式系统…………………………………………………………75
7.1Linux简介………………………………………………………………………………75
7.2开发工具………………………………………………………………………………75
7.2.1宿主(Host)平台……………………………………………………………75
7.2.2需要的软件代码………………………………………………………………75
7.3构建工具和内核………………………………………………………………………76
7.4建立系统………………………………………………………………………………77
总结…………………………………………………………………………………………79
论文发表情况………………………………………………………………………………81
致谢…………………………………………………………………………………………83
参考文献……………………………………………………………………………………85
附件:
程序清单………………………………………………………………………………87
引言
嵌入式系统(EmbeddedSystem)[1]是嵌入微处理器/微控制器利用其算术和逻辑运算能力实现特定功能的系统。
嵌入式操作系统(EOS-EmbeddedOperatingSystem)是构建嵌入式系统的核心技术。
嵌入式系统的发展和任何一种产业一样,需要市场的拉动和技术的推动。
嵌入式系统具有很好的应用前景。
目前嵌入式系统在航空、电力、机械、化工、医疗、制造、消费类电子等领域有广泛的应用。
随着微电子技术和嵌入式技术的发展,未来嵌入式系统将应用于更多的领域。
因此,研究嵌入式系统开发技术,特别是EOS,具有很强的迫切性和实用性。
本论文以嵌入式系统为研究对象,对嵌入式系统的定义、现状和未来,以及如何使用EOS开发出成功的嵌入式系统做深入、具体的研究。
嵌入式系统开发不同于通用计算机上的应用开发。
嵌入式系统开发最大的特点是嵌入式系统是从底层硬件到上层应用都需要进行开发,最终实现一个完整的系统。
构建一个嵌入式系统是一项很复杂的工程[2]。
这其中涵盖了电子技术、计算机技术和网络通信技术中的许多内容。
在嵌入式系统中,用到的电子技术包括:
数字电子和模拟电子。
数字电子方面包括逻辑电路、接口原理、FPGA/CPLD等等;模拟电子包括模拟电路、A/D和D/A、电源、EMC等等。
嵌入式系统的开发,软件开发占整个系统开发的主要部分[3](软件开发成本占到总成本的70%左右)。
嵌入式系统的软件与PC机应用软件的开发有本质的区别。
嵌入式系统的软件有Firmware、OS和Application构成一个“自治”系统。
这个系统除了要实现特定的功能外,还必须满足实时性要求。
嵌入式系统是一门涉及多学科的崭新领域。
虽然关于嵌入式系统的讨论很多,但是目前还很少有关于如何建立嵌入式系统的方法论的讨论,更没有形成理论体系。
通过两年多的资料收集、研究和实践,用各种方式收集与嵌入式系统有关的资料,包括ARM[4]、μP/μC、Linux、QNX、OSE、L4、TCP/IP、BlueTooth、Ethernet、VHDL、Forth等,总结出嵌入式系统开发的途径和具体方法,特别是EOS内核移植到不同体系结构硬件上的方法和经验。
最后,以两个分别基于8051和ARM实际移植的例子,阐述如何在RTOS平台上开发低成本、高可靠性、功能强大的嵌入式系统,供嵌入式系统开发人员参考。
第一章嵌入式系统概述
1.1什么是嵌入式系统?
嵌入式系统[1]被定义为:
以应用为中心、以计算机技术为基础、为特殊应用量身定制的、适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
计算机应用有两大类:
通用计算机系统和嵌入式系统。
每年,全球生产出50亿片微处理器/微控制器等计算芯片。
其中,仅仅只有不到1亿片芯片用于通用计算机系统。
另外的微处理器都被应用到嵌入式系统中。
通用计算机系统和嵌入式系统的比例是1:
50。
这个比例中嵌入式系统占的份额还会进一步增大。
1.2历史回顾
从计算机诞生的那一天起,计算机的体积、性能、价格不断地依据摩尔定律在变化。
个人电脑已经成为人类社会组成的一部分,并且数量仍然在不断增加。
另一方面,嵌入式系统日益渗透到人类生活各个方面。
从工业生产、军事装备、教学科研、日常生活和消费娱乐的各个角落,都有嵌入式系统的应用。
嵌入式系统技术使原有的传统技术如虎添翼,得到有力的推动和提高。
网络技术、实时系统、人机接口等等技术已经并且正在改变着世界。
1.3应用前景
嵌入式系统经历了从低端应用到高端应用的过程。
嵌入式系统的应用领域非常的广泛。
传统的机器、仪表、设备等等各种产品都可以嵌入微控制器,使其具有计算能力。
这种计算能力,使传统设备具有一定程度的“智能”并使系统的功能、可靠性、安全性、可维护性、交互性、效率、成本、功耗等获得极大的提升,并且具有几乎是无限的发展空间。
从某种程度上讲,嵌入式系统的应用仅受到工程技术人员想象力的限制,“创意”成了主要的瓶颈!
只要有好的“创意”,就可以将计算机领域的成就延伸到人类文明的每一个角落,前提是这种“创意”被市场接受。
嵌入式系统是市场敏感的。
以往用单片机开发应用系统的设计师对这一点有深刻的体会。
嵌入式系统是一种高科技产品,在产能过剩的今天,没有一种产品可以逃脱市场规律的控制。
对于嵌入式系统,它的发展很大程度上取决于市场的需求。
发展趋势表明,“以信息化带动工业化”,中国可以在进入曙光初现的的信息时代实现产业升级和经济腾飞。
嵌入式系统对于改善经济结构、实现产业升级、提升中国产品的国际竞争力将会起关键性作用。
嵌入式系统的技术只有融入各行各业,才能体现它的价值。
现在,嵌入式系统在通信、医疗器械、家用电器、仪器仪表、PDA、电子游戏等领域已经得到较大发展,并且在不断催生新产品、推动新应用。
未来,嵌入式系统会应用到更多过去和现在想都想不到的地方去。
我们不能想象未来100年后,甚至是20年后是什么样子的,但是有一点可以肯定,嵌入式系统在这种变化中起了巨大的作用。
1.4主要技术支撑
嵌入式系统的多样性,决定了它必然包含各种不同相关领域的技术。
如果嵌入式系统是无法穷尽的,那么嵌入式系统的技术也是与时俱进的。
这就是为什么至今嵌入式系统的定义仍然存在的各种不同说法的原因。
不同的专家,看嵌入式系统这个“无穷集”的角度不同,产生了不同的定义。
在这篇论文中,“主要技术支撑”指构建一个嵌入式系统产品所依赖的与计算机相关的关键技术。
另外随着网络的发展,通信技术也成为嵌入式系统的主要技术支撑。
1.4.1嵌入式系统中的主要硬件技术
从发明数字计算机以来至今,主流计算机的体系结构仍然没有超越VonNueman机的范围。
其特点是存储程序和程序控制。
它由运算器、控制器、存储器、输入设备和输出设备组成。
硬件技术就是这5大部件中蕴含的技术,主要包括半导体器件技术、模拟电路技术、数字电路技术、微处理器和微控制器技术、ASIC和各种半定制器件技术、各种传感器技术、无线通信等等,涵盖的范围非常广泛。
总的思路是利用计算机的计算和控制能力,与计算机以外的环境产生互动。
硬件的复杂性体现在与硬件相对应的计算需求和对外围设备控制的需求上。
计算需求主要是对各种复杂海量数字信号处理的需求。
简单的数字信号处理任务可以在普通微处理器上用软件完成,实时要求高的系统需要用DSP芯片甚至采用硬件计算电路来完成计算任务。
加入嵌入式系统中的不同外围设备,如以太网控制等模块,就会使嵌入式系统的复杂程度大为增加。
1.4.2嵌入式系统中的主要软件技术
由于硬件变得越来越复杂,功能的需求不断增加,可靠性要求越来越高,同时也对软件提出了越来越高的要求。
嵌入式系统软件的复杂度比硬件复杂度增长得更快。
软件危机在嵌入式系统中也越来越严重。
解决软件危机的方法是采用工程化方法。
使用高级的建模工具、实现工具、