Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abt8601/raspi-pacs

Peripheral access crates for the Broadcom microprocessors used in the Raspberry Pi boards
https://github.com/abt8601/raspi-pacs

bcm2711 bcm2835 bcm2837 raspberry-pi rust

Last synced: 3 months ago
JSON representation

Peripheral access crates for the Broadcom microprocessors used in the Raspberry Pi boards

Awesome Lists containing this project

README

        

# raspi-pacs

[![crates.io](https://img.shields.io/crates/v/bcm2835-lpa.svg?label=crates.io%20%28bcm2835-lpa%29)](https://crates.io/crates/bcm2835-lpa)
[![docs.rs](https://img.shields.io/docsrs/bcm2835-lpa?label=docs%20%28bcm2835-lpa%29)](https://docs.rs/bcm2835-lpa)

[![crates.io](https://img.shields.io/crates/v/bcm2837-lpa.svg?label=crates.io%20%28bcm2837-lpa%29)](https://crates.io/crates/bcm2837-lpa)
[![docs.rs](https://img.shields.io/docsrs/bcm2837-lpa?label=docs%20%28bcm2837-lpa%29)](https://docs.rs/bcm2837-lpa)

[![crates.io](https://img.shields.io/crates/v/bcm2711-lpa.svg?label=crates.io%20%28bcm2711-lpa%29)](https://crates.io/crates/bcm2711-lpa)
[![docs.rs](https://img.shields.io/docsrs/bcm2711-lpa?label=docs%20%28bcm2711-lpa%29)](https://docs.rs/bcm2711-lpa)

Peripheral access crates
for the Broadcom microprocessors used in the Raspberry Pi boards.

This repository contains the PACs for the following MCUs:

- [BCM2835](crates/bcm2835-lpa/)
- [BCM2837](crates/bcm2837-lpa/)
- [BCM2711](crates/bcm2711-lpa/)

These crates are generated by [`svd2rust`](https://crates.io/crates/svd2rust)
from the
[SVD files](https://github.com/abt8601/broadcom-peripherals/tree/main-build/svd/gen)
in
[`abt8601/broadcom-peripherals`](https://github.com/abt8601/broadcom-peripherals/tree/main-build),
which are based on those in
[`adafruit/broadcom-peripherals`](https://github.com/adafruit/broadcom-peripherals/tree/main-build).
(The SVD files in these two repositories are identical,
save that those in the former has the missing tags required by `svd2rust`.)

## Generating the Crates

### Prerequisites

- Rust toolchain with `cargo` and `rustfmt`
- [`svd2rust`](https://crates.io/crates/svd2rust)
- [`form`](https://crates.io/crates/form)
(≥ 0.11 is required for the generated crates to be compilable on Windows.)

Also, the submodule `peripherals` must be checked out.

### Generating

To generate the PAC for a particular MCU, run:

```sh
./gen.sh
```

where `` is one of `bcm2835`, `bcm2837`, or `bcm2711`.