[third_party/pigweed] Roll 13 commits

21bcbe67b4552d1 pw_toolchain: Add IOKit and Security headers to ma
9cb32e34b5e88ff pw_bluetooth_proxy: Update H4HciPacket constructio
b68025de8fda296 pw_bluetooth_proxy: Add sendGattNotify stub
a4f3e67ade55ec6 pw_clock_tree_mcuxpresso: Configure ClkIn as sourc
1ffc0b72b2cf57d third_party: Add @libusb to bazel workspace
e25a26911ac036e pw_protobuf: Add module metadata
1318da19d424a2b pw_log: Add module metadata
5a42d892e61c03c pw_docgen: Add module metadata
5d2f2ae7a1ac085 pw_bloat: Add module metadata
8e598bdc21566ef third_party/freertos: Share common FreeRTOS functi
ea3f5729c910f5d pw_system: Move config variables to config.h
508e145f7f9814f pw_containers: Disallow deletion from InlineVarLen
9452c6061de3f1a pw_toolchain_bazel: Add cortex-a32 mcpu value

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 28a9fb05372696b..21bcbe67b4552d1
Roller-URL: https://ci.chromium.org/b/8745925207112293073
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I313bb2ccdd87a09d8e0a2ec8266dee01ba3134b4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/quickstart/bazel/+/214195
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
1 file changed
tree: c2afc16f3193b4394245aed6a369a3ecc7879a50
  1. .github/
  2. src/
  3. targets/
  4. third_party/
  5. tools/
  6. .bazelrc
  7. .bazelversion
  8. .gitignore
  9. .gitmodules
  10. BUILD.bazel
  11. echo.bzl
  12. LICENSE
  13. pigweed.json
  14. README.md
  15. requirements.in
  16. requirements_lock.txt
  17. 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!