-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* enable shell example add shell to CI build * revert BLE command change This will cause the BLE advertisment command in the Shell example to not function properly.
- Loading branch information
1 parent
6e22467
commit 9f755f9
Showing
25 changed files
with
1,149 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Copyright (c) 2022 Project CHIP Authors | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
import("//build_overrides/build.gni") | ||
|
||
# The location of the build configuration file. | ||
buildconfig = "${build_root}/config/BUILDCONFIG.gn" | ||
|
||
# CHIP uses angle bracket includes. | ||
check_system_includes = true | ||
|
||
default_args = { | ||
target_cpu = "arm" | ||
target_os = "freertos" | ||
|
||
import("//args.gni") | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Copyright (c) 2022 Project CHIP Authors | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
import("//build_overrides/build.gni") | ||
import("//build_overrides/chip.gni") | ||
import("//build_overrides/openthread.gni") | ||
import("//build_overrides/ti_simplelink_sdk.gni") | ||
|
||
import("${build_root}/config/defaults.gni") | ||
|
||
import("${chip_root}/src/platform/device.gni") | ||
|
||
import("${ti_simplelink_sdk_build_root}/ti_simplelink_executable.gni") | ||
import("${ti_simplelink_sdk_build_root}/ti_simplelink_sdk.gni") | ||
|
||
assert(current_os == "freertos") | ||
|
||
ti_simplelink_sdk("sdk") { | ||
include_dirs = [ "include" ] | ||
|
||
defines = [] | ||
} | ||
|
||
ti_sysconfig("sysconfig") { | ||
sources = [ "chip.syscfg" ] | ||
|
||
outputs = [ | ||
"ti_radio_config.c", | ||
"ti_radio_config.h", | ||
"ti_drivers_config.c", | ||
"ti_drivers_config.h", | ||
"ti_ble_config.c", | ||
"ti_ble_config.h", | ||
"ti_dmm_application_policy.c", | ||
"ti_dmm_application_policy.h", | ||
|
||
# disabled until upstream generation is aligned | ||
#"tiop_config.h", | ||
#"tiop_config.c", | ||
|
||
# not traditional source files | ||
#"ti_utils_build_linker.cmd.genlibs", | ||
#"syscfg_c.rov.xs", | ||
#"ti_utils_runtime_model.gv", | ||
#"ti_utils_runtime_Makefile", | ||
#"ti_ble_app_config.opt", | ||
#"ti_build_config.opt", | ||
] | ||
|
||
public_configs = [ ":sdk_dmm_config" ] | ||
|
||
cflags = [ | ||
"-Wno-comment", | ||
"@" + rebase_path("${target_gen_dir}/sysconfig/ti_ble_app_config.opt", | ||
root_build_dir), | ||
"@" + rebase_path("${target_gen_dir}/sysconfig/ti_build_config.opt", | ||
root_build_dir), | ||
] | ||
} | ||
|
||
ti_simplelink_executable("shell_app") { | ||
output_name = "chip-${ti_simplelink_board}-shell-example.out" | ||
|
||
sources = [ | ||
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/binding-handler.cpp", | ||
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/bridged-actions-stub.cpp", | ||
"${chip_root}/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp", | ||
"main/AppTask.cpp", | ||
"main/main.cpp", | ||
] | ||
|
||
deps = [ | ||
":sdk", | ||
":sysconfig", | ||
"${chip_root}/examples/all-clusters-app/all-clusters-common", | ||
"${chip_root}/examples/shell/shell_common:shell_common", | ||
"${chip_root}/src/lib", | ||
"${chip_root}/src/lib/shell:shell", | ||
"${chip_root}/src/setup_payload", | ||
] | ||
|
||
if (chip_openthread_ftd) { | ||
deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-ftd" ] | ||
} else { | ||
deps += [ "${chip_root}/third_party/openthread/repo:libopenthread-mtd" ] | ||
} | ||
|
||
include_dirs = [ | ||
"include", | ||
"main", | ||
"${chip_root}/examples/all-clusters-app/all-clusters-common/include", | ||
] | ||
|
||
cflags = [ | ||
"-Wno-implicit-fallthrough", | ||
"-Wno-sign-compare", | ||
"-Wconversion", | ||
] | ||
|
||
output_dir = root_out_dir | ||
} | ||
|
||
group("cc13x2x7_26x2x7") { | ||
deps = [ ":shell_app" ] | ||
} | ||
|
||
group("default") { | ||
deps = [ ":cc13x2x7_26x2x7" ] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
# Matter CC1352 CC2652 Shell Application | ||
|
||
A [chip-shell](../README.md) project on the Texas Instruments CC13X2_26X2 family | ||
of Wireless MCUs. | ||
|
||
## Building | ||
|
||
### Preparation | ||
|
||
Some initial setup is necessary for preparing the build environment. This | ||
section will need to be done when migrating to new versions of the SDK. This | ||
guide assumes that the environment is linux based, and recommends Ubuntu 20.04. | ||
|
||
- Download and install [SysConfig][sysconfig] ([recommended | ||
version][sysconfig_recommended]). This can be done simply with the following | ||
commands. | ||
|
||
``` | ||
$ cd ~ | ||
$ wget https://software-dl.ti.com/ccs/esd/sysconfig/sysconfig-1.11.0_2225-setup.run | ||
$ chmod +x sysconfig-1.11.0_2225-setup.run | ||
$ ./sysconfig-1.11.0_2225-setup.run | ||
``` | ||
- Run the bootstrap script to setup the build environment. | ||
``` | ||
$ cd ~/connectedhomeip | ||
$ source ./scripts/bootstrap.sh | ||
``` | ||
### Compilation | ||
It is necessary to activate the environment in every new shell. Then run GN and | ||
Ninja to build the executable. | ||
- Activate the build environment with the repository activate script. | ||
``` | ||
$ cd ~/connectedhomeip | ||
$ source ./scripts/activate.sh | ||
``` | ||
- Run the build to produce a default executable. By default on Linux both the | ||
TI SimpleLink SDK and Sysconfig are located in a `ti` folder in the user's | ||
home directory, and you must provide the absolute path to them. For example | ||
`/home/username/ti/sysconfig_1.11.0`. On Windows the default directory is | ||
`C:\ti`. Take note of this install path, as it will be used in the next | ||
step. | ||
``` | ||
$ cd ~/connectedhomeip/examples/all-clusters-app/cc13x2x7_26x2x7 | ||
$ gn gen out/debug --args="ti_sysconfig_root=\"$HOME/ti/sysconfig_1.11.0\"" | ||
$ ninja -C out/debug | ||
``` | ||
## Programming | ||
Loading the built image onto a LaunchPad is supported through two methods; | ||
Uniflash and Code Composer Studio (CCS). UniFlash can be used to load the image. | ||
Code Composer Studio can be used to load the image and debug the source code. | ||
### Code Composer Studio | ||
Programming with CCS will allow for a full debug environment within the IDE. | ||
This is accomplished by creating a target connection to the XDS110 debugger and | ||
starting a project-less debug session. The CCS IDE will attempt to find the | ||
source files on the local machine based on the debug information embedded within | ||
the ELF. CCS may prompt you to find the source code if the image was built on | ||
another machine or the source code is located in a different location than is | ||
recorded within the ELF. | ||
Download and install [Code Composer Studio][ccs]. | ||
First open CCS and create a new workspace. | ||
Create a target connection (sometimes called the CCXML) for your target SoC and | ||
debugger as described in the [Manual Method][ccs_manual_method] section of the | ||
CCS User's Guide. | ||
Next initiate a project-less debug session as described in the [Manual | ||
Launch][ccs_manual_launch] section of the CCS User's Guide. | ||
CCS should switch to the debug view described in the [After | ||
Launch][ccs_after_launch] section of the User's Guide. The SoC core will likely | ||
be disconnected and symbols will not be loaded. Connect to the core as described | ||
in the [Debug View][ccs_debug_view] section of the User's Guide. Once the core | ||
is connected, use the `Load` button on the toolbar to load the ELF image. | ||
Note that the default configuration of the CCXML uses 2-wire cJTAG instead of | ||
the full 4-wire JTAG connection to match the default jumper configuration of the | ||
LaunchPad. | ||
### UniFlash | ||
Uniflash is Texas Instrument's uniform programming tool for embedded processors. | ||
This will allow you to erase, flash, and inspect the SoC without setting up a | ||
debugging environment. | ||
Download and install [UniFlash][uniflash]. | ||
First open UniFlash. Debug probes connected to the computer will usually be | ||
displayed under the Detected Devices due to the automatic device detection | ||
feature. If your device does not show up in this view it my be disconnected, or | ||
you may have to create a New Configuration. If you already have a CCXML for your | ||
SoC and debug connection you can use that in the section at the bottom. Once | ||
your device is selected, click the `Start` button within the section to launch | ||
the session. | ||
Select the ELF image to load on the device with the `Browse` button. This file | ||
is placed in the `out/debug` folder by this guide and ends with the `*.out` file | ||
extension. | ||
Finally click the `Load Image` button to load the executable image onto the | ||
device. You should be able to see the log output over the XDS110 User UART. | ||
Note that programming the device through JTAG sets the Halt-in-Boot flag and may | ||
cause issues when performing a software reset. This flag can be reset by | ||
power-cycling the LaunchPad. | ||
## Running the Example | ||
By default the log output will be sent to the Application/User UART. Open a | ||
terminal emulator to that port to see the output with the following options: | ||
| Parameter | Value | | ||
| ------------ | -------- | | ||
| Speed (baud) | `115200` | | ||
| Data bits | `8` | | ||
| Stop bits | `1` | | ||
| Parity | `None` | | ||
| Flow control | `None` | | ||
## Running the Example | ||
Once a device has been flashed with this example, it can now join and operate in | ||
an existing Thread network. The following sections assume that a Thread network | ||
is already active, and has at least one [OpenThread Border | ||
Router][ot_border_router_setup]. | ||
For insight into what other components are needed to run this example, please | ||
refer to our [Matter Getting Started Guide][matter-e2e-faq]. | ||
For help with the shell itself, refer to the | ||
[shell example README](../README.md). | ||
## TI Support | ||
For technical support, please consider creating a post on TI's [E2E forum][e2e]. | ||
Additionally, we welcome any feedback. | ||
[ccs]: https://www.ti.com/tool/CCSTUDIO | ||
[ccs_after_launch]: | ||
https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html?configuration#after-launch | ||
[ccs_debug_view]: | ||
https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html?configuration#debug-view | ||
[ccs_manual_launch]: | ||
https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html?configuration#manual-launch | ||
[ccs_manual_method]: | ||
https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html?configuration#manual-method | ||
[e2e]: https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread | ||
[sysconfig]: https://www.ti.com/tool/SYSCONFIG | ||
[sysconfig_recommended]: | ||
https://software-dl.ti.com/ccs/esd/sysconfig/sysconfig-1.10.0_2163-setup.run | ||
[ti_cc13x2_26x2_r7_matter_request]: https://ti.com/chip_sdk | ||
[uniflash]: https://www.ti.com/tool/download/UNIFLASH |
Oops, something went wrong.