1 # CHIP QPG6100 Example Application
3 An example application showing the use
4 [CHIP](https://github.com/project-chip/connectedhomeip) on the Qorvo QPG6100.
8 - [CHIP QPG6100 Example Application](#chip-qpg6100-example-application)
9 - [Introduction](#introduction)
10 - [Building](#building)
11 - [Flashing the application](#flashing-the-application)
12 - [Viewing Logging Output](#viewing-logging-output)
18 ![QPG6100 DK board](../../platform/qpg6100/doc/QPG6100_DK_Board.jpg)
20 Several example applications are provided to to demonstrate a CHIP
21 device, with Thread connectivity, using BLE to perform CHIP provisioning
22 on the Qorvo QPG6100 SDK. More information about each application can be
23 found in the APPLICATION.md file found in the qpg6100 directory of the
24 example application directory
26 Currently supported example applications
28 - [~/examples/lighting-app/](../../../examples/lighting-app/qpg6100/APPLICATION.md)
29 - [~/examples/lock-app/](../../../examples/lock-app/qpg6100/APPLICATION.md)
31 For more information on Qorvo and the platforms, please visit
32 [the Qorvo website](http://www.qorvo.com) or contact us on
33 LPW.support@qorvo.com.
39 - Download and install a suitable ARM gcc tool chain:
40 [GNU Arm Embedded Toolchain 9-2019-q4-update](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
41 (Direct download link:
42 [Linux](https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2)
43 [Mac OS X](https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-mac.tar.bz2))
45 - Install additional tools used by the CHIP build:
49 sudo apt-get install git make libtool ccache ninja-build
54 brew install libtool ccache ninja
57 - Clone the [CHIP](https://github.com/project-chip/connectedhomeip) repo into
62 git clone https://github.com/project-chip/connectedhomeip.git
65 - The Qorvo CHIP SDK is added as a submodule in /third_party/qpg_sdk/repo. To
66 manually clone this repo you can clone it from
67 [CHIP SDK](https://github.com/Qorvo/qpg-connectedhomeip)
71 git clone https://github.com/Qorvo/qpg-connectedhomeip
76 - Set the following environment variables before compilation:
79 export ARM_GCC_INSTALL_ROOT=${HOME}/tools/gcc-arm-none-eabi-9-2019-q4-major/bin
80 export PATH=$PATH:$ARM_GCC_INSTALL_ROOT
83 - Optionally, to use a different version of the QPG6100 SDK from the one
87 export QPG6100_SDK_ROOT=${HOME}/qpg-connectedhomeip
90 - All builds are GN/ninja based
93 cd ~/connectedhomeip/examples/[lighting|lock]-app/qpg6100
94 source third_party/connectedhomeip/scripts/activate.sh
99 ## Flashing the application
101 The QPG6100 DK boards can be programmed using:
103 ### CMSIS-DAP Drag and Drop
105 Drag/copy the hex-file generated to the mBED drive that appears when plugging in
108 ### Segger JLink debugger
110 Connect the Segger J-Link to the programming header and use the Segger SW to
113 More detailed information to be included in SDK Documentation.
115 ## Viewing Logging Output
117 - Launch a serial terminal with baudrate 115200.
118 - At startup you will see:
121 qvCHIP v0.0.0.0 (CL:155586) running
122 [P][-] Init CHIP Stack
123 [P][DL] BLEManagerImpl::Init() complete
124 [P][-] Starting Platform Manager Event Loop
125 [P][-] ==================================
126 [P][-] Qorvo [Application Name] Launching
127 [P][-] ==================================
128 [D][DL] CHIP task running
131 - Note! Logging is currently encapsulated by the Qorvo logging module.
133 will have additional header and footer bytes. This will be updated later
134 into a raw stream for any serial terminal to parse.