compile-time-init-build
amp-hal-st
Our great sponsors
compile-time-init-build | amp-hal-st | |
---|---|---|
10 | 7 | |
397 | 44 | |
6.3% | - | |
9.3 | 8.8 | |
7 days ago | about 5 hours ago | |
C++ | C | |
Boost Software License 1.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
compile-time-init-build
- C++ library for composing modular firmware at compile-time
- Cib: C++ library for composing modular firmware at compile-time
- Callbacks in embedded | heapless environment
-
Looking for well written, modern C++ (17/20) example projects for microcontrollers
cib: a hyper-modern way that intel is doing it's foundational infrastructure
- Cib – Compile-Time Initialization and Build
-
Future of embedded coding architecture
What are your thoughts about this CIB library by Intel, https://github.com/intel/compile-time-init-build I am interested to see if this is a generalized and good approach to use compile time polymorphism in MCUs.
- GitHub - intel/compile-time-init-build: C++ library for composing modular firmware at compile-time.
amp-hal-st
-
Looking for well written, modern C++ (17/20) example projects for microcontrollers
I can recommend having a look at: - https://github.com/philips-software/amp-embedded-infra-lib (stl-like replacement and utility library including a HAL definition - https://github.com/philips-software/amp-hal-st (HAL implementation for STs based on EMiL HAL) - https://github.com/philips-software/amp-preview (a GUI library for STs based on above mentioned repo's)
-
Projects to Join
We want to add G0 and G4 support to https://github.com/philips-software/amp-hal-st you are more than welcome to try it out. We don't have a direct use for them (that is, you won't be working for free for Philips), but we see a lot of opportunities for these chip families to be used by other projects. The new C series night also be interesting for hobbyists (which is one of the reasons we open source this library).
- What is on your CI?
-
Anybody else slow and dumb with this embedded and coding stuff?? Hours of trying to set the correct bits in the correct order with little success!
Simple solution: use a global catch-all interrupt handler that asserts when the "to handle" interrupt had no handler assigned :-) like this one https://github.com/philips-software/amp-hal-st/blob/main/hal_st/cortex/InterruptCortex.cpp
-
Implementing callbacks using abstract classes in C++
If you want examples on how these HAL interfaces are implemented for a range of ST devices then you can take a look at https://github.com/philips-software/amp-hal-st
- Looking for modern CMake tutorials or good open spurce examples
-
Writing STM32 Startup script in C++
Using amp-hal-st (https://github.com/philips-software/amp-hal-st) as an example. The easiest way to do it is to call HAL_NVIC_SystemReset();
What are some alternatives?
amp-embedded-infra-lib - amp-embedded-infra-lib is a set of C++ libraries and headers that provide heap-less, STL like, infrastructure for embedded software development
amp-devcontainer - amp-devcontainer is a fully loaded devcontainer useable for (embedded) C++ or Rust development
cpp_stm32 - Pure c++17 implementation of stm32 driver
cppreference-doc - C++ standard library reference
tinyusb - An open source cross-platform USB stack for embedded system
cmake-project-skeleton - Reusable project skeleton for embedded C & C++ projects using CMake.
etl - Embedded Template Library
stm32-cube-cmake-vscode - STM32, VSCode and CMake detailed tutorial
sml - C++14 State Machine library
cortex-m3-rtos - ARM Cortex-M3 Real-Time Operating System for educational purpose.