| .. _chapter-stm32f429i-disc1: |
| |
| .. default-domain:: cpp |
| |
| .. highlight:: sh |
| |
| ---------------- |
| stm32f429i-disc1 |
| ---------------- |
| The STMicroelectronics STM32F429I-DISC1 development board is currently Pigweed's |
| primary target for on-device testing and development. |
| |
| Building |
| ======== |
| To build for this target, change the ``pw_target_config`` GN build arg to point |
| to this target's configuration file. |
| |
| .. code:: sh |
| |
| $ gn gen --args='pw_target_config = "//targets/stm32f429i-disc1/target_config.gni"' out/disco |
| $ ninja -C out/disco |
| |
| or |
| |
| .. code:: sh |
| |
| $ gn gen out/disco |
| $ gn args |
| # Modify and save the args file to update the pw_target_config. |
| pw_target_config = "//targets/stm32f429i-disc1/target_config.gni" |
| $ ninja -C out/disco |
| |
| Testing |
| ======= |
| The default Pigweed build target will build all of the pigweed module unit |
| tests. These tests can be run on-device in a few different ways. |
| |
| Run a unit test |
| --------------- |
| Test if using ``out/disco`` as your build directory, tests will be located in |
| ``out/disco/obj/[module name]/[test_name].elf``. To run these on device, the |
| stm32f429i-disc1 target provides a helper script that flashes the test to a |
| device and then runs it. |
| |
| .. code:: sh |
| |
| # Setup pigweed environment. |
| $ . env_setup/setup.sh |
| # Run test. |
| $ stm32f429i_disc1_unit_test_runner /path/to/binary |
| |
| Run multiple tests |
| ------------------ |
| Running all tests one-by-one is rather tedious. To make running multiple |
| tests easier, use Pigweed's ``pw test`` command and pass it your build directory |
| and the name of the test runner. By default, ``pw test`` will run all tests, |
| but you can restrict it to specific groups using the ``--group`` flag. |
| Individual test binaries can be specified with the ``--test`` flag as well. |
| |
| .. code:: sh |
| |
| # Setup pigweed environment. |
| $ . env_setup/setup.sh |
| # Run test. |
| $ pw test --root out/disco/ --runner stm32f429i_disc1_unit_test_runner |