ITRON系统简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

转自=5&extra=page%3D1&ordertype=2&page=1目录!k0X'z4{&T&x)L1引言.|1v&Z9{2L'm6e2ITRON系统介绍+V#?2s!i)U5A8l2.1概要2.2构成6y1n#J8D#u-x2.2.1ITRON系统构成6s#r;k2\)d2.2.2ITRON体系结构7q3w5h!s'I7K3\0_3y2.3应用领域2.4如何使用ITRON系统0H%S(t9m&P7{;}3ITRON的基本机能3L&u3X0C3I3.1TASK管理机能1~4l.X!F9l2~'}3.1.1Task3.1.2任务调度3.1.2.1调度产生条件3.1.2.2调度方式3.1.3任务的状态管理3.1.3.1ITRON系统状态定义-K(S/z8x&B5x,~#L:z%e3.1.3.2任务状态迁移与系统调用)G-_/i:}#p5m3.1.4任务的应用3.1.5任务的设计4N(U+{6v6f+f9U,k9m3.1.5.1任务划分的原则.L0j;q-M,v3U$D9L#H3.1.5.2I/O依赖性q4a!A'v%x#O3.1.5.3时间关键性的功能*H5c3P3G7E+x3.1.5.4计算功能5y3s$cT+y(V4mc3.1.5.5时间内聚2m5T1J*s2U+y.u3.1.5.6周期执行功能3.1.5.7任务设计的误区({6H;Jb%g9z$b$S;?3.2同步和通信管理,U/t1s/G)m8|!l3u$m9|3.2.1EventFlag7G(j-e8I&f!f&V3.2.1.1基本调用9i$l4m4J(F(e0v#X-v3w3.2.1.2EventFlag的应用!l1zd3r9m3.2.2Semaphore3.2.2.1基本调用.a!e+|8K2U1k3.2.2.2Semaphore的应用3.2.3MailBox2I5D.v7I7?+P3.2.3.1基本调用$G(a2e+`5`*B,@!S-?3.2.3.2MailBox的应用3.3内存管理3.3.1概述;_+yH6E*_)d6K2v+P3.3.2基本调用3.3.3内存池的创建3.3.4内存池的清除,N#U0W2^8H-g,?%i3.3.5内存申请3.3.6内存释放3.4中断处理3.4.1中断处理的管理(V*t+\v*g7b*X*a3.4.2中断例程的登录+L0y'[*M3M3.4.3中断中的处理3.5时钟管理+e+s2{5T]%w8i7d%B3.5.1周期唤醒3.5.2延迟唤醒3.5.3TimeOut指定-q3[3e*^*x7V7H*x8S9_4初始化处理4.1硬件初始化4.2内核初始化4.3软件初始化5附录#O+N9F:U.{|5.1思考题9{5d!r+S&U2C5.2参考资料:1引言5I+}.Y0l6J对于这样一个处处存在计算机的时代,计算机已经不再是像现在这样有显示器和键盘的样子,而是内只与各种各样的机器设备中,用户不会意识到是在使用计算机,而是在不知不觉中愉快的接受了计算机提供的各种服务。#?,V;x6`1^3k为了实现处处存在计算机的设想,在TRON项目中研制了内置于形式各异的机器设备中的操作系统ITRON。ITRON与现在的大多数计算机中的操作系统的最大不同就是具有实时性。另外ITRON还有一个特点就是其标准的开放性,由于他的开发体系标准,任何人都可以自由的以ITRON为基准,创建操作系统。课程目的:本教材从应用的角度出发,比较详尽的解析ITRON系统的基本原理,并且理论结合实际,由浅入深,逐步引导大家,从而保证每位学员能够独立在基于ITRON系统内核上进行应用软件的设计和开发。)Z1{Q(l%r3w&l2\4r!a2^授课目标:通过本课程的学习,能够让大家对ITRON系统有比较深入的了解,并能够独立开发基于ITRON系统的应用软件。面向对象::E.n1E#_&L$x*RM本教材主要面向有一定操作系统原理基础知识,并立志于基于ITRON体系开发的人。)V1W9Y1j#g9p教材构成:9D&N$u&d-t(S,i1.ITRON系统概要C7y/f#l0t+j/?2.ITRON基本功能g$W5{*LZ&j+Q2o&u7x$h任务管理同步管理3RS,Wr&l.w#}内存管理9D/G3@3c:D4O8\/Y时钟管理:w0D#H$t+l:G:N(S中断管理0?2E(J+r(mo)S*p3.初始化处理&n!d/T(o!y*b&w8p&Q6{4.系统调用详细说明2ITRON系统介绍2.1概要ITRON(IndustrialtheReal-TimeOperationSystemNucleus,工业实时操作系统中心)提出的实时多任务系统规范。它具有标准的实时内核,适用于任何小规模的嵌入式系统,日本国内现有很多基于该内核的产品,其中消费电器较多,目前已成为日本事实上的工业标准。ITRON和日本的精密机械工业相结合,使日本在数据系统、工业机器人、办公机器方面处于世界领先地位。7o1^:fN:I6l)aITRON系统具有以下特点:-]2`+k6e+i1I■多任务支持'Z1@(W/Y2z2d0M;H)~■事件驱动基于优先级的调度;M7S,x%E;X&p$p%Q■任务间的通信与同步5b4K$S'G&V1~/X#s;m#A■实时时钟控制■完全可抢占内核硬实时响应2.2构成(H&l;K,z&D3J/L1D)U'N+Q,}0t6kU.Q-H2.2.1ITRON系统构成ITRON系统主要由内核、接口库、辅助工具这三个基本子系统组成。内核:ITRON的核心部分,和处理程序一起组装到目标系统中,进行实时、多任务控制。主要包括调度程序、Task管理、同步管理、初始化以及各种资源的管理等。9L6x*{!w5f%w;]/os接口库:用外部函数的形式提供系统服务,实现将外部函数形式发行的系统调用转变为内核识别管理的形式的接口程序。图2.2-1表明接口库在系统中的位置。图2.2.1-1接口库的定位辅助工具:包括编译工具、TaskDebuger等,为用户方便式用系统提供了可能。2.2.2ITRON体系结构:?3q!o4C'w$^建立在ITRON基础上的系统根据功能来分层,每一层都使用下一层提供的功能,系统硬件构成了系统的最底层,紧接着一层包括了最简单的大多是硬件相关的操作系统,功能最上层是应用程序。#n%I7l|6E+h0j#g.[R3y0f3y'_1q.p图2.2.2-1ITRON系统体系结构2.3应用领域'o5\:A7ag/\8H3N,GLu9x5n随着信息终端的高性能化,在终端上搭栽操作系统的实例越来越多。根据TRON协会提供的资料,下面将列举出ITRON系统的主要应用领域。■娱乐/教育设备#z8]$tnB;t![-?7gp■通信设备■AV设备■测量仪器/@3t%\+U7|1X■医疗设备、航空设备的数据收集以及数据计算系统等■家用电器在上述应用领域中,ITRON规范的操作系统的使用率比较高,普遍超过40%,除去其中没有使用操作系统的设备,这些领域中的ITON的使用率将超过60%,因此ITON规范的操作系统还是得到了广泛的认可和应用的。2.4如何使用ITRON系统,J4\:r:\%u.?N)^!Z.M+@5Hi-D!O$J!dITRON规范中定义了一系列C语言接口库,应用系统可以利用这些接口库实现应用与操作系统的相连。下面是基于itron系统的软件构建过程:图2.4-1基于Itron系统的软件构建过程3ITRON的基本机能#[5Z$d%C8G4N作为通常的实时操作系统,一般需要包含下面这些基本的管理功能:■中断管理%O9|$x.t:u&v■任务管理1.创建、撤消'?$W5O/i$v,i)^0F2.状态迁移I6F9}0U&O4[;g3.调度4.同步(任务协调、资源的互斥访问、任务之间通信)3T)H(Jq+q#T■资源管理(内存、时间、端口、外设等)ITRON系统也不例外的实现了这些功能,下面将针对这些机能进行详细讲解。3.1Task管理机能1p5{4t)B$C&Q,d1G$v(s3.1.1Task任务就是一个具有独立功能的无限循环的程序段的一次运行活动。任务具有动态性并行性异步独立性的特点。/M|+WN/Y7C8X动态性任务的状态是不断变化的,一般分为:休眠态(dormant),就绪态(ready),运行态(running),挂起态suspended睡眠态sleep等如图3.10^.I%t5O2p!r并行性是指系统中同时存在多个任务,它们宏观上是同时运行的。异步独立性任务是系统中独立运行的基本单元也是内核分配和调度的基本单元每个任务各自按相互独立的不可预知的速度运行走走停停。每个任务都要按排一个决定其重要性的优先级,都有一个无限循环的程序段规定其功能(如一个C语言过程),并相应有一个数据段、堆栈段及一个任务控制块(保存CPU的现场,状态等)。下面是一个ITRON系统任务应用的典型范例:?8h2?2o'l.[*O5avoidXXX_Task(INTstacd){&v2R!V!L+Vk3c8WMSGmsg;+v.I.T$F(Z1N9[ewhile(1)%?.x+]#n%i4y6W{/W)u%`+G,`.xrcv_msg(&msg,MbxID);//从某个Mailbox中获取情报用户程序}}3.1.2任务调度:N5a+G3L1M(t5r3V0p操作系统必须为多个任务可能有竞争的请求分配资源,对于处理器来讲,可分配的资源主要是处理器运行时间,分配的途径是通过内核的调度来完成的。3.1.2.1调度产生条件:Q%H!P/c2N3M1b(j*H+e4U!v%I1~从表面上看,任务切换功能很简单,在某个时刻,一个正在运行的任务被终止,操作系统指定另一个任务为运行状态,并把控制权交给这个任务。但是什么事件触发了任务控制权的切换?ITRON系统中,当有如下几个条件发生时,会发生任务的调度。(F!c!Y9v(J'X&r)N4d■处理程序的返回2k2K:K4x/a■发生改变系统运行状态的系统调用。■产生时钟中断。3.1.2.2调度方式1.优先级方式:对于每个任务都事先分配有优先级,这里的优先级是指决定调度顺序的东西,调度程序首先会参照优先级别,从Ready队列中找到优先级别最高的任务赋予CPU使用权。在实时操作系统中任务的优先级是应用程序设计者按照任务的重要程度来安排的,并且任务在运行中其优先级可以动态改变,这个完全需要根据实际的需求进行设计。6Xa-E(B4nH0e5c$D/z9M){-}图3.1.2.2-1ItronReady队列状态和处理器使用权(Z)a/Q-d:Q(W1~2.FIFS方式当拥有同一优先级的任务存在多个时,调度程序将赋予成为Ready状态时间最长的任务CPU的使用权。3.任务的禁止/许可;k5Up7I)p;k/R:F4.时间片轮旬2l*M!x4J!X5p3@,c$M作为Itron系统并没有提供这种支持,但是可以通过现有系统提供的服务实现这种支持,这个在后面进行说明,详细内容请参考:3.1.3任务的状态管理任务根据运行时所必须的资源获得状况,以及有无事件发生来实现状态的迁移,所以内核必须管理各任务当前所处的状态。3.1.3.1ITRON系统状态定义操作系统的职责是控制任务的执行,这里包括决定任务交替的方式和资源的分配原则,所以为了达成这个目标,就需要描述任务的行为---即任务的状态。在ITRON中,将任务划分为如下七个状态进行管理,在任意时刻,任务状态只能属于这七个状态之一。/P-m:m6h3T:D/]!z9P#b3U未登录状态:non_existent没有作为任务的注册到系统中,或被消除没能登录到系统中的状态。也就是说虽然已经装配到内存中,但不受OS管理的程序。*X*U(h-?'p9T'v.r!\9n#Q%d1Y休眠状态:dormant任务生成时的状态(cre_tsk系统调用时)或者是运行终了时的状态。处于dormant状态的任务,已经从调度对象中删除掉了。就绪

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功