已阅读5页,还剩73页未读, 继续免费阅读
(通信与信息系统专业论文)基于arm+cortex的嵌入式以太网通信的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 近年来,随着以太网技术的发展和普及,以t c p i p 协议为代表的开放式互联网 技术在各个领域都得到了广泛的应用,僵是大量的设备都有s p i 串行接口,这些设 备的串行数据需要通过网络进行传输,因此必须要寻求一静解决方案,用来解决这 些传统设备与现今的网络设备之间的互联问题。本文针对这种情况设计了一种基于 a r m 处理器的嵌入式以太网接墨系统。 本文分别对s p i 串行通信和基于t c p i p 协议的以太网进行研究和分析,在此基 碱上设计一个嵌入式系统薏于删处理器的串行通信与以太网的协议转换系统, 来实现s p i 串行口与网口的数据传输。 首先分析了当前串行通信的应用现状和以太网技术的发展动态,指出s p i 串口 设备露络化的趋势,然后详细介绥了嵌入式处理器l m 3 s 8 9 6 2 的特点和内部结梅接 着阐述了嵌入式t c p i p 协议栈的总体设计以及每层协议的编写过程。在硬件设计方 面,对本文所设计的系统一基于a r m 处理器的串行通信与以太网的协议转换系统迸 孳亍了总体设计,将系统分为三个主要模块:处理器模块、s p i 通信模块和以太网接墨 模块。同时在软件设计方面对启动代码流程、驱动程序设计与实现、软件包的配置 进行了说明。对设计的主程序的流程匿以及各个任务参数设置加数分析。最后瓣系 统进行了测试表明通信是成功的。 总之,本文完成了嵌入式网络控制器的硬件平台架构设计、嵌入式操作系统的 移植,为今后嵌入式网络控制器的后继开发提供了一个嵌入式平台,研究成果对于 嵌入式远程监控系统在远程控制领域的应用具有一定的参考价值。 关键词a r mc o r t e x以太网;s p i 串行通信;肛c o s - 1 7 ;t c p i p 河北科技大学硕+ 学位论文 a b s t r a c t i nr e c e n ty e a r s ,w i t l lt h ep o p u l a r i t ya n dt h ed e v e l o p m e n to fe t h e r n e tt e c h n o l o g y ,t h e o p e ni n t e r n e tt e c h n o l o g yw i t h 飞 陋p r o t o c o la sr e p r e s e n t a t i v eh a sg o t t e ne x t e n s i v e a p p l i e a t i o ni n 。e v e r yf i e l d 。b o t hi nb u s i n e s so r g a n i z a t i o na n dn o n b u s i n e s so r g a n i z a t i o n , a d o p t e di n t e m e te q u i p m e n ti nl a r g eq u a n t i t i e s ,b u ti nm a n yo c c a s i o n s ,p l e n t yo ft r a d i t i o n a l e q u i p m e n t sw i t hs p is y n c h r o n o u ss e r i a li n t e r f a c e sa r es t i l li nu s ee x t e n s i v e l y i nm a n y a p p l i c a t i o n s ,t h es e r i a ld a t ao f t h e s ee q u i p m e n t sn e e dt ob et r a n s m i t t e dt h r o u g hn e t w o r k , t h u si ti sn e c e s s a r yt os e e kan e wk i n do fm e t h o dt os o l v et h ei n t e r c o n n e c t i o np r o b l e m b e t w e e nt h e s et r a d i t i o ne q u i p m e n t sa n dt h ec u r r e n tn e t w o r ke q u i p m e n t s 。 t h i sp a p e rs t u d i e sa n da n a l y s e sr e s p e e t i v e l yf o rs e r i a lc o m m u n i c a t i o na n dt h e e t h e r n e tb a s e d0 1 1t c p i pp r o t o c o l ,o nt h i sf o u n d a t i o n ,d e s i g na ne m b e d d e ds y s t e mw h i c h c a l l e dt h ep r o t o c o lc o n v e r s i o ns y s t e mb e t w e e ne t h e m e ta n dt h es e r i a lc o n u n u n i c a t i o n b a s e do na r m p r o c e s s o rt oi m p l e m e n td a t ac o m m u n i c a t i o nb e t w e e nm u l t i s e r i a lp o r ta n d n e t p o r t t h ep a p e rf i r s ta n a l y z e st h ec u r r e n ts t a t u so fe m b e d d e ds y s t e ma p p l i c a t i o n s ,a n d e m b e d d e de t h e m e tt e c h n o l o g yd e v e l o p m e n t s ,t h r o u g ht h em o r et r a d i t i o n a lm u l t i - p o i n t d a ma c q u i s i t i o ns y s t e ma n dm o d i f i e dt h r o u g ht w oe t h e m e td a t aa c q u i s i t i o ns y s t e m st h e a d v a n t a g e sa n dd i s a d v a n t a g e so ft h a ts t r i n gs p id e v i c e sn e t w o r k i n gt r e n d 。a n d ,b y c o m p a r i n g t h ee x p a n s i o no ft h ee m b e d d e de t h e m e ti n t e r f a c em e t h o d st op r o v et h em e r i t s o ft h ec h i ps e l e c tl m 3 s 8 9 6 2a n dr e a s o n a b l e d e t a i l e di n f o r m a t i o no na r m - c o r t e x e m b e d d e dp r o c e s s o rc h a r a c t e r i s t i c sa n di n t e r n a ls t r u c t u r e 。a tt h es a m et i m e ,t h ea r e ao f s o f t w a r e d e s i g n a tt h e s y s t e ms t a r t u p c o d ed e s i g n ,s p is e r i a lc o m m u n i c a t i o n i m p l e m e n t a t i o n ,t c p 锺pp r o t o c o la n a l y s i s ,r t c o s 一1 7o ft r a n s p l a n t a t i o nd i s c u s s e di nd e t a i l , a n d s y s t e mt e s t i n ga n dd a t aa n a l y s i s 。f i n a l l y ,t h et e s ts y s t e ms h o wt h a tt h ec o m m u n i c a t i o n i ss u c c e s s f u l i naw o r d ,t h ea r t i c l eh a sc o m p l e t e dt h ed e s i g no fe m b e d d e dn e t w o r kc o n t r o l l e ra n d t h et r a n s p l a n t a t i o no fe m b e d d e do p e r a t i o ns y s t e m ,w h i c hp r o v i d et h ee m b e d d e dp l a t f o r m f o rt h es u b s e q u e n c ed e v e l o p m e n to ft h ee m b e d d e dn e t w o r kc o n t r o l l e r 弧er e s e a r c hr e s u l t s f o re m b e d d e dr e m o t em o n i t o r i n gs y s t e mi ni n d u s t r i a lc o n t r o la p p l i c a t i o n sh a v eac e r t a i n r e f e r e n c ev a l u e k e yw o r d s a r mc o r t e x ;e t h e m e t ;s e r i a lc o m m u n i c a t i o n ;i t c o s - h ;t c p i p i l ;- i j l 科技大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工 作所取得的成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发 表或撰写过的作品或成果。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:段茕鸡 指导教师签名: z 中压 d 7 年占月g 日 p 乡年月字目 河北科技大学学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权河北科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 口保密,在一年解密后适用本授权书。 本学位论文属于 函不保密。 ( 请在以上方框内打“”) 学位论文作者签名:簌麓吗 d7 年6 月8 日 指导教师签名: 丕彳石 参产月习日 第1 章绪论 第1 章绪论 1 1课题研究的意义 2 l 煎纪的特征就是数字纯、霹络化鞫信息纯,它是个以网络为核心的信息对 代。面就在这个信息时代孛,嵌入式系统是继i t 网络技术之恁,又一个薪的技术发 展方向。由于基于a r m 的嵌入式系统具有体积小、性能强、功耗低、可靠性高以及 嚣羯行业应翔麴突窭特征,嚣蓠毫经广泛地应瘸予军事鬣防、演费毫子、麴络逶信、 正业控制、日常生活等各个领域。随着计算机技术与通信技术的发展,基予a r m 的 嵌入式系统熬研究与开发也有着越来越重要熟实际意义。 在工业控制等领域,传统s p i 串行熙设备仍然被广泛地应用,设备间的通信沿 用传统的串行通信。随着我琶工业现代纯步伐鹃加快,对提高生产效率、控制震量 和降低成本熬要求越来越高,s p i 睾行通馈豳有的传输速率低、传输距离有限、布线 繁杂等缺点逐渐展现淑来。 班太翳技术竞照了上述缺点,采震黻太禳霹以方便地接入现青瓣络,数据传输 率高,由于采用了通用的通信协议,兼容性较好。基于t c p i p 的以太网已经发展成。 巍嚣产她的主要通讯等段,在工照生产中,为了能跟上瓣络蜜动诧的灞流,丽不至 予失去竞争优势,必须建立嵩效的数据采集、生产监控、鄂时成本管理的联网系统。 对于这些领域的s p i 串口设备来说,让这些设备连上以太网将是一种趋势。 量。2 嵌入式系统的发震 嵌入式系统的发展主要体现在芯片技术熬进步,戳及在芯片技术限割下的算法舄 软件的进步上。传统的嵌入式系统是基于单片机的,7 0 年代末,产品可以通过内嵌电 子装置来获得更佳酶使用经裁,更容易使用、更快、更便宜。8 年代初,嵌入式系统 的程序员开始瘸商业级鲍“操作系统”编写嵌入式应用软件,随着对实黠性要求的提高, 软件规模不断上升击时韵核心软件逐渐发展为实时多任务操作系统( r 午o s ) ,并作为 一释软件平台逐步藏为震嚣匿涿嵌入式系统熬主流t o 。r t o s 有两个重要特性:实时性 和可靠性。它还是多任务的,丽且这些任务可以并行执行,更有效地利用了系统资源, 是开发嵌入式产晶韵有力武器。 薪一代r t o s 豹领域芷是当薷作为应用电子技术核心的片上系统( s o t ) 是擐以 嵌入式系统为核心,集软、硬件子一体,并追求产品系统最大包容的集成器件,是目前嵌 入式瘟耀领域麴热门话题。髑s o c 设计嵌入式结构,为设计者提供了现鸯技术掰凭 法比拟的优越条件。可以针对应用所需的性能,将其设计在芯片上,芯片的规模常常可 戳达到数百万f 1 3 ,甚至上予万门以上。所数,嵌入式s o c 是满足应用系统缀的集成龟 河北科技大学硕士学位论文 路产品,它为现代电子工程师提供了一个经济快捷的系统设计方法,使那些传统观念 上认为高性能、高复杂度、高成本的嵌入式结构,能够通过低成本的单片芯片实现。 它的设计代表了高科技的设计方法和程序,蔻单片枫技术提供了更广阔的应用领域, 使单片机应用技术产生了革命性的变化。 1 3 课题的提出及重要研究工作 薹。3 重课题的提出 在工业、医药领域存在大量的数据采集,数据采集是指从传感器和其它待测设 备等模拟和数字被测单元中自动采集信息的过程。数据采集系统是结合基于计算机 的测量软硬件产品来实现灵活的、用户盘定义的测量系统。传统的数据采集系统是 单级结构,如图1 1 所示:主机( p c 机) 利用多串口卡连接多个串口设备,主机既要对 每个串口设备完成串口通信,同时又要进行数据处理和入机交互。在串口设备较少( 2 4 个1 ,通信速率不高( 或者串行j t a g 调试端曰( s e r i a lw 汝j t a gd e b u gp o r t 。通过f l a s h 片、 断点单元、数据观察点、跟踪单元,以及可选的嵌入式跟踪宏单元( e m b e d d e dt r a c e 河北科技大学硕十学位论文 m a c r o c e l l ) 和指令跟踪宏单元( i n s t r u m e m a f i o nt r a c em a c r o c e l l ) 等一系列功能檩 结合,在内核部分就可以采用多种类型的调试方法及监控函数。例如,可以设置断 点、观察点、定义缺省条件或执行调试请求、监控停止操作或继续操作。所有的这 些功能在a r m 架构的产品中已经实现,只是c o r t e x m 3 将这些功能整合起来,方 便开发人员使用。 1 1 ) 实际应用比较 虽然a r m 7 肉核并没有像c o r t e x 系列那样集成很多外设,但是大量的基于 a r m 7 的器件,从通用m c u ,到面向应用的m c u 、s o c 甚至是a c t e l 公司基于a r m 7 内核的f p g a ,都拥有更为众多的外围设备。大约有1 5 0 种m c u 是基于a r m 7 内核 的( 根据不同的统计方法,这个数字可能会更嵩) 。 a r m 7 都可以实现几乎所有的嵌入式应用,或采用定制的方式来满足需求。基于 标准内核,芯片厂商可以加入不同类型、大小的存储器和其他外围设备,比如串行 接口、总线控制器、存储器控制器和图形单元,并针对工业、汽车或者其他要求苛 刻的领域,使用不同的芯片封装,提供不同温度范围的芯片版本。芯片厂商也可能 绑定特定翰软件,比如t c p i p 协议栈或面向特定应用的软件。 例如,s t m i c r o e l e e t r o n i c s 公司的s t r 7 产品线有三个主要系列共4 5 个成员, 具有不同的封装和存储器。每一个系列都针对特定的应用领域,具有不同外设集合。 比如s t r 7 3 0 家族是专为工业和汽车应用设计的,因此具有可扩展的温度范围,包括 多个i o 口和3 个c a n 总线接口。s t r 7 1 0 则是面向于消费市场以及高端的工业应 藤,它具有多个通信接墨,院如u s b ,c a n :i s 0 7 8 1 6 _ 以及4 个u a r t ,还有大容量 的存储器和一个外部存储器接口。 芯片厂商也可以选择利于开发入员开发产品a 措施,比如采用a r m 的嵌入式 跟踪宏单元e t m ( e m b e d d e dt r a e em a c r o c e l l ) ,并提供开发和调试工具。 根据以上比较,我们选择了a r mc o r t e x m 3 内核。 2 4 2l m 3 s 8 9 6 2 的应用领域 己m 3 s 8 9 6 2 是一款功能性很强的嵌入式徽处理器芯片,至于那些对功耗有特别 要求的应用方案,l m 3 s 8 9 6 2 微控制器还具有一个电池备用的休眠模块,从而有效的 使l m 3 s 8 9 6 2 芯片在未被激活的时候进入低功耗状态。一个上电掉电序列发生器、 连续的时间计数器( r t c ) 、一对匹配寄存器、一个到系统总线的a p b 接口以及专 用的非易失性存储器、休眠模块等功能组件使l m 3 s 8 9 6 2 微控制器极其适合用在电池 的应用孛。 除此之外,该l m 3 s 8 9 6 2 微控制器的优势还在于能够方便的运用多种a r m 的开发 工具和片上系统( s o c ) 的底层i p 应用方案,以及广大的用户群体。另外,该微控 第2 章系统设计要求与芯片选择 剑器使用了兼容a r m 的t h u m b 指令集的t h u m b 2 指令集来减少存储容量的需求,并 以此达到降低成本的目的。最后,l m 3 s 8 9 6 2 微控制器与s t e l l a r i s 系列的所有成员是代 码兼容的,这为用户提供了灵活性,能够适应各穗精确的需求。 基于以上特性,l m 3 s 8 9 6 2 应用于远程监控,电子销售点机器( p o s ) ,测试核测 量仪器,鼹络应用和交换机,工厂童动化,h v a c 和楼字鲁动化,游戏设备,运动控制,医疗 器械,火警和安防用具,功耗和能源,运输业等行业。 2 5本章小结 本章首先简要介绍了系统的设计任务以及要完成通信的要求,然后介绍了a r m 处理器使用和发展现状,详细阐述了处理器芯片选型的理由,给出了芯片优势。对 予硬件结构详细说明了硬件设计的特点、硬件结构和功能以及硬件设计中要注意的 阀题。详缨介缨了l m 3 s 8 9 6 2 处理器体系结构、寄存器的组织,a r m c o r t e x 蠹核特 性,以及l m 3 s 8 9 6 2 的应用领域。 河北科技大学硕七学位论文 第3 章嵌入式操作系统 3 1 嵌入式操作系统的选择 嵌入式系统通常被定义为:以应用为中心,软硬件可裁减,适应应用系统对功能、 可靠性、成本、体积、功耗等综合性严格要求的专用计算枫系统,它一般由嵌入式 微处理器、外围硬件设备、嵌入式操作系统及应用软件系统四个部分组成用于实现 对其它设备的控制、监视和管理等功能。 嵌入式系统一般指非p c 系统,它包括硬件和软件两部分。硬件包括处理器、存储 器、外设器件、i o 端口和图形控制器等,软件系统包括操作系统和应用程序编程。 嵌入式操作系统作为嵌入式系统的核心,其应用越来越广泛,在手持设备和信患 家电领域的应用更加突出。嵌入式系统包括系统内核、硬件相关的底层驱动程序、 设备驱动接霸、透信协议、图形界面和标准化测览器等。从2 0 世纪八十年代开始, 国外就开始了商用嵌入式操作系统和专业操作的开发,目前较成熟的商用嵌入式操 作系统主要有v x w o r k s 、p s o s 、w i n d o w s c e 、e c o s 、p a l m o s 及q n x 等。 3 。1 王两种开放的源代码 嵌入式实时操作系统有很多,如v x w o r k s 、p a l m o s 、w i n d o w s c e 等。这些操 作系统均属于商品化产品,价格昂贵且由于源泉代码不公开导致了诸如对设备的支 持、应餍软件的移植等一系列的闻题;面开放源码的r t o s 在成本和技术上有其特 有的优势,在r t o s 领域占有越来越重要的地位,本小节将介绍1 t c o s 1 7 和e c o s 两种优秀的源码公开的实时操作系统,通过对它们各盘自特点和性能进行分析和比 较,给挺相关的数据,为选择一种合适的r t o s 提供参考p 2 。 下面主要介绍一下p c o s 兀与e c o s 的比较,对于以上两种源泉码公开的实时 操作系统,我们主要从以下几个方面进行比较。通过比较,能够选择适合鸯已系统的 r t o s 提供参考。 1 ) 内核调度机制 r t o s 内核的核心是调度器。当系统包含多个任务或多个线程时,必须傻黑调度 器来决定当前执行哪一个任务或线程。调度器对线程的运行进行控制,并为线程提供 一种同步视制。表3 1 列出了这两种r t o s 调度器( 调度机制) 的比较。 g c o s 只支持固定优先级抢占式,不支持时间片轮转调度,调度方法简单、实时 性好,用法也简单;e c o s 调度方法率富,适应性好。当然,目前的e c o s 只允许在其目 标系统中使用一个单独的调度器,来来的版本将可以允许多个调度器协同王作。 1 4 第3 童嵌入式操作系统 表3 - i 调度器比较 t a b 3 - 1s c h e d u l e rc o m p a r i s o n 调度方法润优先缀调度 优先级数个往务数量个 固定 6 4 u c o s - n优先级冤 5 6 ( 8 个保留) 捻蠢式 位图 优先级秃3 2 3 2 艳者式 e c o s 多级队列优先级无 3 2无限 抢占忒 奖券奖券法蓦蔻崧溅试孛 2 ) 任务间同步、通信机制 r t o s 的功能一般要通过若干任务和中断服务程序共同完成,任务与任务之间、 任务与中断服务程序之闻必须协调动作,互相配合,这就牵涉到任务间的固步与通信 问题。表3 - 2 为这两种操作系统同步与通信机制的比较。 表3 - 2 同步与通信机制的比较 t a b 。3 - 2s y n c h r o n i z a t i o na n dc o m m u n i c a t i o nm e c h a n i s mc o m p a r i s o n u c 姻s 联 e c o s 甄斥、条件变量、计数型信母量、邮箱和事件 同步与通信机制信号置、邮箱、消息队列 糕恚 3 ) 任务切换时间和中断延迟时间 任务切换时间和中断延迟时间是评估r t o s 性能的两个重要指标。任务切换时 闻可以反映出r t o s 执行任务的速度,而中断延迟时间可以反映出r t o s 对外界变的 反应速度。表3 3 为这两种操作系统任务切换时间和中断延迟时间的比较。 表3 - 3 任务切换时间和中断延迟时间的比较 t a b ,3 - 3t a s ks w i t c ht i m ea n di n t e r r u p tl a t e n c y c o m p a r i s o n 任务切换对阅u s孛辑延迟时阚,螨钡l 试环境 c o s n 2 9 7 3 4 27 8 8i n t e l 8 0l8 6 ( 3 3 m h z l e c o s1 5 8 41 9 。2 m p c 8 6 0 a 3 ( 3 3 m h z ) 4 ) 对硬件的支持 1 5 河北科技大学硕士学位论文 c o s i i 和e c o s 支持当前流行的大部分嵌入式c p u ,都具有缀好豹可移植特 性。 g c o s 。r 1 支持从8 位到3 2 位的c p u ;而e c o s 可以在1 6 位、3 2 位和6 4 位等 不两体系结构之闻移植。 t c o s - i i 帮e c o s 枣予本身洳核就很小,经过裁剪震的代 码最小可以分别为小于2 k b 和1 0 k b ,所需的最小数据r a m 空间可以为4 k b 和 1 0 k b ,霞芄它稍对硬件的要求很低,具有极高瓣经济性。 透过比较可以看到: t c o s - 1 7 攘对e c o s 来说,源代码最小很多,特别适合学 习和研究。它最大的特点是小巧,适合应用在一些r a m 和r o m 有限的小型嵌入 式系统串,絮单片枕系统。所以对于本文来说选择g c o s - n 嵌入式操作系统。 3 。2 t c o s 概述 g c o s 1 7 是由l a b r o s s e 先生编写的一个开放式的内核,它最主要的特点就是源 码公开麓叁寅软静。这一点对于黑户来说可谣剥弊各半;好处在子,一方嚣它是免 费的;另一方面用户可以根据自醴的需要对它避行修改。坏处在子,它缺乏必要的 支持。它没有功能强大的软件苞,用户通常得齑己编写驱动程序,特别当用户使用 的是不太常用的单片机,还必须爨已编写移植程序。 3 2 1 p c o s - i i 特点 1 ) t c o s h 是一个占先式的内核,即已;经准备就绪的高优先级任务可以剥夺正 在运行的低优先级任务懿c p u 使焉毅。这个特点使褥它的实时缝比毒 占先式的内 核要好。 2 ) 心黪s 曩和我稍掰知道靛l i n u x 等分时操作系统不弱,不支持时闯片轮转 法。它是一个基于优先级的实时操作系统。每一个任务的优先级必须不周( 分析它 的源码会发现,p c o s i i 把任务的优先缀当作证务的标识来使用,如果优先级相间, 任务将无法区分) 。 3 ) g c o s 。1 1 对共享资源提供了保护机制。“c o s 。1 i 是一个支持多任务的操作系 统。对于共享资源( 毙翔串霾) ,p c o s r i 逛提供了很好的解决办法,一般情况下使 用的是信号量方法。 3 2 2 v c o s i i 工作原理 g c o s r i 的核心工作原理是:近似地让最高优先级的就绪任务处于运行状态。 首先初始纯m c u ,爵避行操作系统初始他,主蔓完成任务控豢l 块聪b 耪始化,托b 优先级袭初始化,t c b 链袭初始化,事件控制块( e c b ) 链表初始化,空任务的创建 等。然后,开始截建耨壬务,并可在新创建静饪务孛爵截建其链新任务。最君,调 用o s s t a r t ( ) 醋数启动多任务调度。在多任务调度开始膳,启动时钟节拍源开始计时, 就节拍源给系统提供周期性的时钟中断信号,实现延时和超时确认。 1 6 第3 窜嵌入式操作系统 3 2 3 i u c o s i i 任务 i t c o s i - i 操作系统的主要工作就是对任务进行管理和调度。在 t c o s r i 中,一 个程亭实体就是一个任务( 实质上是一个线程) 。i _ c o s n 就是一个能对这些小任 务的运行进行管理和调度的多任务操作系统。 i t c o s i i 的任务有两种:用户任务和系统任务。由应用程序设计者编写的任务, 羹 徽用户任务;由系统提供的任务瑟堪作系统彳壬务。用户任务是为解决应用闽题面编 写的;系统任务是为应用程序提供某种服务的。 1 ) 任务的状态 因为在嵌入式系统中只有一个c p u ,所以在一个具体时刻只能允许一个任务占 用c p u 。根据任务是否占用c p u ,以及是否处于被中断、等待等情况,任务在 ,t c o s h 中可能处予表3 。4 所列的5 耪状态之。 表3 - 4 任务的5 种状态 委出。3 - 4t a s ko f t , h ef i v ek i n d so f s t a t e 任务的状态状态说明 睡l 嚣状态经务只是叛找玛麴澎式驻瞽在程亭窆瓣( 嚣筏绞r a m ) ,还没有交给操手# 系统警毽时豹请撬唾徽 睡眠状态。简单地说,任务在没有被配备任务控制块或被剥夺了任务控制块时的状态叫做任务 的睡眠状态 裁鳍状态蠲集券竣为 壬秀筑瓣f 任势绳桶软菇程任务飘绥爱宰落订i 嚣臻登记,潮任务飘疑备f 匿付鞠 充分条件,这时任务的状态叫做就绪状态 运行状态处于就绪状态的任务如果经调度器判蹶获锝了c p u 的使用权,则任务就进入运行状态 镊何爵刻其能有一个任务笼于运行状态,就绪的饪务只有当所窝优先级高于本任务的任务都转 为等待状态时,才能进入等待状态 等待状态斑程运 了熟任务,霹萤等豫一教殴| g l 蕊嚣璺簪褥一个零传发生秀垤程贬,该任务获会跫e 列嚣 使用衩让鲶其他任务丽往任务迸入等待状态 中断服务状态一个正在运行的任纷一旦响_ 】血中断申请就会中止运 亍而击执行中断服务程序,这时任务的状态 嬲擞孛叛激务状态 2 ) p c o s r i 操作系统的任务调度 操作系统在下面的情况下进行任务调度:中断( 系统占用的时间片中断 o s t i m e t i c k o 、用户使用的中甑) 和调用a p i 壅数( 用户主动调用) 。一种是当时钟中 断来临时,系统把当前正在执行的任务挂起,保护现场,进行中断处理,判断有无 饪务延时到期;若没有别的任务进入就绪态,剡恢复现场继续执行原任务。另一种 调度方式是任务级的调度,即调用a p i 函数( 由用户主动调用) ,通过发软中断命令或 依靠处理器在任务执行中调度。当没有任何任务进入就绪态时,就去执行空任务。 3 3 基于l m 3 s 8 9 6 2 微处理器p c o s 移植 实融操作系统c o s h 的移植是进行后续工作懿基础。所谓移植,就是使一个实 时内核能在某个微处理器或微控制器上运行。为了方便移植,大部分 c o s n 代码是 用c 语言写的,僵仍需要焉c 相汇编语言写一些处理器相关的代码,这是因为 t c o s - h 1 7 河北科技大学硕十学位论文 在读写处理器寄存器时只能通过汇编语畜来实现。本次设计中的微处理器芯冀 l m 3 s 8 9 6 2 要符合移植条件,才可以进一步的在p c o s ,i i 操作系统里编写程序。移植 分为在鲢至l c 上和i a r 编译器上斡移檀,设计傻灞熬编译器是i a r ,辑以,详缀介绍 在i a r 上的移植过程。 3 4 1 移植条件 处蘧器应满足戮下条件才能秽擅g c o s ,曩。 1 ) 处理器的c 编译器能够产生重入代码; 2 ) 焉c 语言就可以实现中断韵打开和关潮; 3 ) 处理器能够支持中断并可以产生定时孛颧; 4 ) 处理器必须能够容纳几千字节的硬件堆栈: 5 ) 处理器必须具有将堆棱指针意其匏e 黝毒存器读取鞠存锗到堆栈黔指令。 l m 3 s 8 9 6 2 完全能满足以上条件; 3 4 2 移植过程 本移植在如下环境串完成:编译工具采雳i a rf o ra r m ,霜标板采用 e a s y a r m 8 9 6 2 开发板。主机通过l m l i n kj t a g 连接星标板以建立交叉开发调试 环境。移植过后的模版如图3 2 。 l 移植过程孛,p c o s - h 的核心源代羁不雳掺改,可以壹接放在i 童c o s - h s o u r c e 文件夹中。 2 ) p c o s r i o r t s 蓦录存放p c o s - n 基予l m 3 s 单片视的移檀代码,包括 o sc p uc 。c 、o sc p ua 。a s m 、o sc p u 珏三个必要的文僻。 3 ) t a r g e t 目录中的s t 郴。s 文件是单片机的启动代码和中断向量表,t a r g e t c 和 t a r g e t ,h 提供单片税襁始亿蕊数t a r g e ti n i t o g i 其缝篱单昀辨设控制a 零王垂数,包括l e d 控制、蜂鸣器控制、按键检测和定时器o 中断服务等,方便用户调试程序。层次结构 如盈2 5 所示。 4 ) 将g c o s 1 i 移植到a r m 处理器l m 3 s 8 9 6 2 上需要修改3 个与a r m 体系结 构相关的文件: o s c p u h 、o sc p ua a s m 、o s c p u c c 。下面分别介绍这3 个文牛翁移植工作。 a ) 配置o sc p u h 文件,包含p c o s 1 1 所需要的常量、宏和自定义类型等。 第一步:o sc p u h 定义韵数据类型。在这次移植中g c o s * i i 重新定义了数 据类型,如下赝示: t y p e d e f u n s i g n e dc ha r :b o o l e 劁n ; t y p e d e f u n s i g n e dc h a r i n t 8 u ; t y p e d e f s i g n e dc h a r i n t 8 s ; 1 8 第3 壹嵌入式操作系统 t y p e d e f u n s i g n e ds h o r t l n t i6 u ; t y p e d e f s i g n e d s h o r t l n t l6 s ; t y p e d e f u n s i g n e di n t i n t 3 2 u ; t y p e d e f s i g n e d i n t l n t 3 2 s ; t y p e d e f f i o a t f p 3 2 ; t y p e d e f d o u b l e f p 6 4 ; t y p e d e f l m s i g n e di m o s _ s t k , t y p e d e f u n s i g n e di n t o s 。c p us r ; 审闺 件层 图3 2a r mc o r t e x 移植模版层次结构1 f i 9 3 - 2a r mc o r t e xt r a n s p l a n t a t i o nt e m p l a t eh i e r a r c h y 第二步:修改与a r m 处理器相关的内窑。不露处理器的堆栈增长方向是不一 样的,a r mc o r t e x m 3 的堆栈是从高地址往低地址增长的,o s _ s t kg r o w t h 设 为i ,程序如下: 1 9 河北科技大学硕士攀位论文 # d e f i n e o s s t k _ g r o w t hl b ) 配置o sc p uc c 文件 在o s _ c p uc 。c 定义的c 邈数孛,o s t a s k s t k n i t o 丞数与c p u 樘关,新默移 植代码需要修改该函数。其程序如下( 初始化任务时调用此丽数初始化任务使用的 堆栈) : o s s t k 唪o s t a s k s t k i n i t ( v o i d ( 臻t a s k ) ( v o i d 串pa r g ) ,v o i d 串p _ a r g , o s s t k 枣p r o s ,斟t l6 uo p t ) o s s t k 宰s t k ; ( v o i d ) o p t ;防止编译警告 s t k = p t o s ;装载栈顶指舒,鼷堆栈数缱爨鹾翡缝蛙模拟孛鸶发生麴堆棱情况 堆( s t k ) = ( i n t 3 2 u ) 0 x 0 10 0 0 0 0 0 l ;x p s r 搴( s t k ) 气栽誓3 2 u ) t a s k ;p c ,任务入疆 拳( s t k ) = ( i n t 3 2 u ) 0 x f f f f f f f e l ;r 1 4 ( l r ) 掌( s t k ) = ( r n t 3 2 u ) 0 x 1 2 1 2 1 2 1 2 l ;r 1 2 辜( 娥) = ( i n t 3 2 u ) 0 x 0 3 0 3 0 3 0 3 l ;躺 雄( s 墩) = ( i n t 3 2 u ) 0 x 0 2 0 2 0 2 0 2 l ;服屹 零( s t k ) = ( i n t 3 2 u ) 0 x 0 1 0 1 0 1 0 1 l ;r l 誊( s t k ) = ( i n t 3 2 u ) pa r g ;r 0 ,输入参数pa r g 模搬任务进程,保存其他寄存器 到堆栈 攀( s t k ) = ( i n t 3 2 u ) 0 x li l t l l l l l ;r l l 拳( s t k ) = ( i n t 3 2 u ) 0 x 1 0 1 0 1 0 1 0 l ;r 1 0 枣( s 哟= ( i n t 3 2 u ) o x 0 9 0 9 0 9 0 9 l ;棵9 拳( s t k ) = ( i n t 3 2 u ) 0 x 0 8 0 8 0 8 0 8 l ;r 8 掌( s t k ) = ( i n t 32 u ) 0 x 0 7 0 7 0 7 0 7 l ;r 7 事( s 秭= ( i n t 3 2 u ) t o x 0 6 0 6 0 6 0 6 l ;麓蝤 ( s t k ) = ( i n t 3 2 u ) 0 x 0 5 0 5 0 5 0 5 l ;| 聿( s t k ) = ( i n t 3 2 u ) 0 x 0 4 0 4 0 4 0 4 l ;| 滁矗 r e t u r n ( s t k ) ; 站配置sc p ua 。a s m 文件 g c o s r i 的移植需要编写5 个简单的汇编语言函数。 o se n t e rc g i 及c a l ( ) :关闭中断源。 o se x i tc r i t i c a l ( ) :重开中断源。 o s s t a r t h i g h r d y ( ) :运行当前优先级最高的任务。 第3 章嵌入式操作系统 o s c t x s w ( ) :一个经务放彝c p u 使角权时调用。 o s i n t c t x s w o :在退出中断服务函数o s i n t e x i t ( ) 串被调用,实现中断级任务切 换。 因为l m 3 s 单片机目前只支持8 位中断优先级中的高3 位,所以这里把l 左移 5 佼霹是0 0 1 0 0 0 0 0 b ,其宏定义隽o sc r j t i c a l _ r n tp m o e q u ( 董 o s t c b s t k p t r ; 从新钰务堆棱中恢复爻毒慕l l ; 恢复中蟥; 箨常返回; 完藏上述工作蜃,只要孬根据蘩标援麴实琢情况缡霉t a r g e t 罄录审魏3 个文律, 肛c o s r i 就可以运行在l m 3 s 8 9 6 2 单片机上了。 c o s - n 作为_ 个优秀的实时操作系统,蠢经被移植到各种镩系结鞫麴徽楚理 器上。以上移搪只是做了一些基础性工作,在此基础上还可进行进一步的歼发,充 分利用l m 3 s 系列单片机的性能和l - t c o s r i 的特点,在检测与维修领域发挥一定作 焉。 3 。5 p c o s 在本文中的应用 移植 t c o s 1 7 是为了在自己的系统中使用k t c o s i l ,要在自己的系统中编写应 用程穿就必须遵循c o s - n 的编程规范。 当隧标系统完成了向量表、基本的y o 初始化后,就进入了p c o s - 1 7 的m a i n ( ) 蕊数。 善先,巍每个饪务分配适当麴堆栈空阕,鑫子每个经务的堆栈相互独立,所以 每个任务都要分配。在使用i j t c o s r i 提供的任何功能之前,必须调用函数o s i i l i t ( ) , 完成c o s - n 熬初始化著建立空瀚任务。在开始多任务之翦,必须建立至少个爰 2 l 河北科技大学硕士学位论文 户任务,这其中不包摄 t c o s r i 的空爨任务,邋过谖鼷o t s a s k c r e a t e o 来刽建。懿 果是多任务的话,可以在第一个任务中创建其它任务,同时分配优先级。 英次程窿调震基数o s s a r t o 将控裂彀交绘 t c o s - r i 态核,m a i n ( 函数裁藏缮寒。 冀大致流程如下: o s _ s t k t a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年花卉博览会园艺肥料团购定制与展会零售合作框架协议
- 2025年土地市场交易土地资产评估经纪服务合同范本
- 2025年度环保设备安装维护劳务外包服务合同
- 2025年离婚后财产分割与子女抚养协议重订法律援助咨询合同
- 服装销售行业知识培训课件
- 高效便捷共享单车停车场管理合作协议书
- 2025年不锈钢消防设施设计与安装施工总承包合同
- 2025年珠宝店高级销售顾问劳动合同续签与岗位职能调整协议
- 2025年子女抚养与豪华轿车使用权利离婚财产分割协议函
- 2025年度移动应用第三方支付系统集成与数据安全保护协议
- 初中一年级思维逻辑训练数学题300道附答案
- 医疗机构医疗废物暂存间消毒记录表
- JT-T-617.6-2018危险货物道路运输规则第6部分:装卸条件及作业要求
- DL-T5372-2017水电水利工程金属结构与机电设备安装安全技术规程
- 新时代高职英语(基础模块)Unit1 -2
- GB/T 44117-2024电化学储能电站模型参数测试规程
- 糖尿病患者延续性护理的研究进展
- FZT 95032-2021 长环蒸化机行业标准
- 2023年临沧市市级单位遴选(选调)工作人员考试真题
- (正式版)JTT 1172.2-2023 系列2集装箱 技术要求和试验方法 第2部分:保温集装箱
- JT-T 1495-2024 公路水运危险性较大工程专项施工方案编制审查规程
评论
0/150
提交评论