blob: 71b236c3c520373578ba93289e63c44404dbf726 [file] [log] [blame]
.. _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