Dealing with Hardware in Embedded Software: a Retargetable Framework Based on the Devil Language Fabrice Mérillon Gilles Muller

Abstract

Writing code that talks to hardware is a crucial part of any embedded project. Both productivity and quality are needed, but some aws in the traditional development process make these requirements diicult to meet. We have recently introduced a new approach of dealing with hardware, based on the Devil language. Devil allows to write a high-level, formal deenition of the programming interface of a peripheral circuit. A compiler automatically checks the consistency of a Devil speciication, from which it generates the low-level, hardware-operating code. In our original framework, the generated code is dependent of the host architecture (CPU, buses, and bridges). Consequently, any variation in the hardware environment requires a speciic tuning of the compiler. Considering the variability of embedded architectures, this is a serious drawback. In addition, this prevents from mixing diierent buses in the same circuit interface. In this paper, we remove those limitations by improving our framework in two ways. (i) We propose a better isolation between the Devil compiler and the host architecture. (ii) We introduce Trident, a language extension aimed at mapping one or several buses to each peripheral circuit. Gestion du mat eriel dans les logiciels embarqu es : une infrastructure reciblable bas ee sur le langage Devil R esum e : Lors de la conception d'un syst eme embarqu e, ecrire le code qui communique avec le mat eriel est une phase cruciale. La productivit e et la qualit e sont deux n ecessit es, mais le processus de d eveloppement traditionnel pr esente des points faibles qui rendent ces contraintes diiciles a satisfaire. R ecemment, nous avons introduit une nouvelle approche pour la gestion du mat eriel, bas ee sur le langage Devil. Ce langage permet d' ecrire une d eenition formelle et de haut niveau de l'interface de programmation d'un circuit p eriph erique. Un compilateur v eriie automatiquement la coh erence d'une sp eciication Devil, puis l'utilise pour g en erer le code de bas niveau n ecessaire au pilotage du circuit. Dans notre premi ere version d'une infrastructure pour Devil, le code g en er e est d ependant de l'architecture h^ ote (processeur et bus). Par cons equent, toute variation de l'environnement mat eriel oblige a modiier le compilateur. C'est un gros inconv enient, si l'on consid ere la variabilit e des architectures embarqu ees. De plus, cela emp^ eche d'utiliser plusieurs bus dans une m^ eme interface …

Cite this paper

@inproceedings{M2007DealingWH, title={Dealing with Hardware in Embedded Software: a Retargetable Framework Based on the Devil Language Fabrice Mérillon Gilles Muller}, author={Fabrice M and E G Muller}, year={2007} }