Programming Microcontrollers through High-Level Abstractions
This paper is intended at showing how programming embedded systems can increase in safety and compositionality with the use of high-level abstractions. Firstly, we provide an hardware abstraction layer through a virtual machine approach that enables the use of a high-level programming language. We describe our dedicated OCaml virtual machine that enable the development of richer programs for microcontrollers using advanced programming paradigms. Secondly, we introduce an original use of OCaml parameterized modules for describing the electronic circuit connected to the microcontroller, as well as the communication between this device and its environment. Thirdly, the extensibility of OCaml offers a way to easily describe the concurrent aspects of a program by implementing a synchronous dataflow extension to the language. We apply the presented abstractions to both entertainment applications and embedded software examples, showing how they increase expressivity and safety of our programs, while keeping their memory footprint low enough to be runnable on devices with very scarce resources.
Tue 17 NovDisplayed time zone: Central Time (US & Canada) change
11:00 - 12:20
|Understanding Graal IR|
K: Chris Seaton Shopify
|Programming Microcontrollers through High-Level Abstractions|