Programming microcontrollers through high-level abstractions: The OMicroB project
In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic...
Saved in:
Published in | Journal of computer languages (Online) Vol. 77; p. 101228 |
---|---|
Main Authors | , , , |
Format | Journal Article |
Language | English |
Published |
Elsevier
01.11.2023
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples. |
---|---|
ISSN: | 2590-1184 |
DOI: | 10.1016/j.cola.2023.101228 |