Skip to content

mikeawalker/modern_embedded

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

modern_embedded

Purpose

The world of coding for embedded is filled with a large amount of "rules of thumb" and "best practice" that many people can not properly justify or explain. Many of these rules of thumb involve avoiding modern features of C++.

This repo will explore several "modern" (and not so modern) features of C++ that are often shunned in the realm of embedded programming and allow users to understand C++

Method

In this repository we're aiming to use the scientific method to gain true understanding of the modern features of c++ on embedded systems and their consequences. Furthermore we will avoid creating "blanket rules" of our own in favor of providing the data for embedded engineers to make informed decisions.

The scientific method calls for suggestion of a hypothesis and then validation, rejection, or modification of that hypothesis based on the results of experimentation.

Provide small but practical examples of modern c++ features compared against code that executes the same feature in a more basic way and categorize.

  • Memory usage
  • Execution time
  • Difference in CPU instructions
  • Lines of code

CPU Targets

This repository will provide the ability to build for the following target systems:

  • X86
  • Arm
  • Arm64
  • RiscV

About

Use this repository to demonstrate "modern" features of c++ on different targets including embedded.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published