This paper describes a methodology for automatically generating device drivers for embedded systems. We formally specify the device attributes in an input specification called DPS (Device programming sequence). Software architecture considerations are similarly captured in another specification called RTS (Run time specification). Our tool, DDGEN takes both these specifications as input and generates a full-fledged device driver code for the target operating system.
This presentation goes under the hood of DDGEN and explains how DDGEN synthesises device driver code in C from the DPS (Device programming sequence) and RTS(Run time specification). The presentation uses a USB device controller as the motivating example.
This paper describes our experience in debugging of DDGEN generated device driver code. Unlike the usual development methodologies where debugging is typically performed at the same level as the input specification, in DDGEN based methodology, we debug the generated C code and not the DPS or RTS. Our case study consisting of specific examples of debugging as well as the debugging guidelines presented in this paper will ensure that a DDGEN user can efficiently as well as effectively debug generated C code and further map the fix back to DPS or RTS.
This document describes the work done by Vayavya Labs for a private spacecraft company codenamed “Luna” in their Moon Landing mission. A team from Vayavya was responsible for embedded software development on Xilinx Zynq platform which goes into the Lander and Rover.
Good software framework design complimented with equally good hardware support are key factors for an efficient Power Management in devices. The Power Management framework is implemented differently in the various different OSes. This paper presents an overview of Power management implementation in Linux OS.
IPXACT is a specification by the SPIRIT consortium for describing an IP. This document discusses how the scope of IPXACT can be extended to capture the device specification which is currently specified in DPS. It also describes how we have designed our Vendor Extensions to the current IPXACT schema. Vayavya Labs is committed to extending IPXACT beyond its current scope into the domain of software synthesis and wishes to participate in similar projects and initiatives.
This presentation discusses the motivation for automated synthesis of embedded software, describes the device driver generation tool DDGEN in details and also presents some of the challenges and directions for future work. This was presented as the Keynote talk at Workshop on Hardware-Dependent Software Solutions for SOC Design, 2011.
Abstract of DAC 2011 presentation on DDGen in Japanese.