




已阅读5页,还剩47页未读, 继续免费阅读
(计算机应用技术专业论文)基于davinci处理器的嵌入式系统软件平台构建.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文基于d a v i n c i 处理器的嵌入式系统软件平台构建 摘要 随着计算机技术的快速发展,特别是微型机的出现,现代科学研究产生了质的飞 跃,为嵌入式系统提供了广阔的发展空间。目前,嵌入式系统已经广泛应用到工业、 交通、能源、通信、医疗卫生以及日常生活领域,在后p c 时代的今天,嵌入式系统 俨然成为了最热门的技术之一。当前嵌入式系统的发展趋势是小尺寸、微功耗和低成 本,这就相对提高了软件技术的要求。 本课题旨在建立完整的基于d a v i n c i 处理器的嵌入式w i n d o w sc e 软件平台。论 文以通用电气( 中国) 医疗系统超声测试仪器的开发项目为背景,研究如何为嵌入式 系统建立一个完整的软件环境。 本课题研究按照嵌入式系统从底层硬件层到上层应用层由下至上的顺序,阐述了 操作系统逐步在目标平台上的移植过程。文章首先介绍了嵌入式系统的基本概念、特 点、结构及其发展现状,并阐述课题的意义、背景和主要工作;随后进行了目标嵌入 式系统的总体设计,包括需求分析、软硬件的选型及其开发方案的制定;在此基础上, 完成软件平台的构建,其中详细展开了b o o tl o a d e r 代码的开发,操作系统的定制和 裁剪,触摸屏与n a n df l a s h 驱动程序及产品用户应用程序的实现;最后针对目标系 统的正确性、效率和稳定性进行了测试,得出了构建基于d a v i n c i 处理器的嵌入式 w i n d o w sc e 软件平台的一般结论,并结合当今信息产业的发展方向对本课题研究的 前景作了展望。 关键词:嵌入式,w i n c e ,b s p ,p l a t f o r mb u il d e r ,定制 硕士论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , e s p e c i a l l yt h ea p p e a r a n c eo ft h e m i c r o c o m p u t e r , t h es t u d yi nm o d e ms c i e n c ei sg r e a t l yp r o m o t e d a tp r e s e n t ,e m b e d d e d s y s t e mh a sb e e nm o r ea n dm o r ew i d e l yu s e di ni n d u s t r y , t r a f f i c ,e n e r g ys o n c o s , c o m m u n i c a t i o n ,h e a l t h c a r ea n dc o m m o nl i f e t o d a y , ap o s t - p ce r a , e m b e d d e ds y s t e m t e c h n o l o g ys e e m st ob et h ef o c u so fr e s e a r c hw o r k s h o w e v e r , b e c a u s ec u r r e n ts y s t e mi s g o i n gt ob e 丽t l ls m a l l e rs i z e ,l e s sp o w e ra n dl o w e rc o s t ,t h eq u a l i t yo ft h es o f t w a r es h o u l d b ea c c o r d i n g l yh i g h e r 功eg o a lo ft h i sp a p e ri st ob u i l da ne m b e d d e dw i n d o w sc es o f t w a r ep l a t f o r mw h i c h i sb a s e do nd a v i n c ip r o c e s s o r w er e s e a r c ho nb o wt ob u i l daw h o l es o f t w a r es u p p o r t e n v i r o n m e n tf o rae m b e d d e ds y s t e m ,a st h eb a c k g r o u di st h ep r o j e c to fa nu l t r a s o u n d t e s t i n ge q u i p m e n tf o rm e d i c a ls y s t e mf r o mg e ( c h i n a ) h e a l t h c a r e t h er e s e a r c ho ft h i sp a p e ro r g a n i z e si nt h eo r d e ro ft h eb o t t o mh a r d w a r et ot h e a p p l i c a t i o n s ,m e a n w h i l e ,i te x p o u n d st h ep r o c e d u r e st h a tt h en a t u r a l i z a t i o no ft h eo p e r a t i n g s y s t e mt ot h et a r g e tp l a t f o r ms t e pb ys t e p t ob e g i nw i t h , i nt h i sp a p e r , i ti n t r o d u c e st h e b a s i cc o n c e p t ,c h a r a c t e r , s t r u c t u r ea n dt h ed e v e l o p m e n ts t a t u sn o w a d a y so ft h ee m b e d d e d s y s t e m ,i na d d i t i o n ,i te x p o u n d st h ec o l l e c t i v i t yf r a m eo ft h eg o a le m b e d d e ds y s t e m ,i t i n c l u d e st h er e q u i r e m e n ta n a l y s e ,t h es o f t w a r ea n dh a r d w a r ed e s i g nm o d e la n dt h e e s t a b l i s h m e n to ft h ee x p l o i t a t i o ns c h e m e o nt h eb a s i sa b o v e ,i to p e n so u tt h ee x p l o i t a t i o n o ft h eb o o tl o a d e rc o d e s ,t h ec u s t o m i z a t i o na n dc u t t i n go u tm e t h o do ft h eo p e r a t i n g s y s t e m ,t h er e a l i z a t i o no ft h ed r i v e r sb e l o n g st ot h et o u c hs c r e e n ,n a n df l a s ha n dt h eu s e r a p l i c a t i o np r o g r a m a tl a s t ,i tt e s t st h ec o r r e c t n e s s ,e f f i c i e n c ya n ds t a b i l i t yo ft h et a r g e t s y s t e m , t h e nc o m e st ot h ec o n c l u s i o nt h a tb u i l d i n gt h ew i n d o w sc es o f t w a r ep l a t f o r m b a s e do nt h ed a v i n c ip r o c e s s o r a tl a s t ,i td e s c r i b e st h ep r o s p e c t so fr e s e a r c hc o m b i n i n g t h a tw i t ht h ei n f o r m a t i o ni n d u s t r yd e v e l o p m e n td i r e c t i o nn o w a d a y s k e yw o r d :e m b e d d e d ,w i n c e ,b s p , p l a t f o r mb u i l d e r , c u s t o m i z a t i o n i i 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名: 显1 歪文1 年且南日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的部分或全部内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的部分或全部内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:强您 年7 月品日 硕士论文基于d a v i n c i 处理器的嵌入式系统软件平台构建 1 绪论 1 1 嵌入式系统简介 进入2 0 世纪9 0 年代,嵌入式技术的应用全面展开,目前已经成为了通信和消费 产品的主要平台技术。从某一个角度来看,嵌入式系统可应用于人类工作与生活的各 个领域,具有广阔的应用前景。 1 1 1 嵌入式系统的概念与特点 嵌入式系统被定义为:以应用为中心、以计算机技术为基础,软件硬件可裁减, 适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统【l 】。 与通用型计算机系统相比,嵌入式系统具有以下特点: ( 1 ) 由于空间和各种资源的不足,嵌入式系统的硬件和软件都必须高效率地设 计,力争在同样的成本条件下实现更高的性能,才能在具体的应用中更具有竞争力。 ( 2 ) 嵌入式处理器大多工作在为特定用户群设计的系统中,通常具有低功耗、 体积小、集成度高等特点,移动能力更强,与网络的耦合也更紧密。 ( 3 ) 嵌入式操作系统有高实时性,内核小的特点:高实时性是指能支持实时控 制任务,嵌入式系统通常需要能够在恶劣的环境中处理各种复杂的工作,要求高可靠 性,因此要求其操作系统具有实时性:内核小可以减轻嵌入式系统对资源的占用,降 低成本、便于移植,而且有利于软件固化存储。 ( 4 ) 嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存 储于磁盘等载体中,以提高实时操作系统的执行速度和可靠性。 ( 5 ) 嵌入式系统的开发需要专用的开发工具和环境。由于嵌入式系统本身不具 备自主开发设计的能力,通常也无法对其中的程序进行修改,必须借助特定的开发工 具和环境。 ( 6 ) 嵌入式系统的升级换代是和具体产品同步进行的。因为嵌入式系统是和具 体的应用有机结合在一起的,所以嵌入式系统产品一旦进入市场,就具有较长的生命 周期。 1 1 2 嵌入式系统的基本结构 完整的嵌入式系统可以分为四个部分:硬件层、中间层、系统软件层和应用软件 层。其层次关系如图1 1 所示。 l 绪论硕士论文 应用软件层 系统软件层 中间层 硬件抽象层( b s p ) ,板级支持包( h a l ) 硬件层 图1 1 嵌入式系统的基本结构 1 嵌入式处理器 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。它与通 用处理器最大的不同点在于,嵌入式处理器将通用处理器中许多由板卡完成的任务集 成到芯片内部,从而有利于系统趋于小型化,同时还具有很高的效率和可靠性。 嵌入式处理器具有面向用户、面向产品和面向应用的特点,其范围也极其广阔, 经历了从c i s c ( 复杂指令集) 到r i s c ( 精简指令集) 和c o m p a c tr i s c 的转变【2 】, 位数也由最初的4 位,目前仍在大规模应用的8 位,一直发展到最新的3 2 位和6 4 位。随着系统集成度要求的越来越高,嵌入式处理器已经向高度集成的嵌入式片上系 统( s y s t e mo nc h i p ,s o c ) 发展。 2 嵌入式外围设备 在嵌入式系统硬件层中,除了嵌入式处理器这样的中心控制部件以外,还需要用 于完成存储、通信、调试、显示等辅助功能的其他部件,即嵌入式外围设备。常用的 外围设备按功能可以分为存储设备、通信设备和显示设备三类: ( 1 ) 存储设备 存储设备主要用于各类数据的存储,常用的有静态易失型存储器( m c u 、d s p 、 e m p u 、s o c ) 、动态存储器( d r a m ) 和非易失型存储器( i 的m 、e p r o m 、e e p r o m 、 f l a s h ) 。其中,f l a s h 凭借其可擦写次数多、存储速度快、存储容量大、价格低等优 点,在嵌入式系统领域内得到了广泛的应用。 ( 2 ) 通信设备 目前绝大部分的通信设备都用于嵌入式系统中,包括r s 2 3 2 接口( 串行通信接 2 硕士论文 基于d a v i n c i 处理器的嵌入式系统软件平台构建 口) 、s p i ( 串行外围设备接口) 、1 2 c ( 现场总线) 、u s b ( 通用串行总线接口) 和e t h e m e t ( 以太网接口) 等等。 ( 3 ) 显示设备 由于嵌入式系统应用场合的特殊性,其显示设备一般采用阴极射线管( c i 汀) 、 液晶显示器( l c d ) 和触摸板( t o u c hp a n e l ) 等。 3 硬件抽象层板级支持包 硬件抽象层板级支持包是逻辑上位于硬件层和系统软件层之间与硬件相关的代 码,其主要作用是对具体的硬件进行抽象,给出统一的接口,然后操作系统内核可以 使用这些接口与硬件进行通信。 4 嵌入式操作系统 嵌入式操作系统是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层 驱动软件、系统内核、通信协议、图形界面和标准化浏览器等。嵌入式操作系统具有 通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟 化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动 程序、工具集以及应用程序【3 】。但是与通用操作系统相比,嵌入式操作系统在实时高 效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面有着较为突出的特点。 5 嵌入式应用程序 嵌入式应用程序是针对特定应用领域,基于某一固定的硬件平台,用来达到用户 预期目标的计算机软件。嵌入式应用程序的真正目的是应用。由于用户任务可能有时 问和精度上的要求,因此有些嵌入式应用程序需要特定的嵌入式操作系统支持。 1 2 嵌入式系统发展现状 随着应用的发展,嵌入式系统所涵盖的范围和领域也越来越广泛,几乎包括了我 们周围的所有电器设备,如电视机顶盒、掌上p d a 、移动计算设备、多媒体设备、 医疗仪器乃至路由器、交换机等。进入2 0 世纪9 0 年代,随着信息化、智能化、网络 化的发展,嵌入式系统技术也获得了更为广阔的发展空间,嵌入式技术全面展开,目 前已成为通信和消费类产品的共同发展方向。目前,嵌入式系统己经广泛应用到工业、 交通、能源、通信、科研、医疗卫生、国防以及口常生活等领域。 据调查,国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于 嵌入式开发的仪器设备更是数不胜数。有些学者断言:“嵌入式技术将成为后p c 时 代的主宰 【4 】。目前对嵌入式系统的研究主要集中在以下方面: 1 嵌入式处理器 嵌入式处理器的研究包括:嵌入式微处理器,嵌入式微控制器,嵌入式d s p 处 理器和嵌入式片上系统。目前常用的微处理器有:a m l 8 6 8 8 ,p o w e r p c ,a r m 系列等。 3 l 绪论 硕士论文 2 嵌入式操作系统 操作系统的引入对于嵌入式系统的开发起到了极大的推动作用。在嵌入式操作系 统下设计的应用程序能够实现网络等复杂的功能,能够不再考虑底层设备的管理。从 2 0 世纪8 0 年代起出现了各种商用的嵌入式操作系统,如v x w o r k s 、p a l m o s 、w m d o w $ c e 等,它们都是为专用嵌入式系统开发的。此外,为了界面的友好性,在操作系统 上出现了图形界面系统,如:m i n i g u i 、m i c r i w i n d o w s 、o p e n g u i 等。 3 嵌入式产品 在特定的嵌入式软硬件平台下,从应用的角度出发,开发出各种具有特定功能的 嵌入式产品,如p d a , w e b t v 等。 1 3 课题背景及其意义 本课题来源于通用电气( 中国) 医疗系统超声测试仪器的开发项目,作为嵌入式 系统在医疗卫生领域的应用,目标嵌入式系统利用超声来测定足跟( 跟骨) 的骨质状 态。目前市场上已经存在基于普通p c 机为平台的同类产品,随着嵌入式技术的迅猛 发展和嵌入式系统在信息行业中的广泛应用,利用嵌入式系统实现波形采集处理早已 成为可能,因此市场对产品的小型化、便携性、可靠性及成本提出了新的要求。 同时,嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的 具体应用相结合后的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、 不断创新的知识集成系统。只有不断更新学习嵌入式系统设计、掌握信息技术的核心 知识,才能走在时代的前沿。嵌入式系统发展到今天,对应于各种处理器的硬件平台 一般都是固定的、通用的和成熟的,这就大大减少了由硬件系统引入错误的机会,这 就相对提高了软件技术的要求。 基于上述观点,本课题在充分了解d a v i n c id m 6 4 4 6 高性能硬件设施的基础上, 建立起通用的嵌入式平台,为嵌入式应用开发构建起一个高效、完善的软件支撑环境, 正是其提出的意义所在。 1 4 课题主要工作 课题主要研究如何为基于d a v i n c id m 6 4 4 6 处理器和w i n d o w sc e 操作系统的嵌 入式系统开发提供一个完整的软件平台,作为今后产品二次开发的参考,为新产品的 研发缩短周期,从而增加产品的市场竞争力。 课题主要工作围绕以下问题展开: 1 根据项目需求对系统进行总体设计,包括需求分析、软硬件的选型以及整个 系统构建方案的制定。 2 结合硬件原理,分析和移植系统的板级支持包( b s p ) ,实现b o o tl o a d e r 。 4 硕士论文 基于d a v i n c i 处理器的嵌入式系统软件平台构建 3 深入研究w i n c e 操作系统的体系结构;利用创建的b s p ,定制操作系统内核, 按需求对其进行修改、编译、下载和调试,最终生成操作系统映像文件。 4 完成外围设备驱动程序的开发;生成s d k 。 5 最后进行所构建的软件平台的相关测试,对其功能进行验证。 1 5 本章小节 本章给出了嵌入式的基本概念,特点及其发展现状,说明了本课题的研究背景和 意义,最后展开其主要工作。 2 系统总体设计硕士论文 2 系统总体设计 本论文论述的是嵌入式超声波处理系统的解决方案,是一个完整的嵌入式系统。 如何构建一个符合波形采集处理应用需求的嵌入式系统,需要对目标系统进行整体的 功能分析和总体设计,本章就将阐述如何根据项目需求对系统进行功能分析和总体设 计,并解决将嵌入式系统作为波形处理解决方案的关键性问题。 2 1 需求分析 作为一个波形采集嵌入式系统,其基本目的是采集波形,并将采集回来的波形数 据,进行识别、数据处理,最后输出到外围设备。 项目对于系统的要求分析如下: ( 1 ) 系统处理器速度必须足够快、功能足够强,以达到对波形的实时处理,因 为在医疗卫生性质的波形处理系统中,通常对获取结果的时间延迟有明确限制,设计 时必须充分考虑这一因素。 ( 2 ) 低功耗、便携性好、集成度高,要有优良的便携性以适应仪器的应用场合。 ( 3 ) 必须实现t f t1 6 位色阶以上真彩色显示。 ( 4 ) 要有较高的稳定性,软件必须采用固化存储。 ( 5 ) 存储设备能够至少存储2 0 0 0 组测量数据( 约1 2 g ) 。 ( 6 ) 至少提供两个主u s b 接口,接外部打印机和扩展的外接存储器。 ( 7 ) 开发周期短、成本合理,硬件批量生产成本必须控制在5 0 0 0 0 元以下。 通过以上对系统的功能分析,可以看出项目对系统的需求主要有实时性要求、 便携性要求、功能要求、成本要求等几个方面。 2 2 设计选型 项目需求为整个系统的性能提出了最低要求,它为硬件选型和软件平台设计提供 了指导原则。 2 2 1 硬件平台设计 根据需求分析的结果,系统硬件结构设计如2 1 所示。 6 硕士论文基于d a v i n c i 处理器的嵌入式系统软件平台构建 图2 1 硬件结构图 根据实际的应用,本课题所设计的系统硬件主要分为以下几个部分:处理器、电 源、复位模块、时钟模块、存储器、通讯接口、j t a g 接口以及外围设备接口。 1 处理器:d a v i n c id m 6 4 4 6 芯片属于嵌入式片上系统,是整个硬件系统的核心, 除了完成所有的逻辑运算和控制功能外,还提供各种通讯接口及其他的功能模块,例 如l c d 控制器。其内部集成了a r m 和d s p 双内核,具有高性能、低能耗的特点,可 以满足实时性和小型化的需求畸1 ;此外,其内部设有专用的视频图像处理器,能够完 成对波形数据的一系列操作,因此采用基于d a v i n c id m 6 4 4 6 芯片的嵌入式波形处理 系统的解决方案可以满足设备功能的要求。 2 电源:系统的电源配备3 3 v ( 主板电源) 、1 8 v ( 输入输出电源) 和1 2 v ( d s p 内核电源) 三种。一个稳定可靠的电源是电子系统可靠工作的基础。 3 复位模块:当程序出现错误时,使用复位模块可使c p u 可靠复位。 4 时钟模块:为c p u 内核提供时钟信号的模块,使其工作在特定的频率下,是 系统必不可少的部分。 5 存储器:本课题采用s d r a m + n a n df l a s h 的存储组合。 7 2 系统总体设计 硕士论文 6 通讯接口:包括u a r t 、以太网接口。 7 j t a g 接口:j t a g ( j o i n tt e s ta c t i o ng r o u p ) 是一种国际标准测试协议【6 】,用 于芯片内部测试及对系统进行仿真、调试。通过j t a g 接口,可对芯片内部的所有部 件进行访问,还常用于实现i s p ( i n s y s t e mp r o g r a m m a b l e ) 在系统编程的功能,作为 系统调试接口,可以通过j t a g 口下载程序或进行在线调试,是开发调试嵌入式系统 的一种简洁高效的手段。 8 外围设备接口:包括l c d 、触摸屏和超声测试中必需的设备( 马达、换能器 等等) 。 2 2 2d a v i n c id m 6 4 4 6 简介 本课题所选的d a v i n c id m 6 4 4 6 处理器是德州仪器( t i ) 公司新推出的a r m + d s p 双内核结构芯片,a r m 与d s p 两个内核之间通过相互的中断来实现通信,其中a r m 的引入可以释放d s p 在控制方面的部分功能,使d s p 专门进行数据处理的工作。芯 片采用增强型的哈佛结构总线,其内部有2 个数据通道,8 个3 2 b 的功能单元,2 个 通用寄存器组( a 和b ) ,可同时执行8 条3 2 b 长指令。如果能够充分利用这8 个功 能单元,总字长为2 5 6 b 的指令包同时分配到8 个并行处理单元,在完全流水的情况 下,该芯片的指令吞吐量将达到5 9 4 木8 = 4 7 5 2m i p s 。处理器具有双1 6 b 扩充功能, 芯片能在一个周期内完成双1 6 b 的乘法、加减法、比较、移位等操作。该芯片的内部 支持两级c a c h e ,其中第一级3 2 k b 的程序缓冲器l i p ,8 0 k b 的数据缓冲器l i d ,而 第二级的c a c h e 大小是可配置的6 4 k b ,芯片自动完成这两级c a c h e 之间数据一致性 的维护。有了这两级c a c h e 的支持将使c p u 的执行速度大大加快。 d m 6 4 4 6 处理器由内部结构和外设模块组成,内部结构分别由a r m 子系统、d s p 子系统、视频处理子系统、系统控制构成。a r m 子系统子系统由a r m 9 2 6 e j s 核, 1 6 k bi - c a c h e ,8 k bd c a c h e ,1 6 k br a m ,8 k br o m 组成;d s p 子系统由c 6 4 x + d s p 核,6 4 k bl 2r a m ,3 2 k bl 1p g mc a c h e ,8 0 k bl 1d a t ac a c h e 组成;视频处理子系统 由v p f e ,v p b e 组成,其中v p f e 由c c dc o n t r o l l e rv i d e oi n t e r f a c e ,r e s i z e r ,h i s t o g r a m 3 a , p r e v i e w 构成;v p b e 由o n s c r e e nd i s p l a y ( o s d ) ,v i d e oe n c o d e r ( v e n c ) 及d a c 构 成。d m 6 4 4 6 所提供的外设接口有存储器接口、串行接口、系统接口等。存储器接口 包括d d r 2 接口、a s y n ce m i f n a n d 接口、a t a 接口;串行接口包括u a r t ( u n i v e r s a l a s y n c h r o n o u sr e c e i v e r t r a n s m i t t e r ) 、s p i 、1 2 c 、a s p ( a u d i os e r i a lp o r t ) ;系统接口包 括看门狗定时器( w a t c hd o gt i m e r ) 、p w m 、g e n e r a l - p u r p o s et i m e r 。处理器内部和外 设之间通过交换中心资源( s w i t c h e dc e n t r a lr e s o u r c e ) 通信【7 j 。d m 6 4 4 6 结构如图2 2 所示。 8 堡兰堕塞垩! ! 翌堕! 些里矍塑塑垒丛墨堑塾壁里鱼塑壁 l l m _ m * ” 目 勰l 。 i ”“ 黜 c o y 螂 。n i - 1 】m f i 利 】_ 00 j3 日* mc s 、 l , “磐“紫 日圈日日丽魁剧丽 “:“qh 紫9 q 。 ,r 一r 一、, 。| 【一僦卜 鼢僦i 匿臀s o o 圈22 d m 6 4 4 6 处理器结构 2 2 3 操作系统选型 对目标系统功能和各种操作系统特点进行分析之后,本课题选择m i c r o s o f t 公司 最新推出的w i n d o w sc e6 0 作为应用系统的操作系统( 以下简称为w i n c e ) 。w i n c e 是一款开放的、简洁的、高效率的3 2 位多平台嵌入式操作系统。它不是削减的 w i n d o w s 版本,而是从整体上为有限资源的平台设计的多线程、完整优先权、多任务 的操作系统。它是一个紧凑的、高效和可升级的操作系统i s ,高度的模块化设计允许 它对从掌上电脑到专用的工业控制器的用户电子设备进行定制,它能够满足3 2 位嵌 入式程序开发的需求,同样重要的是,w i n c e 使嵌入式系统的设计者得以充分利用 m i c r o s o f t 的3 2 位基于w 面d o w s 开发工具的全部a p l 函数,w h c e 特有的与w i n d o w s 桌面类似的用户界面也使最终用户易于使用。 w i n c e 目前已成为嵌入式领域的热点在商用丌发方面开发时间短的优势逐渐显 现出来,尤其国内嵌入式开发开始愈来愈注重质量,w i n c e 在服务、技术支持等方面 的优势都得到了认可。 9 2 系统总体设计 硕士论文 2 2 4 开发工具选择 本课题选择p l a t f o r mb u i l d e r 为系统软件平台的开发工具。p l a t f o r mb u i l d e r 为基 于w i n c e 的嵌入式系统开发提供了非常便利的集成开发环境( i d e ,i n t e g r a t e dd e v e l o p e n v i r o n m e n t ) ,其中包括了代码编辑器、编译器以及调试器,是集成了代码编写功能、 分析功能、编译功能、调试功能的一体化开发软件组1 9 1 。 w i n c e6 0 的p l a t f o r mb u i l d e r 不像之前的版本独立存在,而是作为v i s u a ls t u d i o 2 0 0 5 的插件。本课题中,w i n c e 的建立、定制、编译以及调试都在v i s u a ls t u d i o2 0 0 5 中完成。 2 3 开发方案 本课题根据嵌入式系统的结构特点制定目标系统的开发方案,如图2 3 所示。 图2 3 嵌入式系统开发方案 嵌入式系统的开发过程是一个软硬件互相协调,互相反馈和互相测试的过程。 本课题从硬件出发,根据需求定制实时操作系统,并完成驱动程序和应用程序的 开发。应用程序的开发是基于硬件平台进行的,同时也是对硬件平台的一个验证。由 于应用软件的开发与驱动程序并没有绝对的依赖关系,在嵌入式系统的开发过程中, 一般都并行开发。之后,通过测试验证,软硬件集成调试达到需求后最终形成产品。 2 4 本章小节 本章主要以项目需求为设计的指导原则,分析了嵌入式系统作为波形处理解决方 案的关键性问题,对于嵌入式处理器和操作系统的选型,对嵌入式的波形处理系统设 计开发有着普遍意义。其中,以需求分析的结果为指导,完成了对目标嵌入式系统硬 件的设计;最后,制定出合理的构建方案。 l o 硕士论文基于d a v i n c i 处理器的嵌入式系统软件平台构建 3 软件平台的设计与实现 软件平台的设计是嵌入式系统开发一个非常重要的方面,软件平台的质量直接影 响整个系统的功能优劣,好的程序设计可以克服系统硬件设计的某些不足,提高系统 的性能。本课题所构建的软件平台分为以下四个部分,如图3 1 所示。 用户应用程序 操作系统内核 b s p 引导加载程序设备驱动程序 图3 1 软件平台结构 1 引导加载程序( b o o tl o a d e r ) ,即b s p 包中的引导加载操作系统内核的程序。 2 设备驱动程序,介于内核与嵌入式硬件之间的中间抽象层。 3 操作系统内核,特定于本课题定制的w i n c e 内核。 4 用户应用程序,除了提供医疗仪器必需的基本功能之外,主要负责从换能器 采集波形数据,进行识别和分析,并在l c d 中输出。 软件平台的启动流程如图3 2 所示。 图3 2 软件平台启动流程 下面将依次介绍b o o tl o a d e r 代码的编写、w i n c e 操作系统内核的定制、w i n c e 设备驱动程序的设计与实现以及用户应用程序的开发。 3 1b o o tl o a d e r 开发 3 软件平台的设计与实现硕士论文 3 1 1b o o tl o a d e r 介绍 引导加载程序( b o o tl o a d e r ) 是一段单独的程序代码,它存放于目标平台的非易 失存储介质中,是操作系统运行的基本前提条件,其主要功能是初始化硬件,加载操 作系统映像到内存,然后跳转到操作系统中进行后续执行。b o o tl o a d e r 是系统加电 或复位后运行的第一条指令,因此它的实现是进行软件平台构建的第一个步骤。 在嵌入式系统中,b o o tl o a d e r 是严重依赖于硬件实现的。不同的体系结构要求 的b o o tl o a d e r 是不同的。因此,在嵌入式系统世界里要建立一个通用的b o o tl o a d e r 几乎是不可能的,b o o tl o a d e r 也就成为了嵌入式系统开发的难点之一f 1 0 1 。 b o o tl o a d e r 有两个主要功能: 在发布模式,自动引导操作系统,为系统初始化各种参数。 在调试模式,下载和引导操作系统内核。 由此可见,b o o tl o a d e r 是操作系统的必备前置程序。嵌入式操作系统内核在启 动时需要很多参数,这些参数必须通过b o o tl o a d e r 来传递,而且操作系统内核一般 压缩存放在外部存储设备上,从外部存储设备到内存的拷贝过程也要由b o o tl o a d e r 完成。此外,b o o tl o a d e r 还可以对操作系统内核进行调试,所以嵌入式操作系统与 b o o tl o a d e r r 是密不可分的。 3 1 2b o o tl o a d e r 设计 由于本课题在硬件选型中采用了s d r a m + n a n df l a s h 的存储系统,而n a n d f l a s h 本身并不具备执行程序的能力,所以存储在其中的代码都必须拷贝到s d r a m 中才能得以执行。因此,本课题将b o o tl o a d e r 设计为u b l ( u s e r - b o o tl o a d e r ) 和 e b 0 0 t 两部分: ( 1 ) u b l u b l 实现e b o o t 的搬运工作。它存储在n a n df l a s h 中的起始位置,系统加电或复 位后,d a v i n c id m 6 4 4 6 芯片中内嵌的i m l ( r o m b o o tl o a d e r ) 会通过读取n a n df l a s h 中起始位置的代码将u b l 读入s d r a m 中,来执行e b o o t 从n a i a df l a s h 到s d r a m 的 拷贝操作。 ( 2 ) e b o o t e b o o t 通过e t h e r n e t 下载操作系统映像。依赖于d a v i n e id m 6 4 4 6 处理器的体系结 构,将e b o o t 设计为两个阶段: 第一个阶段主要完成依赖于d a v i n e id m 6 4 4 6 处理器体系结构的硬件初始化, 因为需要直接对底层硬件进行操作,所以用汇编语言来实现( 代码表现为 s t a r t s ) 。这一阶段必须屏蔽所有的中断、设置处理器速度和时钟频率、初始 化存储器控制寄存器、初始化堆栈、检测n a n df l a s h 并完成数据的迁移,最 1 2 硕士论文基于d a v i n c i 处理器的嵌入式系统软件平台构建 后跳转到e b o o t 的第二个阶段。 第二个阶段用c 语言来实现。c 语言具有更好的可读性和可移植性,可以实 现更加复杂的功能。这一阶段负责初始化数据、设置启动参数、串口通信等。 在完成了第一阶段的所有初始化工作之后,e b o o t 从s t a r t s 跳转到c 程序的 人口( m a i n c ) ,调用b o o t l o a d e r m a i n 函数,这一阶段的所有工作都由该函 数完成。 b o o t l o a d e r m a i n 函数首先调用k e m e l r e l o c a t e 函数将b o o tl o a d e r 中用到的全 局变量拷贝到s d r a m 中,然后通过o e m d e b u g l n i t 函数来初始化d e b u g 调 试功能,一般是初始化串口,以便使用串口打印调试信息,再调用 o e m p l a t f o r m l n i t 函数,对主板进行初始化,接着调用o e m p r e d o w n l o a d 函 数,根据返回值的不同选择下载内核或者跳转执行。如果o e m p r e d o w n l o a d 函数返回值为b ld o w n l o a d ,e b o o t 将下载w i n c e 映像文件;如果返回 值为b lj u m p ,则直接跳转到映像文件所在的位置开始执行。其中以o e m 开头的函数为o e m 代码,需要根据硬件特点和需求实现,然后被b l c o m m o n 调用。b o o t l o a d e r m a i n 函数流程如图3 3 所示。 图3 3b o o t l o a d e r m a i n 函数流程 整个b o o tl o a d e r 的启动流程如图3 4 所示。 p 3 软件平台的设计与实现硕士论文 图3 4b o o tl o a d e r 启动流程 1 初始化中断向量 中断向量表放置在从o 地址开始,连续8 * 4 字节的空间里。每当一个中断被触发, 便强制把p c 指针置为中断向量表中所对应中断类型的地址值,程序将自动跳转到该 向量对应的地址空间执行。因为每个中断只占据中断向量表中l b i t 的存储器空间,只 能放置1 条指令,所以中断向量表中放置一条向处理器赋值的指令,使程序能从中断 向量表里跳转到相应的中断服务程序( i s r ) 中再执行相应的处理。 当系统上电、复位或重启时,r e s e t 中断被触发,d a v i n c i 处理器中的a r m 核跳 转到与r e s e t 中断对应的向量表空间,即0 x 0 地址,由于在0 x 0 地址放置了一条br e s e t h a n d l e r 指令,程序跳转到r e s e th a n d l e r 处执行,r e s e th a n d l e r 即为r e s e t 中断的中 断服务程序入口,也就是启动程序开始的地方。 为中断提供服务通常是操作系统设备驱动程序的任务,因此在b o o tl o a d e r 的执 行过程中不必响应任何中断。中断屏蔽通过写d a v i n c i 处理器的中断屏蔽寄存器和状 态寄存器( 如a r m 的c p s r 寄存器) 来完成。 2 设置时钟频率 1 4 硕士论文 基于d a v i n c i 处理器的嵌入式系统软件平台构建 在进入w i n c e 操作系统前,d a v i n c i 处理器的频率设置为2 9 7 m h z ,进入内核后 处理器将以全速频率运行。 3 初始化堆栈 因为d a v i n c id m 6 4 4 6 处理器中a r m 共有7 种执行状态,每一种状态的堆栈指 针寄存器( s p ) 都是独立的( s y s t e m 和u s e r 模式使用相同的s p 寄存器) ,因此对程序中 需要用到的每一种模式都要给s p 寄存器定义一个堆栈地址。方法是改变状态寄存器 c p s r 内的状态位,使a r m 切换到不同的状态,然后给s p 赋值。进入u s e r 模式后 就不能再使c p s r 回到别的模式了,因为这样可能会对接下去的程序执行造成影响。 4 程序镜像的搬移 嵌入式系统程序里,一个简单的可执行程序的镜像结构如图3 5 所示。 z l ( z e mi n i t i a l i z e dr w ) d a t a r w ( r e a d w r i t ed a t a ) r o ( c o d e + r od a t a ) 只定义了变量名的全局变量 定义时带初始值的全局变量 编译结果 图3 5 程序镜像结构 程序镜像一开始存储在n a df l a s h 里,因为r o 段只读,所以在运行的时候不可 以改变,所以它可以在n a n df l a s h 中被执行,也可以被转移到速度更快的s d r a m 中 去;而r w 段是可以读写的,r w 和z i 这两部分必须转移到可写的s d r a m 中去执 行,所以在程序镜像运行的时候r w 段必须被装载到s d r a m 里,并将z i 段清零, 才能保证程序的正常运行。所谓应用程序执行环境的初始化,就是完成必要的从r o m 到s d r a m 的数据搬迁和z i 段的内容清零。 5 主程序的跳转 当所有的系统初始化工作完成之后,就需要把程序流程转入主应用程序。转入主 程序的最简单方法是直接从启动代码跳入应用程序主函数m a i n c 入口。 6 初始化有特殊要求的端口、设备 外围设备的初始化可以在系统初始化之后进行,在本课题的b o o tl o a d e r 设计中, 使用g p i o 通用输出端口g p f 4 - - g p f 7 输出来驱动四个l e d ,其目的是表明系统的状 态是o k 还是e r r o r 。 7 内核的调用 b o o tl o a d e r 调用w i n c e 内核的方法是直接跳转到内核的第一条指令处。 1 5 3 软件平台的设计与实现 硕士论文 3 1 3b o o tl o a d e r 加载 b o o tl o a d e r 代码编写完成之后,编译分别生成u b l 和e b o o t 的目标文件 u b l d a v i n c i b i n 和e b o o t n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆除工程环境保护与噪音控制方案
- 技术劳务合同范本3篇
- 智算中心系统集成与技术支持方案
- 汽车零部件生产建设项目施工方案
- 基础抗浮设计与施工技术
- 拆除工程进度控制与质量保障方案
- 精装公寓租赁合同及家居安全监控系统安装协议
- 现代学徒制校企合作人才输送与职业规划服务协议范本
- 拍卖合同履行失职被骗罪责任追究及赔偿协议
- 矿业集团矿长任期目标管理与考核合同
- 现金收付业务管理办法
- 《多元统计分析-基于R(第3版)》课件全套 费宇 第1-13章-多元统计分析与R简介-多维标度分析
- 法学论文开题报告模板范文
- 输变电工程施工质量验收统一表式附件1:线路工程填写示例
- 2024年山东省高考物理试卷(真题+答案)
- 人音版小学六年级上册音乐教案 全册
- 2024年国家义务教育质量监测体育与健康学科成绩提升培训会
- DLT 5630-2021 输变电工程防灾减灾设计规程-PDF解密
- 装饰图案-从图案到设计作业
- 眼科手术器械的清洁与消毒
- 《小英雄雨来》读书分享会
评论
0/150
提交评论