blue_hal 1.1.0

Embedded Hardware Abstraction Layer
Documentation
# Blue HAL

Embedded Hardware Abstraction Layer developed at [Bluefruit Software](https://www.bluefruit.co.uk/). Implementations are mostly only coupled to 
ARM Cortex-M.

`blue_hal` contains most drivers used in the [Loadstone](https://github.com/absw/loadstone) secure bootloader project.

# Connection to the Rust embedded ecosystem

`blue_hal` started primarily as an in-house learning project, so there's some
amount of duplication between the drivers contained in this repository and 
some of the preexisting embedded-hal implementations, specially around the
early stm32 drivers. 

The drivers in `blue_hal` don't directly implement the [embedded-hal](https://github.com/rust-embedded/embedded-hal) interfaces. Instead, `blue_hal`
offers its own set of abstractions which made sense during the development of
`Loadstone`. The plan is to support `embedded-hal` directly in the future.

# Structure

* `src/hal` contains all abstract interfaces.
* `src/hal/doubles` is a test only module that contains test doubles 
  (fakes, mocks, etc) for most drivers.
* `src/drivers` contains concrete driver implementations. These are nested
  by specificity, with the MCU family or chip vendor always referenced in
  the module structure.
* `src/utilities` contains general purpose code applicable to multiple drivers.