-
Notifications
You must be signed in to change notification settings - Fork 1
Home
This repository provides an open source, c++ peripheral library for the STM32F family of ARM Cortex chips. The goal is to provide minimal and complete set of objects to allow interaction with the STM peripheral hardware, taking advantage of the fact that STM reuse components across their family of chips.
STM standardized their hardware components; we're trying to standardize the corresponding software components.
This is a c++ library as it provides good abstraction of the components themselves; compile-time 'scripting' and error checking; and good design patterns and policies.
Current status: This library is nascent. We are currently focused on the STM32F407 and building the basic foundations. We have reached our first milestone: basic peripherals and printf to console. There is lots of formalization and clean-up to do, please see the TODO file.
The repository consists of three layers:
-
Foundation - the foundational components of the library are generated from the automated scanning of the STM data sheets. The foundation provides raw access to the registers, the registry "dictionary" for use by the main library
-
Library - the main library consists of the objects that perform functionally useful tasks with system components (e.g. the system clock object, UARTs, I2C)
-
Examples - a set of simple examples of library useage and history of development
Contents of the repository:
On the top level, the directories that come "out-of-the-box" after cloning from guthub are:
./readDocs - documentation and code to automatically extract the information needed for the foundation layer
./libraries - the c++ object library build directory
./examples - which contains the examples
what builds:
./install - the library post-build