ABSTRACT
The employment of a real-time operating system (RTOS) in an embedded control systems is often an all-or-nothing decision: While the RTOS-abstractions provide for easier software composition and development, the price in terms of event latencies and memory costs are high. Especially in HW/SW codesign settings, system developers try to avoid the employment of a full-blown RTOS as far as possible. In OSEK-V, we mitigate this trade-off by a very aggressive tailoring of the concrete RTOS instance into the hardware. Instead of implementing generic OS components as custom hardware devices, we capture the actually possible application-kernel interactions as a finite-state machine and integrate the tailored RTOS semantics directly into the processor pipeline. In our experimental results with an OSEK-based implementation of a quadrotor flight controller into the Rocket/RISC-V softcore, we thereby can significantly reduce event latencies, interrupt lock times, and memory footprint at moderate costs in terms of FPGA resources.
- AEEC. Avionics Application Software Standard Interface (ARINC Specification 653-1). ARINC Inc, 2003.Google Scholar
- AUTOSAR. Specification of Operating System (Version 5.1.0). Tech. rep. Automotive Open System Architecture GbR, 2013.Google Scholar
- Jason Agron, Wesley Peck, Erik Anderson, David Andrews, Ed Komp, Ron Sass, Fabrice Baijot, and Jim Stevens. “Run-Time Services for Hybrid CPU/FPGA Systems on Chip”. In: RTSS ’06. 2006, pp. 3–12. Google ScholarDigital Library
- H. Almatary, N.C. Audsley, and A. Burns. “Reducing the Implementation Overheads of IPCP and DFP”. In: RTSS ’15. 2015. Google ScholarDigital Library
- Manfred Broy. “Challenges in Automotive Software Engineering”. In: ICSE ’06. 2006, pp. 33–42. Google ScholarDigital Library
- Wayne P. Burleson, Jason Ko, Douglas Niehaus, Krithi Ramamritham, John A. Stankovic, Gary Wallace, and Charles C. Weems. “The Spring Scheduling Coprocessor: A Scheduling Accelerator”. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems 7.1 (1999), pp. 38–47. Google ScholarDigital Library
- S. Devadas, Hi-Keung Ma, A.R. Newton, and A. Sangiovanni-Vincentelli. “MUSTANG: state assignment of finite state machines targeting multilevel logic implementations”. In: Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on 7.12 (1988), pp. 1290–1300. Google ScholarDigital Library
- Christian Dietrich, Martin Hoffmann, and Daniel Lohmann. “Back to the Roots: Implementing the RTOS as a Specialized State Machine”. In: OSPERT ’15. 2015, pp. 7–12.Google Scholar
- Christian Dietrich, Martin Hoffmann, and Daniel Lohmann. “Cross-Kernel Control-Flow-Graph Analysis for Event-Driven Real-Time Systems”. In: LCTES ’15. 2015. Google ScholarDigital Library
- Guidelines for the Use of the C Language in Critical Systems (MISRA-C). 2004.Google Scholar
- Wanja Hofer, Daniel Lohmann, Fabian Scheler, and Wolfgang Schröder-Preikschat. “Sloth: Threads as Interrupts”. In: RTSS ’09. (Dec. 1–4, 2009). 2009, pp. 204–213. Google ScholarDigital Library
- John Hopcroft. An n log n algorithm for minimizing states in a finite automaton. Tech. rep. Computer Science Department, University of California, 1971. Google ScholarDigital Library
- ISO 26262-4. ISO 26262-4:2011: Road vehicles – Functional safety – Part 4: Product development at the system level. 2011.Google Scholar
- Tae-Hyung Kim and Seongsoo Hong. “State Machine Based Operating System Architecture for Wireless Sensor Networks”. In: Parallel and Distributed Computing: Applications and Technologies. Vol. 3320. LNCS. 2005, pp. 803–806. Google ScholarDigital Library
- Paul Kohout, Brinda Ganesh, and Bruce Jacob. “Hardware Support for Real-Time Operating Systems”. In: CODES+ISSS ’03. 2003, pp. 45–51. Google ScholarDigital Library
- Nupur Kothari, Todd Millstein, and Ramesh Govindan. “Deriving State Machines from TinyOS Programs Using Symbolic Execution”. In: IPSN ’08. 2008, pp. 271–282. Google ScholarDigital Library
- Yunsup Lee, A. Waterman, R. Avizienis, H. Cook, Chen Sun, V. Stojanovic, and K. Asanovic. “A 45nm 1.3GHz 16.7 double-precision GFLOPS/W RISC-V processor with vector accelerators”. In: European Solid State Circuits Conference (ESSCIRC), ESSCIRC 2014 - 40th. 2014, pp. 199–202.Google ScholarCross Ref
- Enno Lübbers and Marco Platzner. “ReconOS: Multithreaded Programming for Reconfigurable Computers”. In: ACM Trans. Embed. Comp. Syst. 9.1 (2009), 8:1–8:33. Google ScholarDigital Library
- Henry Massalin and Calton Pu. “Threads and Input/Output in the Synthesis Kernel”. In: SOSP ’89. 1989, pp. 191–201. Google ScholarDigital Library
- Dylan McNamee et al. “Specialization Tools and Techniques for Systematic Optimization of System Software”. In: ACM Trans. Comp. Syst. 19.2 (2001), pp. 217–251. Google ScholarDigital Library
- Vincent J. Mooney and Douglas M. Blough. “A Hardware-Software Real-Time Operating System Framework for SoCs”. In: IEEE Journal on Design and Test of Computers 19.6 (2002), pp. 44–51. Google ScholarDigital Library
- Edward F. Moore. “Gedanken-experiments on sequential machines”. In: Automata studies. Annals of mathematics studies, no. 34. 1956, pp. 129–153.Google Scholar
- OSEK/VDX Group. Operating System Specification 2.2.3. Tech. rep. http://portal.osekvdx.org/files/pdf/specs/ os223.pdf, visited 2014-09-29. OSEK/VDX Group, 2005.Google Scholar
- Arnaldo SR Oliveira, Luís Almeida, and António B Ferrari. “The ARPA-MT embedded SMT processor and its RTOS hardware accelerator”. In: Industrial Electronics 58.3 (2011), pp. 890–904.Google ScholarCross Ref
- David Patterson and Borivoje Nikoli´c. Agile Design for Hardware. EE|Times blog post. 2015.Google Scholar
- Calton Pu, Henry Massalin, and John Ioannidis. “The Synthesis Kernel”. In: Computing Systems 1.1 (1988), pp. 11– 32.Google Scholar
- Martin Schoeberl et al. “T-CREST: Time-predictable multicore architecture for embedded systems”. In: Journal of Systems Architecture 61.9 (2015), pp. 449 –471. Google ScholarDigital Library
- Hiroaki Takada and Ken Sakamura. “µITRON for Small-Scale Embedded Systems”. In: IEEE Micro 15.6 (1995), pp. 46–54. Google ScholarDigital Library
- Andrew S. Tanenbaum. Structured Computer Organization. Fifth. 2006. Google ScholarDigital Library
- David Tennenhouse. “Proactive Computing”. In: CACM (2000), pp. 43–45. Google ScholarDigital Library
- Peter Ulbrich, Rüdiger Kapitza, Christian Harkort, Reiner Schmid, and Wolfgang Schröder-Preikschat. “I4Copter: An Adaptable and Modular Quadrotor Platform”. In: SAC ’11. 2011, pp. 380–396. Google ScholarDigital Library
- D. Varma and E.A. Trachtenberg. “A fast algorithm for the optimal state assignment of large finite state machines”. In: ICCAD ’88. 1988, pp. 152–155.Google Scholar
- T. Villa and A. Sangiovanni-Vincentelli. “NOVA: State Assignment of Finite State Machines for Optimal Two-level Logic Implementations”. In: 26th ACM/IEEE Design Automation Conference. DAC ’89. 1989, pp. 327–332. Google ScholarDigital Library
- Andrew Waterman, Yunsup Lee, David A. Patterson, and Krste Asanovi´c. The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Version 2.0. Tech. rep. UCB/EECS-2014- 54. EECS Department, University of California, Berkeley, 2014.Google Scholar
Index Terms
- OSEK-V: application-specific RTOS instantiation in hardware
Recommendations
OSEK-V: application-specific RTOS instantiation in hardware
LCTES '17The employment of a real-time operating system (RTOS) in an embedded control systems is often an all-or-nothing decision: While the RTOS-abstractions provide for easier software composition and development, the price in terms of event latencies and ...
RTOS-Centric Hardware/Software Cosimulator for Embedded System Design
CODES+ISSS '04: Proceedings of the international conference on Hardware/Software Codesign and System Synthesis: 2004This paper presents an RTOS-centric hardware/software cosimulator which we have developed for embedded system design. One of the most remarkable features in our cosimulator is that it has a complete simulation model of an RTOS which is widely used in ...
RTOS-centric hardware/software cosimulator for embedded system design
CODES+ISSS '04: Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesisThis paper presents an RTOS-centric hardware/software cosimulator which we have developed for embedded system design. One of the most remarkable features in our cosimulator is that it has a complete simulation model of an RTOS which is widely used in ...
Comments