pw_rp2350#
This directory contains Pigweed target definitions and application setups for the Pigweed RP2350 board. It supports running the Pigweed rust examples under three different kernels/RTOS options:
FreeRTOS (under
freertos/)Pigweed Kernel (under
pigweed/)Zephyr (under
zephyr/)
All kernels can compile and run the same Rust example binaries, as long as all dependent backends are supported by the particular RTOS.
All output is logged to the UART.
Flashing Targets#
Before flashing, connect your PW RP2350 target board to your host machine.
FreeRTOS#
To compile and flash the FreeRTOS loop example, run the following command from the root of the Pigweed repository:
bazelisk run //targets/pw_rp2350/freertos:flash_sleep_example
Pigweed Kernel#
To compile and flash the Pigweed kernel loop example, run the following command from the root of the Pigweed repository:
bazelisk run //targets/pw_rp2350/pigweed:flash_sleep_example
Zephyr#
To build and flash the Zephyr loop example, navigate to the Zephyr sub-workspace directory:
cd targets/pw_rp2350/zephyr
Then run the flash command:
bazelisk run //:flash_sleep_example
Running Unit Tests#
Pigweed supports running on-device unit tests using the RPC unit test runner. This requires running a test server on the host that communicates with the connected board.
FreeRTOS#
Start the test server on the host.
bazelisk run //targets/pw_rp2350/py:unit_test_serverRun the tests using
bazelisk testwith thepw_rp2350_freertosconfig:bazelisk test --cache_test_results=no --test_output=all --config=pw_rp2350_freertos //targets/pw_rp2350:unit_test_example
Zephyr#
Start the test server on the host (from the root of the Pigweed repository):
bazelisk run //targets/pw_rp2350/py:unit_test_serverNavigate to the Zephyr sub-workspace directory:
cd targets/pw_rp2350/zephyrRun the tests:
bazelisk test --cache_test_results=no --test_output=all --config=pw_rp2350_zephyr //:unit_test_example