C++20 for bare-metal microcontroller programming

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • msp432-cpp

    MSP432 Buildsystem without any standard-libs written completely in C++ 20

    Link to the repository: https://github.com/lebakassemmerl/msp432-cpp

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • Kvasir

    C++ Metaprogramming library enabling better static checking and register abstraction in embedded software

    You’re way ahead of me, but I wanted to mention that it reminded me of this: https://github.com/kvasir-io/Kvasir

  • Tuna-i3-Plus

    This is a modified version of the Marlin 1.1.2 firmware for the WANHAO Duplicator i3 Plus 3d printer.

  • mdrivlib

    Embedded driver library using modern C++. Currently supports STM32MP1, STM32H7, STM32F7, STM32F4 and STM32F0

    Being able to mark a register RW vs RO vs WO and have the compiler check your access is great. Have you also considered the case where a register bit is cleared by writing a 1 to it (or to another register)? I've also implemented my own approach for a general register class (bits and pieces stolen from various other projects): https://github.com/4ms/mdrivlib/blob/main/drivers/register_access.hh I use types for registers, rather than structs, which lets me do RegisterSetClear to handle the case where different registers set and clear a bit.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: Pico-ASHA – Audio streaming to hearing aids using a RPi Pico W

    3 projects | news.ycombinator.com | 14 Sep 2024
  • The first release candidate of FreeCAD 1.0 is out

    11 projects | news.ycombinator.com | 11 Sep 2024
  • New Library for native WebGPU apps in C++

    1 project | news.ycombinator.com | 14 Sep 2024
  • Valkey achieved one million RPS 6 months after forking from Redis

    2 projects | news.ycombinator.com | 14 Sep 2024
  • How to render TrueType Fonts in OpenGL using stb_truetype.h

    3 projects | dev.to | 14 Sep 2024