Practical Guide to Bare Metal C++
  • Introduction
  • Audience
  • C++ Popularity
  • Benefits of C++
  • Contents of This Book
  • Contribution
  • Know Your Compiler Output
    • Test Applications
    • Get Simple Application Compiled
    • Dynamic Memory Allocation
    • Exceptions
    • RTTI
    • Removing Standard Library and C++ Runtime
    • Static Objects
    • Abstract Classes
    • Templates
    • Tag Dispatching
  • Basic Needs
    • Assertion
    • Callback
    • Data Serialisation
    • Static (Fixed Size) Queue
  • Basic Concepts
    • Event Loop
    • Device-Driver-Component
  • Peripherals
    • Timer
    • UART
    • GPIO
    • I2C
    • SPI
    • Other
Powered by GitBook
On this page

Was this helpful?

  1. Peripherals

Other

PreviousSPI

Last updated 5 years ago

Was this helpful?

There are many other peripherals and/or protocols (such as I2S, USB, one wire). The implementation and the main concepts should be pretty similar to the peripherals covered so far. At this stage I do not plan to do it in this book. At least not in the near future.

Various micro-controllers may also support access to some peripherals. In this case the Character Driver that was covered in chapter must be replaced with some kind of Block Driver, that will allow issuing of multiple read/write requests at the same time and will receive only "operation complete" notifications from the Device. I leave implementation of it as an excercise for the reader. At least for now.

DMA
UART