commit | 94315cb09ba24100a82d34ed55ea838b6e9e08c9 | [log] [tgz] |
---|---|---|
author | Alex Brachet <abrachet@pigweed.infra.roller.google.com> | Thu Oct 26 17:30:00 2023 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Oct 26 17:30:00 2023 +0000 |
tree | f9408d4d24b402dae2c5e0c973e91864bddf8e42 | |
parent | 163a87118df30cfe8d49bf4c837405517ef1d78d [diff] |
[roll third_party/pigweed] pw_libcxx: Add pw_libcxx library This provides a few symbols whose upstream implementation is unsuitable for embedded. Instead, we just implement these symbols by hand, which should just crash if they are ever reached. Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/144970 https://pigweed.googlesource.com/pigweed/pigweed third_party/pigweed Rolled-Commits: 7837bf3c86d47c0..94e41edc059dd6c Roller-URL: https://ci.chromium.org/b/8766153985214921249 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I2d66fb4a0062a2e181e8035eca12e789b249bbce Reviewed-on: https://pigweed-review.googlesource.com/c/gonk/+/177897 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Clone the repo
git clone https://pigweed.googlesource.com/pigweed/gonk
Source bootstrap.sh
to download all compilers and tooling into the environment
directory:
. ./bootstrap.sh
This should init all git submodules for you.
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
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 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
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"
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