(电路与系统专业论文)基于SEP3203微处理器的μCOSⅡ平台的实现与优化[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于SEP3203微处理器的μCOSⅡ平台的实现与优化[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于SEP3203微处理器的μCOSⅡ平台的实现与优化[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于SEP3203微处理器的μCOSⅡ平台的实现与优化[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于SEP3203微处理器的μCOSⅡ平台的实现与优化[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东南大学硕士学位论文 摘要 随着后p c 时代的到来,嵌入式系统设计日趋复杂,嵌入式操作系统变得必不可少。p c o s 一1 i 是一种 性能优良源码公开且被广泛应用的免费嵌入式实时操作系统。它以其执行效率高、占用空间小( 最小内核 可编译至2 k ) 、实时性能优良、可扩展性强等特点,在嵌入式系统领域得到广泛应用。因此在基于s e p 3 2 0 3 微处理器上实现p c o s i i 嵌入式实时操作系统平台有着较高的实用意义。 本文基于s e p 3 2 0 3 微处理器,实现了f c o s i 嵌入式实时操作系统平台,并对其进行了优化。系统 启动加载程序b o o t l o a d e r 是在g c o s i i 操作系统内核启动之前运行的一段程序。本文研究了调试状态下、 从n o rf l a s h 启动和从n a n df l a s h 启动三种情况下b o o t l o a d e r 的编译配置和程序设计,运行该程序将系统 环境引导到合适的状态,为g c o s i i 平台的运行做好准备。 本文的主体部分是u c o s i i 平台在s e p 3 2 0 3 微处理器上的实现和优化。文章针对a r m 体系结构和 s e p 3 2 0 3 微处理器对p c o s i i 内核代码进行了相应的裁减和修改。由于p c o s 只是一个操作系统内核, 没有相应的图形界面,网络协议栈等支持限制了该平台的应用,因此需要对该平台进行优化。优化内容 包括图形用户界面( g u i ) 和网络协议栈( l w i p ) 的实现具体方法是针对s e p 3 2 0 3 处理器、l c d 控制 器和网络设备控制器等硬件设备的特点以及特定的编译器进行相应的配置和修改。在课题的最后,以计算 器为例,对p c o s h 平台下应用程序的开发进行了简要的介绍。 通过实际的应用得出的测试结果证明,i a c o s 嵌入式实时操作系统在基于s e p 3 2 0 3 微处理器平台上 可以稳定地运行,没有出现任何异常。 关键词:嵌入式系统,a r m ,s e p 3 2 0 3 处理器,实时操作系统,g c o s - 1 i i i i 东南大学硕士学位论文 a b s t r a c t w i t ht h ea r r i v a lo f p o s t - p ct i m e s ,t h ed e s i g no f e m b e d d e ds y s t e mb e c o m e sm o r ec o m p l e x ,w h i c ha b s o l u t e l y c a u s e s n e c e s s a r y o f a r n b e d d e d o s b e c a u s e o f s u c ha d v a n t a g e s h i g he f f i c i e n c y ,l i g h t ( t h e l e a s tk e r n e l o n l y2 k ) 、 e x c e l l e n tr e a l - t i m e p e r f o r m a n c e 、h i g he x p a n s i b i l i t y , p c o s - i i t a k e s e x t e n s i v e a p p l i c a t i u n i n t h e f i e l d o f e m b e d d e d s y s t e m , s o t h e i m p l e m e n t o f a c o s i ip l a t f o r mb a s e do i l s e p 3 2 0 3h a s h i g h p r a c t i c a ls i g n i f i c a n c e t h et a r g e to f t h i sp r o j e c ti st or e a l i z ea n do p t i m i z ep c o s i i e m b e d d e dr e a l - t i m eo p e r a t i n gs y s t e mp l a t f o r m b a s e do ns e p 3 2 0 3m i c r o p r o c e s s o r b o o t l o a d e ri sap r o g r a mr u n n i n gb e f o r es t a r t u po fp c o s - i i t h i sp r o j e c t r e s e a r c h e sc o n f i g u r a t i o na n dp r o g r a m m i n go f b o o t l o a d o i nt h ei n s t a n c eo f d e b u g g i n g 、s t a r t u pf r o mn o r f l a s h 、 s t a r t u pf r o mn a n d f l a s h r u n n i n gi t , s y s t e me n v i r o n m e n tc a l lb el e a d 幻ad g h ts t a t e m a k i n gp r e p a r ef o r 心o s - i i t h ep r i n c i p a lp a r to ft h i sp r o j e c ti sr e a l i z i n ga n do p t ;m i z i n gp c o s - i ip l a t f o r mb a s e do i ls e p 3 2 0 3 c o s i ii sc u td o w i la n dr e v a m p e df o ra r ma r c h i t e c t u r ea n ds e p 3 2 0 3m i c r o p r o c e s s o r b e c a u s eo fl a c ko f g u i a n dt c p 1 p t h a ti s , p c i o s - i ii s j u s tak e r n e l , w h i c hc a l l s 酋ar e s t r i c t e da p p l i c a t i o no f h wa n ds wp l a i f o r m , g o w en e e dt oo p t i m i z ei tt h eo p t i m i z a t i o ni n c l u d e sr e a l i z i n gg u ia n dt c p h pp r o t o c o l ,a n dt h ep f i o f i t yi sd o i n g s o m ec o i l f i g u r e sa c c o r d i n gt oc h a r a c t e r i s t i co fs e p 3 2 0 3 、l c dc o n t r o l l e ra n dn e t w o r ke q u i p m e n tc o n t r o l l e r , s o t h a tp e r f e c tp c o s 一1 ip l a t f o r ma n df u r t h e re x t e n dt h ea p p l i c a t i o no fs e p 3 2 0 3 t h i sp a p e r , f i n a l i t , s i m p l y i n t r o d u c e st h ee x p l o i t u mo f a p p l i c a t i o np r o g r a mi np c o s 一t h r o u i g hac a l c u l a t o rp r o g r a m m i n g t h t o t i g ht h ef m a lp r a c t i c a lt e s t , w e c a nf i n dt h a tg c o s i ic a nr u ns t e a d i l yi ns e p 3 2 0 3m i c r o p r o c e s s o ra n d i l oa b n o r m i t yb ef o u a d k e yw o r d s :e m b e d d e ds y s t e m , a r m ,s e p 3 2 0 3 ,r e a l - t i m eo s ,p c o s - i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:垦盔美筌 导师签名:日期: 第一章绪论 1 1 论文的背景 第一章绪论 随着信息化技术的发展,嵌入式系统已经成为当前i t 产业界一个非常热门的话题。因其高效、 低成本、高可靠性、丰富的代码以及应用程序可扩展性和易移植性等系列优点,目前已成为工业 系统和民用系统的主力军,尤其在信息化产品中,越来越多地应用到嵌入式系统技术。 嵌入式系统从出现至今已有3 0 多年,大致分成了四个阶段: 第一阶段是以单芯片为核心的可编程控制器形式的系统,具有与监视、侍服指示设备相配合的 功能。这类系统大部分应用于一些专业性强的工业控制领域。系统结构相对单一,处理效率低,存 储容量低。 第二阶段是以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式系统。主要特点是:c p u 种 类繁多,通用性比较弱:系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较 专业化,用户界面不够友好。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。主要特点是:嵌入式操作系统运行于各种 不同类型的微处理器上,兼容性好;操作系统内核小,效率高,并且具有模块化和扩展性:具有文 件和目录管理,多任务,网络支持,图形窗口以及用户界面等功能;具有大量的应用程序接口a p i , 开发应用系统较简单;嵌入式应用软件丰富。 第四阶段是以i n t e r n e t 为标志的嵌入式系统。这是一个正在迅速发展的阶段。随着i n t e m e t 的发 展和i n t e m e t 技术与信息家电、工业控制的结合日益密切,嵌入式设备与i n t e m e t 结合将代表着嵌入 式设备的未来。 早期的嵌入式系统开发,一般都是由一个工程师完成的,软件开发工作只占全部工作的5 l d : 随着科技的发展,8 0 年代软件开发工作已经占到全部工作的5 0 ;近几年,随着硬件复杂性、多样 性和应用复杂性的增加,软件开发工作急剧增长,经常达到全部工作的7 0 8 0 。传统的开发模 式已经不能适应系统复杂性的增长,而嵌入式操作系统的引入,极大的方便了嵌入式软件的开发和 维护。 面对全球嵌入式系统工业化的潮流,适应我国加速知识创新和建立面向2 1 世纪知识经济的需要, 东南大学国家专用集成电路系统工程与技术研究中心( 简称a s i c 中心) 采用当前流行的a r m 呋j 核微 处理器( a r m 7 1 d m l ) ,设计了面向无线信息终端应用的s o c 芯片s e p 3 2 0 3 微处理器,该微控制器 提供了完整的通用外设接口,可以满足系统用户的各种需求。该款处理器是针对低成本手持设备和 其它通用嵌入式设备而设计的,经过多次流片以后已经成为一款成熟的微处理器了。目前,该处理 器芯片支持的嵌入式操作系统有a s i xo s ( 由a s i c 中心自主研发) 、u c l i n u x 和w i n c e 等。 1 2 论文的主要工作和意义 本课题的目标是基于s e p 3 2 0 3 徼处理器实现p c o s i i 嵌入式实时操作系统平台。并对其进行优 化。 g c o s i i 是近年来发展迅速的一个开放源码的实时操作系统。它以占用空间少( 最小内核可编 译至2 k b ) 、执行效率高、实时性能优良且易于移植等特点,在各类嵌入式系统中得到广泛应用。 在s e p 3 2 0 3 上实现i _ l c o s i i 平台对于扩大芯片的应用范围,推广该芯片,有着较高的实用意义。 本课题的主要工作内容包括以下几个方面: 1 ) 在调试状态下、从n o rf l a s h 启动和从n a n df l a s h 启动三种情况下,设计s e p 3 2 0 3 微处理 东南大学硕士学位论文 器的启动加载程序b o o tl o a d e r ,并对其进行编译配置。 2 )在s e p 3 2 0 3 微处理器上实现i i c o s i i 嵌入式实时操作平台。主要是针对a r m 体系结构和 g e o x 硬件平台对! u c o s 1 1 进行内核的裁减和修改,使其在硬件平台上可以稳定的运行。 3 ) 对i t c o s - i i 进行优化。包括图形用户界面g u i 和网络协议栈l w l p 的实现及其简单的应 用。 为了在s e p 3 2 0 3 微处理器上实现并优化i a c o s 1 1 嵌入式操作系统平台,对涉及到的s e p 3 2 0 3 微处理器和g c o s i i 操作系统也进行了详细的分析,主要研究了a r m 内核架构,s e p 3 2 0 3 微处理 器结构、功能、启动方式和地址映射关系,删c o s 一的特点、原理以及调试环境等。 1 3 论文的组织结构 论文共分五章。第一章是绪论部分,介绍了论文的背景、主要工作和意义,对论文的组织结构 也进行了说明。第二章介绍了整个系统的硬件平台,包括a r m 体系结构、s e p 3 2 0 3 微处理器以及 g e o x 开发平台。第三章是论文的主体部分,详细剖析了g c o s i i 操作系统的特点、工作原理和开 发调试环境,给出了启动加载程序b o o tl o a d e r 的配置和程序设计过程,研究了c ,o s 在a r m 体 系结构和硬件平台上的实现过程。第四章对p c o s i i 平台进行了优化,包括图形用户界面和网络协 议功能的实现,对平台下应用程序的开发也进行了简单的研究。第五章对全文进行总结,提出了该 平台目前存在的不足,对课题的相关深入研究进行了展望。 2 第二章嵌入式系统硬件平台介绍 第二章嵌入式系统硬件平台介绍 嵌入式系统开发需要对系统的软硬件都有一定的了解。在本章中,首先介绍a r m 系列微处理 器的特点,然后从芯片结构、功能特点、启动方式和地址映射等方面,对本系统采用的s e p 3 2 0 3 微 处理器进行详细的说明,最后简单介绍了基于s e p 3 2 0 3 微处理器的g e o x 系列开发平台。 2 1a r m 微处理器简介 a r m ( a d v a n c e dr i s cm a c h i n e s ) ,既可以认为是一个公司的名字,也可以认为是对一类微处 理器的通称,还可以认为是一种技术的名称。a r m 公司1 9 9 0 年成立于英国剑桥,是知识产权供应商。 目前,采用a 脚技术知识产权( 1 p 核) 的微处理器,即通常所说的a r b l 微处理器,己遍及工业控制、消 费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于a r m 技术的微处理器应用约 占据了3 2 位r i s c 微处理器7 5 以上的市场份额,a r m 技术正在逐步渗入到生活的各个方面。a r m 公司 是专门从事基于r i s c 技术芯片设计开发的公司,作为知识产权供应商本身不直接从事芯片生产, 而靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从a r m 公司购买其设计 的a r m 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的a r m 微处理 器芯片进入市场。目前,全世界有几十家大的半导体公司都使用a r m 公司授权。因此既使得a r m 技 术获得更多的第三方工具和软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者 所接受,更具有竞争力。 采用r i s c 架构的a r m 微处理器一般具有如下特点: 体积小、低功耗、低成本、高性能; 支 | 栅l u m b ( 1 6 位) a r m ( 3 2 位) 双指令集,能很好的兼容8 位1 6 位器件: 大量使用寄存器,指令执行速度更快; 大多数数据操作都在寄存器中完成: 寻址方式灵活简单,执行效率高; 指令长度固定。 除此之外,a r m 体系采用了一些特殊的技术,在保证高性能的同时尽量减小芯片面积,降低芯 片的功耗。这些技术包括: 在同一条数据处理指令中包含算术逻辑处理和移位处理; 使用地址自动增加( 减少) 来优化程序中循环处理: l o a d s t o r e 指令可以批量传输数据,从而提高数据传输的效率; 所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率。 由于s e p 3 2 0 3 微处理器是基于a r m 7 t d m i t 勾核,下面主要介绍a r m 7 微处理器的性能特点。 a r m 7 系列微处理器为低功耗的3 2 位r i s c 处理器,最适合用于对价位和功耗要求较高的消费类 应用。a r m 7 系列微处理器具有如下特点: 具有嵌入式i c e - r t j 星辑,调试开发方便: 极低的功耗。适合对功耗要求较高的应用,如便携式产品; 能够提供o 9 m i p s m h z 的三级流水线结构; 代码密度高并兼容1 6 位的t h u m b 指令集; 对操作系统的支持广泛,包括w i n d o w sc e 、l i n u x 、p a l mo s 等: 指令系统与a r m 9 系列、a r m 9 e 系列和a r m i o e 系列兼容,便于用户的产品开级换代; 主频最高可达13 0 m i p s ,高速的运算处理能力能胜任绝大多数的复杂应用。 a r m 7 系列微处理器包括如下几种类型的核:a r m 7 t d m i 、a r m t t d m i s 、a r m 7 2 0 t 、a r m 7 e j 。 东南大学硕士学位论文 其中,a r m 7 t d m i 是目前使用最广泛的3 2 位嵌入式r i s c 处理器,其简单和全静态设计的特点尤其适 合于对价格和功耗敏感的应用产品,广泛应用于各类消费、汽车电子、工业控制等产品中。 a r m 7 t d m i 是a r m 7 基础上的改进版本,除了有a r m 7 的3 2 位集成芯片的基本特色外,它还有如下 特点:t h u m b l 6 位压缩指令集:d e b u g 支持功能( 使处理器能够暂停以响应一个d e b u g 请求) ;m u l t i p l i e r ( 增加了硬件乘法器,执行功能更强大,可以产生6 4 位的数据结果) ;嵌入式i c e ( 支持指令断点和 数据观察点) 。这也;i ! a r m 7 t d m l 名称的由来。 2 2s e p 3 2 0 3 微处理器 s e p 3 2 0 3 微处理器是由东南大学国家专用集成电路系统工程与技术研究中心( a s i c 中心) 设计 的1 6 3 2 位r i s c 微控制器,面向低成本的多媒体手持终端应用和嵌入式控制器类应用,为用户提供了 丰富的外设、低功耗管理和低成本的矫存配置,并集成了用于多媒体加速的m m a ( m u l t i m e d i a a c c e l e r a t o r ) 模块和a c 9 7 控制器用于多媒体音频的解码和录音。处理器采用2 5 v 内核供电,3 - 3 v 外 围1 0 供电,工作温度范围一4 0 摄氏度+ 8 0 摄氏度,典型功耗为2 5 0 m w ( m p 3 实时播放) ,s l e e p 功耗为1 0 0 u w ,芯片典型工作频率7 5 m h z 。 2 2 1s e p 3 2 0 3 微处理器架构 p m u i n t c a i u a r m 7 t d m le s i t a m m g t i m e r b 可丁 a e b r i d g e 剖a m b a 舳 : m p u a r t ( 2 】 l a n d 1 叫 i 0 p w md v i a c 晶器 a p s p l b u s b l 竺竺ii 竺竺i m m c a c 9 7p l l lp i ,l 2 图2 1s e p 3 2 0 3 的结构框图 s e p 3 2 0 3 微处理器的整体结构框图如图2l 所示。s e p 3 2 0 3 微处理器使用2 5 u m 标准c m o s 的工艺 设计,内嵌c a r m 7 t d m i 处理器内核,采用a m b a 2 0 总线构架,具有低功耗、低成本的优点。s e p 3 2 0 3 还提供了完整的通用外设接口,可以满足系统用户的各种需求。 为了支持低成本的系统方案,s e p 3 2 0 3 微处理器支持外部3 2 1 6 位数据总线,结合a r m 提供的 t h u m b 指令集,将大大降低系统成本和功耗。 2 2 2s e p 3 2 0 3 微处理器基本功能 s e p 3 2 0 3 微处理器集成了支持黑白、灰度、彩色的l c d 控制器:多媒体加速模块用于提供多 媒体处理定点矢量乘加的计算能力;支持低成本的n a n df l a s h 控制器并可从其直接启动:支持多种 外存类型:s r a m 、n o rf l a s h 、s d r a m ;支持实时钟( r t c ) ;支持四通道的定时器和两通道的p w m ; 4 第二章嵌入式系统硬件平台介绍 支持用于连接触摸屏通讯的s p i 协议;支持两个u a r t 控制器,其中一个支持红外传输;支持u s b i 1 d e v i c e 控制器用于p c 与移动终端之间的高速信息传输;支持m m c s d 卡控制器,用户可以扩展系 统的存储能力和外设功能;支持兼容a c 9 7 协议的控制器,用于音频文件的播放和录制。s e p 3 2 0 3 处理器内嵌2 0 k b y t e 零等待的静态存储器( s r a m ) ,用于多媒体处理时的核心代码与数据的存放 用户也可以将操作系统的核心代码或l c d 帧缓存存放在该处理器中,用于提供更高的性能和更低的 能量消耗:6 通道d m a 控制器,为用户提高了高速的数据传输通道。为了支持低成本的系统方案, s e p 3 2 0 3 支持外部3 2 位门6 位数据总线,结合a r m 提供的t h u m b 指令集,将大大降低系统成本和 功耗。考虑到n a n df l a s h 的成本优势s e p 3 2 0 3 处理器提供专用的n a n df l a s h 控制器,并支持系统 直接从n a n df l a s h 启动。 2 2 3 系统启动方式和地址映射关系 1 系统启动方式 系统启动方式如袍1 所示,考虑到n df l a s h 的成本优势,s e p 3 2 0 3 微处理器支持从n a n df l a s h 启动或 l , n o r f l a s h j f l 动。s e p 3 2 0 3 芯片为启动方式分配了两个专用的管脚b o o t n f ,设计拨动开关方 便地对系统启动方式进行选择。 表2 1 系统肩动方式 b ( ) 0 t n f 系统启动方式 0 地址指向s e p 3 2 0 3 芯片信号管脚n c s 0 ,n o rf l a s h 启动, 外部数据总线1 6 位宽度 1 地址指向s e p 3 2 0 3 芯片的e s l 他l ,使用 n a n df l a s h 启动 2 地址映射关系 0 x l f f ff f f f 0 x l f f f4 f f f 0 x l f f e _ f f f f 0 x 1 1 0 03 f f f 0 x 0 0 0 00 0 0 0 e x t e r r t a lm e m r y ( n c s a - n c s f ) 黢滋鬻箩缫 a s r a m 2 0 k b y t e s e l r e g i s t e r s 秽一鬻 麟。女。# 霪 e x t e r n a li l e m e r y s p a c e ( n c s ) 6 4 m b y t e s 系统从外部n o rf l a s h 启动时的地址配置 0 x 1 1 0 0 - 3 f f f 0 x o f f ff f f f 0 x 0 0 0 0 _ 4 f f f 0 x o 0 0 00 0 0 0 系统从内部e s p m i 启动 时的地址配置 图2 2s e p 3 2 0 3 地址空间映射图 系统支持从外部存储设备或内部e s r a m 启动,也就是零地址可以映射到外部存储接口( e m i ) 或 者内部e s r a m 。缺省情况下可由硬跳线( n a n d b o o t ) 决定映射n e m 的n c s a 还是e s r a m 。所以, n a n d b o o t 为低时系统从外部启动,反之,从内部e s r a m 启动,在使用时根据实际情况进行相应 东南大学硕士学位论文 配置即可。图2 2 为s e p 3 2 0 3 的地址空间映射示意图。 2 3g e o x 开发平台 本课题所做的研究是在基于s e p 3 2 0 3 微处理器的g e o x 系列试验开发平台上进行的。该平台由 g e o x 实验开发板、j t a g 仿真器和运行于主机上的集成开发环境( i d e ) 组成,如图2 3 所示。 图2 3 开发平台结构 g e o x 是东南大学国家专用集成电路系统工程技术研究中心开发的嵌入式系统实验开发平台,其 设计配置灵活、接口丰富、支持a s i x o s ( 由a s i c 中心自主研发) ,“c l i n u x 等实时操作系统,支持 经济适用的j t a g 实时调试或低成本的串行端口监控调试。其核心芯片s e p 3 2 0 3 微处理器在前一节已 经做过介绍,通过j t a g 仿真器连接到p c 机上的集成调试环境o d e ) 软件平台,在i d e 中统一完成舡编 c 语言的编辑、编译、连接。i d e 可选择a r m 公司的开发软件( s d t 2 5 、a d s i 2 ) ,利用处理机的 e m b e d d e d i c e 性能,通j 蚰t a g 接口实现实时的仿真调试。 6 第三章“c o s n 操作系统平台的实现 第三章p c i o s 操作系统平台的实现 随着嵌入式应用的迅猛发展,以前名不见经传的嵌入式操作系统概念开始流行起来。一个嵌入 式应用是否采用嵌入式操作系统、采用哪一种操作系统完全由项目的复杂程度、实时性要求、应用 软件的规模,目标板硬件资源以及产品成本等因素决定,随着嵌入式系统复杂性的增长,在嵌入式 系统中使用操作系统,将给整个系统的开发带来方便。 一般来说,对于一个完整的嵌入式应用系统的开发,硬件的设计和调试工作仅占整个工作量的 一半,应用系统的程序设计也是嵌入式系统设计一个非常重要的方面,程序的质量直接影响整个系 统功能的实现- 好的程序设计可以克服系统硬件设计的不足,提高应用系统的性能,反之会使整个 应用系统无法正常工作。 在本章中一首先介绍了c o s i i 嵌入式操作系统区别于其他操作系统的特点。c o s i i 操作系 统的工作原理以及开发调试环境:然后详细介绍了启动加载程序b o o tl o a d e r 在调试状态下、从n o r f l a s h 启动和从n a n df l a s h 启动下的程序设计过程:最后对i t c o s i i 在s e p 3 2 0 3 微处理器上的移植 过程进行了详细的研究。 3 1p c o s - 操作系统介绍 嵌入式系统的核心是嵌入式操作系统,嵌入式操作系统是应用在嵌入式系统的操作系统,它具 有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:可固化:可剪裁、可配置;独立的板 级支持包,可修改;不同的c p u 有不同的版本;应用的开发需要有集成的交叉开发工具等。 近几十年中,嵌入式操作系统得到了飞速发展,从支持8 位微处理器到1 6 位、3 2 位甚至6 4 位,从 支持单一品种的微处理器芯片到支持多品种微处理器芯片,从只有内核到除了内核外还提供其他功 能模块,如:高速文件系统,t c p d p 网络系统,窗口系统。同时,嵌入式操作系统的品种也不断在变 化,早期嵌入式操作系统基本都是实时的,目前嵌入式操作系统的市场在不断的细分,又出现了很 多针对不同领域的嵌入式操作系统。 嵌入式操作系统种类繁多,这其中包括下面著名的操作系统,如:w i n c e 、p c o s 、p s o s 、 q n x 、p a l m o s 、l y n x o s 和嵌入式l i n u x ( p c l i n u x ) 等。它们有各自的特点,在嵌入式系统领域取得了 广泛的应用。在本课题中,采用的是p c o s - i i 嵌入式操作系统。 p c o s 一】i 操作系统是有名的源码公开的嵌入式实时操作系统( r t o s ) 。良好的持续发展能力、高 性能的内核以及友好的用户开发坏境,使其迅速在嵌入式实时操作系统领域占据一席之地。它以其 良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求 极高的领域中,如卫星通讯、军事演习、飞机导航等。在国际上有许多成功使用p c o s i i 开发的产 品,如s y m m e 删,i h c 控制器,g l o b ew a v em t - 2 0 0 0 ,n a s c a r 等数百种之多。 “c o s 一主要有如下特点: 可靠性 用户总是希望在一个相对稳定的环境中工作所以操作系统的可靠性是用户和技术开发人员首 先要考虑的问题。而稳定、可靠一直是p c o s i i 的一个突出优点。 实时性 实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。实时性 的强弱是以完成规定功能和作出响应时间的长短来衡量的。c o s i i 的实时性做得非常好,其系统 本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟 7 东南丈学硕士学位论文 很短。i , c o s i i 提供的多任务机制中对任务的控制采用了优先级抢占( p r e e m p t i v e p d o f i t y s c h e d u l i n g ) 机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用开发留下 更大的余地。 可裁减性 用户在使用操作系统时,并不是操作系统中的每一个部件都要用到。例如图形显示,文件系统 以及一些设备驱动在某些嵌入系统应用中往往并不使用。i i c o s i i 由一个体积很小的内核及一些可 以根据需要定制的系统模块组成,加上其它必要模块。所占用的空间也很小,且不失其实时、多任 务的系统特征。由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发, 来满足自己的实际应用需要。 易用性 p c o s - l i 代码几乎全是源码公开的标准c 语言编码,只有少数几个与c p u 相关的代码是用汇编语 言编写,所以具有很好的移植性。用户应用程序也用标准c 语言编写,用户使用起来非常的方便。 可固化 只要具备合适的软硬件,就可以将b c o s i i 嵌入到产品中,成为产品的一部份。 可确定性 绝大多数u c o s - i l 的函数调用和服务的执行时间具有确定性,即用户总能知道p c o s i i 的函数 调用与服务执行了多长时间 3 1 2p c o s - 操作系统原理 b c o s i i 的移植( 与处理器有关的代码) o s c p u o s c p u c co s c p u - a a s m i 软i :件: i _ 硬一j i j 生一j 图3 1i i c o s 系统软硬件体系结构 p c o s i i 是一种实时嵌入式操作系统,它是基于优先级的抢占式实时多任务操作系统,包含了 实时内核、任务管理,时间管理、任务间通信与同步( 信号量,邮箱,消息队列) 和内存管理等功 能。绝大部分代码用c 语言写成,与硬件相关部分用汇编语言编写,而且它的源代码也是免费公开的。 图3 1 为a c o s i i 的软硬件体系结构。 下面将通过# c o s i i 操作系统中几个术语的介绍来说明该操作系统的原理。 i 任务 在进行实时应用设计时通常要把工作分割成多个任务,每个任务处理一部分事件,并被赋予一 定的优先级、一套自己的c p u 寄存器及堆栈。从代码的角度看,任务就是一个拥有自己堆栈的函数; 8 第三章p c o s - 操作系统平台的实现 从任务的角度看,任务可以认为自己独自拥有c p u 。实时系统中的大部分任务是周期的,体现在编程 上每个任务则是一个典型的无限循环。 在p c o s i i 中,每个任务都处在以下五种状态之一,这五种状态是体眠态、就绪态、运行态、 挂起态( 等待某一事件发生) 和被中断态( 参见图3 2 ) 。休眠态相当于该任务驻留在内存中,但并不 被多任务内核所调度:就绪态意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正 在运行的任务的优先级低,暂时还不能运行;运行态的任务是指该任务掌握t c p u 的控制权正在 运行中;挂起状态也可以叫做等待事件态( w a i t i n g ) ,指该任务在等待某一事件的发生,例如等待 某外设的u 0 操作,等待某共享资源由暂不能使用变成能使用状态,等待定时脉冲的到来或等待超时 信号的到来以结束目前的状态等等;发生中断时,c p u 提供相应的中断服务,原来正在运行的任务 暂不能运行,就进入了被中断状态。图3 2 表示p c o s - l i 中一些函数提供的服务,这些函数使任务从 一种状态变到另一种状态。 o s t a s i o e lo 挂起 w a l t t n g o s q p o s t0 0 s 0 p o s t f r o n t o o s s e e p o s t o 0 s t a s k r e s u m e 0 0 s t l i e d l y r e s u m e ( ) 0 s t i m e t jc k ( : 就绪 r e a d y 0 s x p e n d 强 。s q p e n d ( ) 0 6 s e m i e n d ( ) o s t a s k s u s p o n d ( ) o s t i m e o l y 0 o s t i m e d l v m i 剜 ( ) 矧u 断n a i n r u n n i n g 口蝴s n 】s = “鞋掣dk j1 一0 s i n t e x i t 0 t a s ki sp r e e m p t e d o s l a s k o e l ( ) 图3 2p c o s i i 中任务的状态图 p c o s 1 i 可以管理多达6 4 个任务,并保留了优先级为0 、l 、2 、3 、o sl o w e s tp r i o 3 、 o s, 以及o 这8 个任务供自己使用,所以用_ l o w e s t _ p r l 0 - 2 o sl o w e s tp r l 01 sl o w e s tp r l 0 户可以使用的只有5 6 个任务。任务的优先级越高,优先级的值则越低。在p c o s - i i 版本中,任务的 优先级数也可作为任务的标识符使用。 2 内核结构 v c o s i i 的内核主要是为任务提供系统服务,任务可以请求内核的某项服务,内核做出相应的 服务响应。同时,内核又可以根据任务当前的状态及时执行优先级最高的就绪任务。下面分别从初 始化、启动、任务管理、临界段代码处理、调度及时钟节拍等方面介绍p c o s i i 内核的基本原理。 u c o s - i i 的初始化 p c o s ,i i 的初始化可以分为硬件初始化和操作系统初始化两个部分。 硬件初始化是指芯片和固件的初始化。这部分对于具体芯片和硬件平台是不同的。首先是进行 电源管理单元的初始化,决定系统中各个模块的状态,确保操作系统能够运转。因为中断是操作系 统的入口,用户访问操作系统提供的服务的唯一途径是依靠中断来实现的,所以还必须进行中断处 理器的初始化。为了方便进行嵌入式系统的串口调试所以必须进行串口的初始化。最后还必须对 时钟驱动初始化。只要根据实际的硬件平台,实现以上四部分的硬件初始化,那么p c o s ,i i 就能够 在所给的硬件平台上顺利运行起来。 9 盟刁 a i 一 。 糕n 一黜辱 东南大学硕士学位论文 0 s 1 c b p r i o t b l o s _ l o w e s t p r i o t a s k s t a t 的o s j 印 1 】 2 c 3 1 o s _ t a s k l d l e0 的0 s j 四 0 s t c b e x t p t r= n u l l o s t c b s k t b o t t o m 一 0 s t c b s k t s i z e = s t ks i z e t a s k 一0 n s 啦c m 【 一t a s k 旦n j t kc l r o s t c b n e x t 0 s t c b p r e v= 0 o s t c b s k t p t r t p t r= n u l l 0 s t c b s k t b o t t o m t s i z e = s t ks i z e o st a s 丘卿:s t k _ c t 0 st a s ko p ts t k c l r o s t c b n e x t= 0 0 s t c b p r e y 0 s t c b i d = 0 51 l o w e s t - 1 0 s t c b e v e n t p t r = n u l l o s t c b m s g = n u l l 0 s t c b f l a g n o d e = n u l l o s t c b f l a g s r d y = 0 0 s t c b d i y = 0 o s t c b s t a t= f i gs t a tl l d y o s t c b p r i o = 0 si 脚e s tp r i 俨l o s t c b x= 6 o s t c b y = 7 0 s t c b b j t x= o x 4 0 任务栈 d 一= 0 sl o i i e s t v e n t p t r 砷j u l l s g = n u e l l a g n o d e = n u l l l a g s r d y = o l y :0 t a t= o ss t a tr d y r i 0 = 0 sl o 研tp r i o = 6 = 7 j t x= 0 x 8 0 任务栈 图3 3 初始化后的数据结构与变量 软件初始化是指在调用i l c o s i i 的任何其它服务之前,p c o s i i 要求用户首先调用系统初始化 函数o s l n m ) 。o s l n i t o - 9 = j 始化p c o s i i 所有的变量和数据结构。o s l n i t o 建立空闲任务i d l et a s k ,这 个任务总是处于就绪态的。空闲任务o s t a s k l d l e ( ) 的优先级总是设成最低,a p o sl o w e s tp r i o 。 在统计任务允许时还要建立o s _ t a s k s t a t ( ) ,使其就绪且优先级为o s _ l o w e s t p r i o - 1 ,此时数据结构 和变量的情况如图3 3 。 i c o s i i 的启动 i l c o s 的启动通常要首先创建任务,就是根据用户的要求创建不同优先级的任务。需要说明 的是在b c o s i i 中采用的是基于优先级的抢占式任务管理,它允许有6 3 个任务优先级,但每个优先 级上只能够有一个任务,这是与许多嵌入式操作系统不同的。 接下来就是调用多任务调度函数。在c o s i i 中调度函数是o s s t a r t o 。当调用o s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论