Releases: embedded-machine-learning/Cpp-NN
C++20 STM32CubeIDE Example Project
Overview
This is the original STM32 project written in C++20, developed for the SEDGE paper ( https://doi.org/10.1007/s10994-025-06807-z )
The C++20 variation produces, on average, slightly faster code, but it was rewritten for maintainability.
What's in this Release
STM32 project using STM32CubeMX-generated code ( version 1.15.0, windows)
Profiling via STM32_Profiler integrated into Core/
Third-party licenses included under the Licenses/ directory
Key Notes
The profiling functionality is adapted from STM32_Profiler (MIT License).
If everything compiled correctly, there should not be any C++ std functions used, or any Matrix views used (they should be reduced to pure (immediate) pointer operations)
Licensing
All third-party components and license texts are included.
My own code is licensed under Apache 2.0.
C++17 STM32CubeIDE Example Project
Overview
This is the original STM32 project written in C++17, developed for the SEDGE paper ( https://doi.org/10.1007/s10994-025-06807-z )
⚠️ Deprecated: This version is no longer maintained. It is preserved for historical and benchmarking purposes.
A complete rewrite is available (or in progress) using C++20, offering vastly improved maintainability, modularity, and code clarity.
What's in this Release
- STM32 project using STM32CubeMX-generated code
- Profiling via
STM32_Profiler
integrated intoCore/
- Project configured for improved performance via updated compiler flags
- Third-party licenses included under the
Licenses/
directory
Key Notes
- The C++17 version is deprecated and not recommended for new development.
- The
profiling
functionality is adapted from STM32_Profiler (MIT License). - Use this version only for reference or legacy benchmarking.
Licensing
All third-party components and license texts are included.
My own code is licensed under Apache 2.0.