For embedded systems, it is important to capture changes in real world and process properly. The changes are represented by external interrupts, and proper processes are implemented by nested interrupt service routines (hereafter ISRs). Here a necessity of mutual exclusion arises. In a software execution environment without any Real Time OS (hereafter RTOS), a traditional mutual exclusion approach was to disable/enable interrupts in a CPU specific manner. However this method typically degrades the real time performance because it defers execution of mutual-exclusion-free part of the system. Considering this situation, we have been studying a Real-Time Embedded Monitor (REMON) which provides a novel mutual exclusion method that can maintain real-time performance without RTOS. For in-service embedded systems, one major runtime fault is ISR stack overflow. It is extremely difficult to test every conditions where ISRs are called from various external conditions. Note that ISR stack holds not only data but also program instruction addresses, consequently a stack overflow may cause a fatal system error. In summary, ISR stack overflow is a significant issue, but it was not addressed by REMON until now. This paper proposes two safety extension methods for embedded systems using REMON. The first method detects ISR overflow and safely stops the system before triggering a system-down or a misbehavior. The second method reallocates ISR stack and resumes the system execution automatically.
|IEEJ Transactions on Electronics, Information and Systems
|Published - 2013
All Science Journal Classification (ASJC) codes
- Electrical and Electronic Engineering