[third_party/pigweed] Roll 24 commits

b4e82abda1f7785 pw_multibuf: Make HeaderChunkRegionTracket public
a5da9446fb2c7f6 pw_unit_test: Skip googletest tests if not set
5a521cb4f24cfd6 docs: Gerrit code coverage documentation
db39d89da115738 docs: Move copyright header info to style guide
7afbb205c205659 pw_allocator: Fix use-after-free in ~AllocatorForT
8750debc3c31d37 pw_presubmit: Fix TestTodoCheck.test_one_bug_legac
b8323b6b9334bd4 pw_presubmit: No coverage upload for shadow builds
58cbff1b65f10d7 pw_presubmit: Remove some unused constants
f920a129cf3ed4f docs: Document the Test footer
826cb8013ecc41c pw_toolchain_bazel: Add LLVM clang tool template
0d40b578a642b05 pw_toolchain_bazel: Add ARM GCC toolchain template
c5270f6aeecb805 pw_presubmit: Add is_shadow/is_prod members to con
7e4cbf3a3ef1f43 pw_presubmit: Refactor the coverage options
4209e8f954d189c pw_allocator: Add AllocationTestHarness
e395d6a6991032f pw_toolchain_bazel: Support featureless sysroots
b1818e9c2404c3e pw_multibuf: Fix cmake build file
b7d686c7f47afe1 pw_presubmit: Show diffs when parser tests fail
559d3789342d9ff pw_format: Add core::fmt macro helper
f2d2129612c13a9 pw_bluetooth_sapphire: Add testonly to testing tar
2a06e1549e6d7ea pw_presubmit: Trim paths in Bazel summaries
770c57d44c0ae84 pw_bluetooth_sapphire: Revert commits to get to a
7dde8e8f4926d8d pw_allocator: Add AllocationTestHarness
44287c6af439945 pw_containers: Warn about unsafe Vector usage
d4ede194c4969ea Revert "pw_transfer: Set clients to transfer_v2"

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 77b826167ba5e92..b4e82abda1f7785
Roller-URL: https://ci.chromium.org/b/8763013044452759457
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I26d99602596d0baf1a654575f28115f9ab8b9d19
Reviewed-on: https://pigweed-review.googlesource.com/c/gonk/+/183124
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: ce109cc85724df544fd48293a7962524321273c5
  1. applications/
  2. build_overrides/
  3. scripts/
  4. targets/
  5. third_party/
  6. tools/
  7. .gitignore
  8. .gitmodules
  9. .gn
  10. banner.txt
  11. bootstrap.sh
  12. BUILD.gn
  13. BUILDCONFIG.gn
  14. OWNERS
  15. pigweed.json
  16. README.md
README.md

Gonk

Getting Started

  1. Clone the repo

    git clone https://pigweed.googlesource.com/pigweed/gonk
    
  2. Source bootstrap.sh to download all compilers and tooling into the environment directory:

    . ./bootstrap.sh
    

    This should init all git submodules for you.

  3. From here on the Pigweed environment is activated. You can activate the environment in a new shell without re-running bootstrap by sourcing activate.sh

    . ./activate.sh
    

Compile:

Build for the host and device by running:

pw build

This is mostly a shortcut with nice output for running gn gen out/gn and ninja -C out/gn.

The build commands are defined in: //tools/gonk_tools/build_project.py.

Run:

Host

Run the host app and connect to it via pw-system-console:

./out/gn/host_device_simulator.speed_optimized/obj/applications/system_example/bin/system_example & \
  pw-system-console --socket-addr default \
    --proto-globs third_party/pigweed/pw_rpc/echo.proto ; \
  killall system_example

On device

Flashing

openocd -s $PW_PIGWEED_CIPD_INSTALL_DIR/share/openocd/scripts \
  -f $GONK_ROOT/targets/stm32f769i_disc0_stm32cube/openocd_stm32f7xx.cfg \
  -c "program out/gn/stm32f769i_disc0_stm32cube.size_optimized/obj/applications/system_example/bin/system_example.elf reset exit"

Updating STM32Cube

Checkout the desired commits in each of these submodules:

third_party/stm32cube_f7/cmsis_core
third_party/stm32cube_f7/cmsis_device
third_party/stm32cube_f7/hal_driver

Then run from Gonk root:

python -m pw_stm32cube_build gen_file_list third_party/stm32cube_f7