Authors: Daniel Ziener, Jurgen Teich
Addresses: Department of Computer Science, University of Erlangen-Nuremberg, Am Weichselgarten 3, Erlangen 91058, Germany. ' Department of Computer Science, University of Erlangen-Nuremberg, Am Weichselgarten 3, Erlangen 91058, Germany
Abstract: In this paper, we introduce new concepts and methods for checking the correctness of control flow instructions (CFI) issued during the execution of programs for embedded RISC CPUs. Our proposed methodology is able to detect at run-time any error of illegal or faulty direct jump and branch instruction as well as call and return form subroutine for a given program code. Furthermore, two different hardware concepts and implementations of generic control flow (CF) checker units which may be tightly attached to a given CPU are proposed. These implementations can detect and even avoid the execution of faulty CFI at very low area and usually no latency penalty. Other benefits of this novel approach are that the application code must not be changed or augmented by signatures or additional instructions at all. The presented approach is, thus, completely transparent to the program developer.
Keywords: autonomous elements; CFI method; control flow instruction; control flow method; embedded CPUs; error-resilient control; control flow checking; Leon core; monitoring; embedded systems; RISC; run-time control.
International Journal of Autonomous and Adaptive Communications Systems, 2009 Vol.2 No.3, pp.256 - 275
Published online: 26 Jun 2009 *Full-text access for editors Access for subscribers Purchase this article Comment on this article