Abstract

This paper proposes a new application of formal methods in the domain of low-level software (firmware) development of Embedded Systems. The development of low-level device drivers is difficult because of the complex interaction between the device hardware, the driver core routines and the application programmer's interface (API). Also the development of firmware components using such drivers is difficult because the driver specification may be ambiguous or erroneous or it may be misinterpreted by the developer. In this paper, we propose an abstract FSM model (“AFSM”) to support systematic top-down development of low-level device drivers. The model serves as a formal specification that can be soundly refined into an implementation. The AFSM can also be generated semi-automatically in a bottom-up approach from the binary (machine code) of the driver. This allows for generating a formal documentation of a driver software that may be available as third-party IP for which no source code is available. The generated AFSM can serve as a technical reference during integration of such “black-box” driver IP and when developing firmware components that call the functions of the API. We present three case studies with industrial HW device and SW driver IPs demonstrating the potential of the proposed approach.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call