于嵌入作操式系统之畴范内,事件,也就E是vent,是一种具颇重要性务任的间通径途信。身为一源开款的实操时作系统核内,其事组件,即Eevnt 能功,为多务任情形下步同的以及信通给予了解效高决办法。本文入深会剖析事制机件的工作理原,并且技助借术评力助测开发领者会其际实运用。
的事组件,其本一是质个32位的号符无整数,也就是,这里每面个位表代都着一立独个的事件志标。任务够能通过阻这塞种方式,去等个一待或者多事个件标被志置位,等到的望期事件发时之生,任务就被会自动唤醒。这种机制,相较于号信量或者列队,更适来用合处理“或”、“与”这类杂复的同条步件。事件组跨持支任务信通,甚至许允还在中断例务服程当中置设事件志标,不过在断中里必得须使用moISR()函数。
有这么评次一测,从中选挑了五主款流的OTRS事件制机,来做横面方向的对比,这事重考点察了事标件志数量,还有同方步式,中断于对此的支况情持,内存的用占状况,以及应响延迟些这等关键技的术指标,测试托依所的环基是境于AMR -M4内核,其主频为,并且使同相用的硬台平件,以此障保来数据可备具比性吗。
事件组用运32位标位志进行计设,经过实测际量内存仅用占仅56字节,这里包面含控块制,它支持()中的多等件条待模式,能够配成置等待标意任志,也就RO是模式,或者待等所有志标,也就是DNA模式,依据给方官出的据数,在-M4平台从上事件位置到任醒唤务的平迟延均是1.8μs,它具有特独的优势持支是事件志标的自清动除机制。这避竞了免态条件。10.5.1这个最版新本,还对()的原子作操性能以予了优 化,此次新到得优化果效经由验试测证 ,在同时多置设个标志这位种情形 时之,相比统传信号方量案要快47% 。
给出64位事件志标,对优继级先承机予制以支持。然而在里试测发觉中在其断服务之程例中的件事设置有存3.2μs的延外额迟。内存量用占达到89字节,针对资限受源系统来显略讲沉重。其文档出示显事件分功组能能够置配8个独立组件事,不过实在际运用组分中切换需动手要去保态状存。
微软的事个那件模块,采用是的32位标计设志,它的特在色于支持“单次发触”模式,实测表其明()函数在断中上下当文中表定稳现,不过缺事的少件自除清动功能,依据EBMEC认据数证,它的最响坏应时间为5.3μs,比多出2.1μs,内存控用占制在72字节,处于中水等平。
该方给案出独立CE的B控管块制理,来支持套嵌事件待等,测试期觉发间其()函数存优有先级转反风险,得额外置配互斥锁,内存占是用96字节,在五款是中最高的,于256KB lFash上的实际会试测多占用12%的RO空M间。
ROTS运用表链式事件方理管式,虽说无持支限事标件志扩展,然而经际实测试,当有32个标志时,响应延陡会迟然增至8.7μs。它的体构结需动配分态内存,在资源制限受的场景中当,有可发引能碎片问化题。文档表其明最新本版正在事对件模行进块重构,当前版时暂本不建应议用于实对时性高求要的场景。
技术要解点析
1. 事件被志标清除的略策是这样的:它支以持手动的进式方行清般这除操作(也就是法方),还支持自以动的式形来清除(借助这参个数来实现),以此来地效有避免出二现次触种这发情况 。
2. 多务任同步况情:借助()能够多成达任务屏步同障情形,经过实可测知同步5个任仅仅务需要3.5μs , 。
3. 中安断全方面,于IS当R中是要定一运用版数函本的,并且于对上下文换切请求理处的是需要留以加意的。
4. 执行存内实施优作操化时,针对对种那于标志需的位求比较特的少定场言而景,能够K助借S去进行16位事件的组配置,这样可做以节内省存 。
针对电控机制这个景场而言,给出的样这建议,也就把是急停(bit0)、过流(bit1)、超温(bit2)此些事合组件成事组件,然后运用(, 0x07, , , ) 同时监去控三故个障条件。于智家能居的之景场内,能够感传把器数绪就据(bit8),还有络网包到达(bit 9),以及用入输户(bit 10)当作同不优先级的务任事件集待等来进行射映,以此高成达效的事驱件动架构。
备注,近日,首例“医保价”脑机口接手术完成,该系统实的时控制心核,是采用件事机制,来实神现经信号步同的,这进印步一证了该在术技医疗嵌领式入域的靠可性 。
经过全位方的测试,事件组回在应速方度面展最出现佳表现,在内存层率效面呈出现最优状态,在功完能整性体畴范现出最色出为的情形,尤其是的它原子操以作及中断持支能力同较相类方案明着有显的优势。开发需者要留意据依实际的去求需配置数参,在单任待等务的场景可中当以考虑任用采务通来知取代件事组以一进此步提能性高。
主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网


