Exploring the concept of Zero Overhead C++ in Microcontrollers.
| app | ||
| bin | ||
| cmake | ||
| examples | ||
| lib | ||
| .clang-format | ||
| .gitignore | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
ZeroOverheadCPP
Exploring the concept of Zero Overhead C++ in Microcontrollers.
Setup
Folder Structure
app: The program files implementing some kind of blink programbin: The resulting binary files. I only commit the.lssfiles, not the.elfnor the.hexnor the.mapfiles.build: See Buildinglib: The zero overhead library
Basic Concept of ZOL
The basic concept is that the compiler produces the same Assembler Code for the C and the C++ program.
Building
Please execute the following commands:
mkdir build
cd build
cmake ..
cmake --build .
You'll find the compiled output files in the bin folder.
Goals
Provide similar functionality to the Arduino Libraries. Have a nice API. Be as fast as C.
ToDos:
Basically, the headings from the Arduino Reference.
- Digital I/O
- Analog I/O
- Time
- Math
- Trigonometry
- Random
- Communication