[third_party/pigweed] Roll 11 commits

09c9783126f1324 docs: Add details to codependent docs
4449ac1105bda52 pw_unit_test: Include the right gmock header
e9105b356836b05 pw_toolchain: Add objdump
4ee9b5866d17e6a pw_web: Fix clear logs due to error thrown handlin
3ed904b2ecc56c7 pw_unit_test: Mark libs as test only in bazel
7e0fad2cc3790f1 pw_i2c: Mark libs as test only in bazel
996a3479d45a601 pw_unit_test: Support *_NEAR, *_FLOAT_EQ, *_DOUBLE
74ed509bc15e65b pw_allocator: Refactor test support and example al
87636efd044bee2 pw_web: Add manual testing page in docs
4e8c2e22d497e72 pw_fuzzer: Move `Domain` from fuzztest::internal t
666d7adedf73ad8 pw_analog: Mark libs as test only in bazel

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 74ff2e783600c61..09c9783126f1324
Roller-URL: https://ci.chromium.org/b/8764915579004139137
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I2fde26ee58edd560ded5ce257ffcc0c906d2e079
Reviewed-on: https://pigweed-review.googlesource.com/c/gonk/+/180151
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: 84a8f054baab3524528cb22f5f17e6dc4469492f
  1. applications/
  2. build_overrides/
  3. targets/
  4. third_party/
  5. tools/
  6. .gitignore
  7. .gitmodules
  8. .gn
  9. banner.txt
  10. bootstrap.sh
  11. BUILD.gn
  12. BUILDCONFIG.gn
  13. OWNERS
  14. pigweed.json
  15. 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