Real-Time For the Masses (RTFM) is a set of languages andtools being developed to facilitate embedded software developmentand provide highly ecient implementations gearedto static verication. The RTFM-kernel is an architecturedesigned to provide highly ecient and predicable Stack ResourcePolicy based scheduling, targeting bare metal (singlecore)platforms.We contribute by introducing a platform independent timerabstraction that relies on existing RTFM-kernel primitives.We develop two alternative implementations for the ARMCortex-M family of MCUs: a generic implementation, usingthe ARM dened SysTick/DWT hardware; and a targetspecic implementation, using the match compare/free runningtimers. While sacricing generality, the latter is moreexible and may reduce overall overhead. Invariants for correctnessare presented, and methods to static and run-timeverication are discussed. Overhead is bound and characterized.In both cases the critical section from release timeto dispatch is less than 2us on a 100MHz MCU. Queue andtimer mechanisms are directly implemented in the RTFMcorelanguage (-core in the following) and can be includedin system-wide scheduling analysis.
Godkänd;2016;20151216 (maalin);Konferensartikel i tidskrift;Bibliografisk uppgift: Special Issue on 5th Embedded Operating Systems Workshop (EWiLi 2015)