xref: /aosp_15_r20/external/pigweed/targets/rp2040/target_docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker.. _target-rp2040:
2*61c4878aSAndroid Build Coastguard Worker
3*61c4878aSAndroid Build Coastguard Worker===================
4*61c4878aSAndroid Build Coastguard WorkerRaspberry Pi RP2040
5*61c4878aSAndroid Build Coastguard Worker===================
6*61c4878aSAndroid Build Coastguard Worker.. _Raspberry Pi RP2040: https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html
7*61c4878aSAndroid Build Coastguard Worker.. _Raspberry Pi Pico: https://www.raspberrypi.com/products/raspberry-pi-pico/
8*61c4878aSAndroid Build Coastguard Worker
9*61c4878aSAndroid Build Coastguard WorkerThis page explains Pigweed's support for the `Raspberry Pi RP2040`_ microcontroller
10*61c4878aSAndroid Build Coastguard Workerand for boards built on top of the RP2040, such as the `Raspberry Pi Pico`_.
11*61c4878aSAndroid Build Coastguard Worker
12*61c4878aSAndroid Build Coastguard Worker--------------
13*61c4878aSAndroid Build Coastguard WorkerIntended usage
14*61c4878aSAndroid Build Coastguard Worker--------------
15*61c4878aSAndroid Build Coastguard WorkerPigweed's :ref:`mission <docs-mission>` is to help large teams
16*61c4878aSAndroid Build Coastguard Workerdevelop embedded systems sustainably, robustly, and rapidly.
17*61c4878aSAndroid Build Coastguard WorkerOur support for the RP2040 revolves around making it easier for
18*61c4878aSAndroid Build Coastguard Workerthese teams to develop complex prototypes or mass market products
19*61c4878aSAndroid Build Coastguard Workeron top of the RP2040. Our main goals are to make it easy to:
20*61c4878aSAndroid Build Coastguard Worker
21*61c4878aSAndroid Build Coastguard Worker.. _C/C++ SDK: https://www.raspberrypi.com/documentation/microcontrollers/c_sdk.html
22*61c4878aSAndroid Build Coastguard Worker
23*61c4878aSAndroid Build Coastguard Worker* Do your end-to-end development lifecycle (building, flashing, testing, etc.)
24*61c4878aSAndroid Build Coastguard Worker  in Bazel.
25*61c4878aSAndroid Build Coastguard Worker* Author your embedded system in portable C++. You can write most of your
26*61c4878aSAndroid Build Coastguard Worker  system on top of Pigweed's hardware-agnostic :ref:`modules <docs-glossary-module>`.
27*61c4878aSAndroid Build Coastguard Worker  If there's anything not covered by Pigweed's modules, you can fallback
28*61c4878aSAndroid Build Coastguard Worker  to using the official `C/C++ SDK`_ directly.
29*61c4878aSAndroid Build Coastguard Worker
30*61c4878aSAndroid Build Coastguard Worker.. _MicroPython SDK: https://www.raspberrypi.com/documentation/microcontrollers/micropython.html
31*61c4878aSAndroid Build Coastguard Worker
32*61c4878aSAndroid Build Coastguard WorkerIf you're building relatively simple stuff solely for the RP2040 and just want
33*61c4878aSAndroid Build Coastguard Workerto get everything working very quickly and easily, then Pigweed probably won't
34*61c4878aSAndroid Build Coastguard Workerbe a good fit for you. You'll probably be happier with the official
35*61c4878aSAndroid Build Coastguard Worker`MicroPython SDK`_ or the official `C/C++ SDK`_.
36*61c4878aSAndroid Build Coastguard Worker
37*61c4878aSAndroid Build Coastguard Worker--------
38*61c4878aSAndroid Build Coastguard WorkerExamples
39*61c4878aSAndroid Build Coastguard Worker--------
40*61c4878aSAndroid Build Coastguard Worker.. _Sense showcase: https://pigweed.googlesource.com/pigweed/showcase/sense/
41*61c4878aSAndroid Build Coastguard Worker
42*61c4878aSAndroid Build Coastguard WorkerThe `Sense showcase`_ is our work-in-progress demonstration of using
43*61c4878aSAndroid Build Coastguard Workerthe RP2040, Bazel, and Pigweed together. The showcase is scheduled to be
44*61c4878aSAndroid Build Coastguard Workercompleted in July 2024.
45*61c4878aSAndroid Build Coastguard Worker
46*61c4878aSAndroid Build Coastguard Worker-------
47*61c4878aSAndroid Build Coastguard WorkerModules
48*61c4878aSAndroid Build Coastguard Worker-------
49*61c4878aSAndroid Build Coastguard WorkerMost Pigweed :ref:`modules <docs-glossary-module>` work on all
50*61c4878aSAndroid Build Coastguard Workerhardware platforms. A few areas such as I2C require integrating with
51*61c4878aSAndroid Build Coastguard Workera specific Pigweed module.
52*61c4878aSAndroid Build Coastguard Worker
53*61c4878aSAndroid Build Coastguard Worker.. csv-table::
54*61c4878aSAndroid Build Coastguard Worker   :header: "Description", "Module"
55*61c4878aSAndroid Build Coastguard Worker
56*61c4878aSAndroid Build Coastguard Worker   "Time primitives", ":ref:`module-pw_chrono_rp2040`"
57*61c4878aSAndroid Build Coastguard Worker   "GPIO (digital I/O)", ":ref:`module-pw_digital_io_rp2040`"
58*61c4878aSAndroid Build Coastguard Worker   "I2C", ":ref:`module-pw_i2c_rp2040`"
59*61c4878aSAndroid Build Coastguard Worker   "SPI", ":ref:`module-pw_spi_rp2040`"
60*61c4878aSAndroid Build Coastguard Worker   "Basic I/O for bringup and debugging", ":ref:`module-pw_sys_io_rp2040`"
61*61c4878aSAndroid Build Coastguard Worker
62*61c4878aSAndroid Build Coastguard Worker.. toctree::
63*61c4878aSAndroid Build Coastguard Worker   :maxdepth: 1
64*61c4878aSAndroid Build Coastguard Worker   :hidden:
65*61c4878aSAndroid Build Coastguard Worker
66*61c4878aSAndroid Build Coastguard Worker   Upstream Pigweed <upstream>
67