blob: b23d98ba25c06aaafef21c64ce1a90a013aabc72 [file] [log] [blame] [view]
#CHIP EFR32 Test Driver
This builds and runs the NLUnitTest on the efr32 device
<hr>
- [Introduction](#introduction)
- [Building](#building)
- [Running The Tests](#running-the-tests)
<hr>
<a name="introduction"></a>
## Introduction
This builds a test binary which contains the NLUnitTests and can be flashed onto
a device. The device is controlled using the included RPCs, through the python
test runner.
<a name="building"></a>
## Building
- Download the
[Simplicity Commander](https://www.silabs.com/mcu/programming-options)
command line tool, and ensure that `commander` is your shell search path.
(For Mac OS X, `commander` is located inside
`Commander.app/Contents/MacOS/`.)
- Download and install a suitable ARM gcc tool chain:
[GNU Arm Embedded Toolchain 9-2019-q4-major](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
- Install some additional tools(likely already present for CHIP developers):
#Linux `sudo apt-get install git libwebkitgtk-1.0-0 ninja-build`
#Mac OS X `brew install ninja`
- Supported hardware:
MG12 boards:
- BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm,
868MHz@19dBm
- BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm
- BRD4166A / SLTB004A / Thunderboard Sense 2 / 2.4GHz@10dBm
- BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm,
915MHz@19dBm
- BRD4304A / SLWSTK6000B / MGM12P Module / 2.4GHz@19dBm
MG21 boards: Currently not supported due to RAM limitation.
- BRD4180A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- BRD2703A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4186A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4187A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
- BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
OR use GN/Ninja directly
```
cd ~/connectedhomeip/src/test_driver/efr32/
git submodule update --init
source third_party/connectedhomeip/scripts/activate.sh
export EFR32_BOARD=BRD4161A
gn gen out/debug
ninja -C out/debug
```
- To delete generated executable, libraries and object files use:
```
cd ~/connectedhomeip/src/test_driver/efr32/
rm -rf out/
```
<a name="running-the-tests"></a>
## Running The Tests
Build the runner using gn:
```
cd <connectedhomeip>/src/test_driver/efr32
gn gen out/debug
ninja -C out/debug runner
```
Or build using build script from the root
```
cd <connectedhomeip>
./scripts/build/build_examples.py --target linux-x64-nl-test-runner build
```
The runner will be installed into the venv and python wheels will be packaged in
the output folder for deploying.
- To run the tests:
```
python -m nl_test_runner.nl_test_runner -d /dev/ttyACM1 -f out/debug/matter-silabs-device_tests.s37 -o out.log
```