Skip to content

An embedded systems programming language based on the dataflow paradigm.

License

Notifications You must be signed in to change notification settings

hevs-isi/especial-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An embedded systems programming language (ESPeciaL)

ESPeciaL proposes a novel approach aimed at simplifying the programming of embedded systems based on the dataflow paradigm.

This programming framework removes the need of low-level programming in C/C++, as the application is written by connecting blocks that produce and consume data. Thus, an embedded application can be described in terms of ready-to-use blocks that correspond to various micro-controller peripherals and program function (multiplexers, logic gates, etc.). The user application itself is written as an embedded Scala DSL (Domain-Specific Language).

From that code, the ESPeciaL compiler then generates the corresponding C++ code which can be tailored - using different back-ends - to match different embedded systems (such as Arm Cortex M boards) or a QEMU-based simulation environment.

Demonstration applications

To demonstrate the validity of the approach, typical embedded systems applications have been implemented using ESPeciaL. A few demonstration applications are available in the apps package.

Documentation

Back-end

The ESPeciaL C++ back-end, the Hardware Abstraction Layer and the modified version of the QEMU emulator are available in this repository.

Dependencies

See the third_party folder for details.

License

ESPeciaL is licensed under the MIT License.

About

An embedded systems programming language based on the dataflow paradigm.

Resources

License

Stars

Watchers

Forks

Packages

No packages published