roll: pigweed, pw_toolchain 16 commits

1edcc733fe2cec8 targets/rp2040: Update docs
a0b96183e45057a pw_allocator: Use specific block allocator headers
20f3739c55ea860 targets/rp2040: Add debugprobe version detection a
7bcd8c6a947594f pw_cli: Improve messaging for GitErrors
db4aa332cdf0199 pw_bluetooth_proxy: Have release_fn take buffer*
d9c9e4959765f34 pw_bluetooth_proxy: Add GetH4Span
0b1d2bfaf3402bf pw_clock_tree_mcuxpresso: Use AcquireWith for audi
ae68ff1f200c77a pw_clock_tree: Introduce ClockTree AcquireWith met
f894d1aa8d7e589 pw_target_runner: Send test binaries over gRPC
3292a27ec33acdd pw_bluetooth: Add WritePinTypeCommandCompleteEvent
3a9cb7b0cb084d5 pw_bluetooth: Add ReadPinTypeCommandCompleteEvent
3ca190b3b1553c6 pw_bluetooth: Add PinCodeRequestNegativeReplyComma
f6773e365ff933f docs: Remove mention of multiplexers
68e267dfae009b6 pw_bluetooth: Add PinCodeRequestReplyCommandComple
ac53f2a285fbe45 pw_bluetooth: Add WritePinTypeCommand Emboss struc
484b22c0c4f9945 pw_bluetooth: Add ReadPinTypeCommand Emboss struct

https://pigweed.googlesource.com/pigweed/pigweed
pigweed, pw_toolchain Rolled-Commits: 3eb5b9bc5991940..1edcc733fe2cec8
Roller-URL: https://ci.chromium.org/b/8744473945373250161
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I1d456dfb6d6fa146650cc22e90ce85e780dcd290
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/quickstart/bazel/+/217162
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
1 file changed
tree: 0edabaf8a311b3238f6930f0c48256a3e06f23c9
  1. .github/
  2. src/
  3. targets/
  4. tools/
  5. .bazelignore
  6. .bazelrc
  7. .bazelversion
  8. .gitignore
  9. BUILD.bazel
  10. echo.bzl
  11. LICENSE
  12. pigweed.json
  13. README.md
  14. requirements.in
  15. requirements_lock.txt
  16. WORKSPACE
README.md

Pigweed: minimal Bazel example

This repository contains a minimal example of a Bazel-based Pigweed project. It's an echo application for the STM32F429 Discovery Board.

Cloning

git clone --recursive https://pigweed.googlesource.com/pigweed/quickstart/bazel

If you already cloned but forgot to include --recursive, run git submodule update --init to pull all submodules.

TODO: b/300695111 - Don't require submodules for this example.

Building

We‘ll assume you already have Bazel on your system. If you don’t, the recommended way to get it is through Bazelisk.

To build the entire project (including building the application for both the host and the STM32 Discovery Board), run

bazel build //...

To run the application locally on your machine, run,

bazel run //src:echo

Flashing

To flash the firmware to a STM32F429 Discovery Board connected to your machine, run,

bazel run //tools:flash

Note that you don't need to build the firmware first: Bazel knows that the firmware images are needed to flash the board, and will build them for you. And if you edit the source of the firmware or any of its dependencies, it will get rebuilt when you flash.

Communicating

Run,

bazel run //tools:miniterm -- /dev/ttyACM0 --filter=debug

to communicate with the board. When you transmit a character, you should get the same character back!