Early System Level Modeling of Real-time Applications on Embedded Platforms

Richard Lee1,  Karim Abdel-Khalek1,  Frederic Risacher2,  Samar Abdi1
1Concordia University, 2Research In Motion


Abstract

This paper describes a methodology for developing abstract and executable system-level model in SystemC of realtime embedded software, targeted to an RTOS. We design a RTOS emulation layer (called RESC) on top of the SystemC kernel. The application software is linked against the emulation layer to create an executable model of the software. The model can be integrated into system level HW-SW models which can be used for fast, accurate and early system validation. We first identify key real-time software constructs such as task-level concurrency, priorities, timers, pulses, and message-passing communication. We, then, define equivalent abstractions of the constructs in RESC on top of the SystemC library. We validated our models using industrial-size examples such as MP3 decoder and Vocoder. The experimental results show that our models are very accurate (< 1% error) and significantly faster (up to 11X) than real-time software execution on target platform.