Pigweed
One of the biggest challenges in embedded systems development is portability. For code to be truly portable, it must depend on interfaces. To run it on different hardware targets, someone needs to implement those interfaces on different targets. Maintaining consistent interfaces across various projects and devices can be difficult. Google’s Pigweed project aims to solve this by providing software modules for embedded applications, with hardware interfaces already implemented for many targets.
Pigweed is intended for complex projects and large-scale teams. Besides the hardware interfaces, it also:
- Packs software modules built on top of them, such as logging, serial communication (SPI, I2C, and UART), Bluetooth Host Controller Interface (HCI), interactive console, Remote Procedure Call (RPC) system, and more.
- Provides embedding-friendly alternatives to standard library components: fixed-size strings and containers.
- Manages the entire toolchain...