Skip to content

Commit 8067ebb

Browse files
committed
Update TI Matter documentation
1 parent 6d1d931 commit 8067ebb

20 files changed

+478
-194
lines changed
101 KB
Loading

docs/guides/ti/matter_cc2674_migration.md docs/guides/ti/matter-migration-guide/matter_cc2674_migration.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ The GPIO pin values for SPI will need to be adjusted based on your design.
5050
4. Select _Board_ as _None_ and _Device_ as _`CC2674P10RGZ`_, Unselect
5151
_`Lock PinMux`_, and click _Confirm_.
5252
5. To fix errors, make the following module changes:
53-
- _RF Design_ and _RF Stacks -> BLE -> Radio_: click on _accepting the
53+
- _RF Design_ and _RF Stacks -> Bluetooth LE -> Radio_: click on _accepting the
5454
current value_, which should be _`LP_CC2674P10_RGZ`_ in the drop down menu
5555
for _Based On RF Design_
5656
- _TI DEVICES -> Device Configuration_: Clear
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Get started with SysConfig
2+
3+
System Configuration Tool (SysConfig) is a graphical interface for
4+
configuring your project. Configuration files, C source files and header
5+
files are generated based on the parameters configured in the SysConfig
6+
dashboard.
7+
8+
SysConfig should be used as a standalone tool for script-based builds (such as for Matter).
9+
10+
The document will help for getting started in tailoring the syscfg file to your application needs.
11+
12+
## Using Stand-alone SysConfig
13+
14+
You can find the standalone SysConfig tool on the [SysConfig Standalone
15+
Installer Download Page](https://www.ti.com/tool/SYSCONFIG).
16+
17+
The location of the Matter syscfg file is located here: `/examples/<name>/cc13x4_26x4/chip.syscfg`
18+
For example, on the github web: https://github.com/project-chip/connectedhomeip/blob/master/examples/lock-app/cc13x4_26x4/chip.syscfg
19+
The local file in your cloned repository should be used.
20+
21+
This file is used by Matter build scripts, when it invokes SysConfig CLI.
22+
In order to edit the file for your custom application configurations, you'll need to open the file with the SysConfig GUI.
23+
Before doing so, you should add the following line above the `/* Modules */` comment:
24+
25+
```
26+
// @cliArgs --product <path to SDK>/.metadata/product.json --board /ti/boards/LP_EM_CC1354P10_6 --rtos freertos
27+
```
28+
29+
As an example, after adding the necessary `<path to SDK>`, it would look like:
30+
31+
```
32+
// @cliArgs --product /home/Documents/repos/connectedhomeip/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/.metadata/product.json --board /ti/boards/LP_EM_CC1354P10_6 --rtos freertos
33+
```
34+
35+
If the file is not found, then you may need to first initialize the submodules:
36+
37+
```
38+
git submodule update --init
39+
```
40+
41+
Now you can open the file in SysConfig GUI.
42+
Once you are done, remove the `@cliArgs` line then save the file. Now the Matter build scripts will use the updated .syscfg file.
43+
44+
## Viewing SysConfig Output
45+
46+
To preview the code to be generated reference the `Generated Files` image, the button at the top of
47+
the `Configuration` pane you will find a list of Generated Files. After
48+
selecting a file you will be able, in real-time, to identify how the
49+
changes in the GUI affect the generated files. This will help you review
50+
the relationship between the GUI and the code.
51+
52+
<div style="text-align: center;">
53+
<img src="images/syscfg_generated_files_ble.png" alt="Generated Files" width=30%>
54+
<div class="caption">Generated Files</div>
55+
</div>
56+
57+
Whenever you re-build the project, SysConfig will re-generate the files.
58+
Because of this, any changes made directly in the generated files will
59+
be overwritten.
Loading
Loading
Loading
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Configure The Board Files with SysConfig
2+
3+
## Table of Contents
4+
5+
* [Reserve Peripherals](#Reserve-Peripherals)
6+
* [Hardware View](#Hardware-View)
7+
8+
The board view shows you what pins are available on your board, and what
9+
peripherals are assigned to what pins. Hover over each pin for more
10+
information.
11+
12+
<div style="text-align: center;">
13+
<img src="./images/board_view.png" width=20%>
14+
</div>
15+
16+
Enabled and configured peripherals are displayed with green symbols.
17+
To add a new peripheral, press the plus sign next to the peripheral
18+
type. The \"Show generated files\" tab lets you see the files generated
19+
based on SysConfig. Generated files are dynamically updated every time
20+
you make a change in SysConfig. When you build your project, the
21+
generated files are exported into the output folder of your project.
22+
23+
<div style="text-align: center;">
24+
<img src="images/show_generated_files_tab.png">
25+
</div>
26+
27+
## Reserve Peripherals
28+
29+
Certain use cases may require preventing SysConfig from generating the
30+
configuration of specific peripherals.
31+
32+
Examples of use cases requiring to reserve peripherals are:
33+
34+
- dynamic re-configuration of a peripheral
35+
- leveraging the Sensor Controller (on devices enabling it)
36+
- already handling certain peripherals configuration
37+
- with hardware constraints preventing to use certain peripherals
38+
(typically GPIOs)
39+
- peripherals reserved for future use
40+
41+
Below are the steps required to utilize the Reserve Peripherals feature.
42+
43+
1. Open the `.syscfg` file using the SysConfig GUI
44+
45+
2. Open the panel \"Reserve Peripherals\"
46+
47+
<div style="text-align: center;">
48+
<img src="images/syscfg-reserve-peripheral-pannel.png" width=30%>
49+
</div>
50+
51+
3. Reserve the resources
52+
53+
Reserve a peripheral using SysConfig. This image shows how
54+
to reserve DIO 15
55+
56+
<div style="text-align: center;">
57+
<img src="images/syscfg-reserve-gpio.png" width=30%>
58+
</div>
59+
60+
61+
SysConfig ensures no resource conflict occurs. In case no solution can
62+
be found, an error is raised.
63+
64+
## Hardware View
65+
66+
The Hardware view may be used to add software modules for supporting
67+
hardware resources on EVMs or LaunchPads. The same capability could be
68+
done in the Software view by adding a Hardware. However the Hardware
69+
view provides a hardware-first perspective to show which software could
70+
be used with hardware resources.
71+
72+
Sysconfig Hardware View:
73+
<div style="text-align: center;">
74+
<img src="images/syscfg_hardware_view.png" width=30%>
75+
</div>

docs/guides/ti/enabling_icd_on_ti_devices.md docs/guides/ti/matter-users-guide/enabling_icd_on_ti_devices.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Configuring Intermittently Connected Devices on TI CC13x4 Platforms
1+
# Configuring Intermittently Connected Devices on TI SimpleLink CC13x4_CC26x4 Platforms
22

33
## Overview
44

55
Intermittently Connected Devices are devices in a network that do not always
66
need to be active. Matter has defined a cluster that helps capture this
77
behavior; this configuration is ideal for devices that need to operate with low
88
power consumption or do not have a need to always be on the network. Matter
9-
examples on the TI CC13x4 platform can be configured to act as ICDs.
9+
examples on the TI CC13x4_CC26x4 platform can be configured to act as ICDs.
1010

1111
## Platform Code Changes
1212

docs/guides/ti/ti_factory_data_user_guide.md docs/guides/ti/matter-users-guide/ti_factory_data_user_guide.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ programming infrastructure for their Matter devices.
1616
TI Matter examples allow the use of factory data in the following two ways:
1717

1818
- **Example Out of Box Factory Data** : Use TI example DAC values to get
19-
started. This is intended to be used when just starting with Matter or
20-
during development until customer or product specific data is not required.
19+
started. This is intended to be used during development.
2120
- **Custom factory data** : Allows users to configure custom factory data via
2221
a JSON file. The custom values are then processed by a script provided by TI
2322
and merged with the Matter application to create a binary that can be
@@ -50,8 +49,8 @@ Each element is described in more detail below:
5049

5150
## How to use
5251

53-
Out of box factory data location is configured to be on second last page of
54-
flash. For CC13x4, the starting address is `0xFE800`. This can be configured in
52+
Out of box factory data location is configured to be on second to last page of
53+
flash. For CC13x4_CC26x4, the starting address is `0xFE800`. This can be configured in
5554
the linker file.
5655

5756
To configure:
@@ -94,7 +93,7 @@ FLASH_FACTORY_DATA (R) : ORIGIN = 0x000fe800, LENGTH = 0x00000900
9493

9594
3. In the example's args.gni file, set 'custom_factory_data' to true
9695

97-
It is recommended to keep 2 dedicated pages for CC13x4 for factory data.
96+
It is recommended to keep 2 dedicated pages for CC13x4_CC26x4 for factory data.
9897

9998
### Formatting certs and keys for JSON file
10099

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# Texas Instruments platform overview
2+
3+
The Texas Instruments Matter platform is based on the TI SimpleLink™ SDK.
4+
5+
The following diagram is a simplified representation of a Matter application
6+
which is built on the TI Platform.
7+
8+
<div style="text-align: center;">
9+
<img src="./.././../images/matter_ti_overview_simplified.png" width=30%>
10+
</div>
11+
12+
## Texas Instruments SimpleLink SDK
13+
14+
This Texas Instruments Matter GitHub repository contains the software
15+
development components and tools that enable engineers to develop Matter based
16+
products. This repository is the starting point for Matter development on all
17+
SimpleLink Thread and Wi-Fi wireless microcontrollers (MCUs).
18+
19+
The SimpleLink MCU portfolio offers a single development environment that
20+
delivers flexible hardware, software, and tool options for customers developing
21+
wired and wireless applications. With 100 percent code reuse across host MCUs,
22+
Wi-Fi™, Bluetooth Low Energy, 2.4GHz, Sub-1GHz devices and more, choose the MCU
23+
or connectivity standard that fits your design. A one-time investment with the
24+
SimpleLink software development kit allows you to reuse often, opening the door
25+
to create unlimited applications. For more information, visit
26+
www.ti.com/simplelink.
27+
28+
<hr>
29+
30+
## Bluetooth LE and Thread stacks
31+
32+
In the TI example applications the Bluetooth Low Energy protocol is used to
33+
provision the Thread protocol to enable Matter communication. Then Thread is
34+
used for IP communication with other Matter devices.
35+
36+
The TI applications leverage the Bluetooth Low Energy stack on the CC13XX and
37+
CC26XX families. This Bluetooth LE software is distributed in binary form within
38+
the TI SimpleLink SDK. The Bluetooth LE stack leverages code that is present in
39+
the device ROM for certain common Bluetooth LE operations.
40+
41+
These applications leverage the OpenThread stack available within the Matter
42+
repository for Thread communication. Platform support source is built from the
43+
SimpleLink SDK.
44+
45+
These connection protocols can be run concurrently by using the Texas
46+
Instruments Dynamic Multi-protocol Manager.
47+
48+
<hr>
49+
50+
## LwIP stack
51+
52+
The Lightweight IP stack interfaces with the OpenThread stack to offer standard
53+
IP connectivity protocols that OpenThread does not natively support. This offers
54+
a standard socket based interface to the Matter platform.
55+
56+
<hr>
57+
58+
## MbedTLS
59+
60+
The MbedTLS library is used by OpenThread and Matter for a wide variety of
61+
protocols. This ranges from basic AES and SHA to cryptographic protocols like
62+
ECDSA and ECDH.
63+
64+
The MbedTLS library is hardware accelerated using the TI SimpleLink SDK drivers.
65+
This is achieved through the usage of `_ALT` defines in the MbedTLS
66+
configuration file.
67+
68+
<hr>
69+
70+
## Matter Stack to TI Platform Interface
71+
72+
Matter Stack interacts with LwIP, OpenThread, and the TI-BLE stack to achieve
73+
the protocol and application functionality. A Bluetooth LE profile is registered
74+
with the TI-BLE stack to enable provisioning and configuration. Once the device
75+
is provisioned Matter will configure the OpenThread interface to connect to an
76+
existing Thread network or to start its own network. From there the Matter IP
77+
messages are sent to the LwIP stack to be routed to the OpenThread stack for
78+
transmission. Matter Impl (Implementation) layer acts as an interface between
79+
Matter stack and the TI platform components such as BLE stack, OpenThread,
80+
FreeRTOS. It also supports components such as connectivity manager that provides
81+
the implementation for functionality required by Matter stack. Overall,
82+
applications generally only need to interface with the Cluster Library from
83+
Matter. The transport of messages and configuration of the device is all handled
84+
by the platform implementation files.
85+
86+
<hr>
87+
88+
## Matter Development Resources
89+
90+
Below are several resources available for Matter development:
91+
92+
- [Matter Protocol Overview](https://handbook.buildwithmatter.com/howitworks/roles/)
93+
- [Matter Build Guide](../../BUILDING.md)
94+
- [Matter over Thread Getting Started](https://dev.ti.com/tirex/explore/node?node=A__AciOYyNq9gli.nsvJzBtQg__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST)
95+
- [TI Matter over Wi-Fi Getting Started](https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1122413/faq-cc3235sf-matter----getting-started-guide)
96+
- [TI Matter Application Development](https://dev.ti.com/tirex/explore/node?node=A__AXNOPYikmtBCHJ-L6eRivA__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST)
97+
- [TI Matter OTA Guide](https://dev.ti.com/tirex/explore/node?node=A__AYTiKtu5heqgH4KPFa.6RQ__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST)
98+
99+
<hr>
100+
101+
## Matter Example Applications
102+
103+
Sample Matter applications are provided for the TI platform. These can be used
104+
as reference for your own application.
105+
106+
- [lock-app](../../../../examples/lock-app/cc13x4_26x4/README.md)
107+
- [pump-app](../../../../examples/pump-app/cc13x4_26x4/README.md)
108+
- [pump-controller-app](../../../../examples/pump-controller-app/cc13x4_26x4/README.md)
109+
- [lighting-app](../../../../examples/lighting-app/cc13x4_26x4/README.md)
110+
<hr>
111+
112+
### Build system
113+
114+
The TI platform uses GN to generate ninja build scripts. Build files have
115+
already been written to build and link the TI specific code within the
116+
SimpleLink SDK.
117+
118+
<hr>
119+
120+
## CC2674 Migration
121+
122+
For instructions on how to migrate the CC1354P10-6 examples to either the
123+
CC2674P10 or the CC2674R10, please refer to the guide linked below.
124+
125+
- [TI CC2674 Migration Guide](../matter-migration-guide/matter_cc2674_migration.md)
126+
127+
<hr>
128+
129+
## Factory Data Programming Tool
130+
131+
For instructions on how to program custom factory data on TI devices, please
132+
refer to the guide linked below.
133+
134+
- [TI Factory Data User Guide](./ti_factory_data_user_guide.md)
135+
136+
<hr>
137+
138+
## Intermittently Connected Devices
139+
140+
For instructions on how to use the Matter ICD feature on TI devices, please
141+
refer to the guide linked below.
142+
143+
- [Enabling ICD On TI Devices](./enabling_icd_on_ti_devices.md)
144+
145+
<hr>
146+
147+
## Matter OpenThread Library Configuration
148+
149+
For instructions on how to configure the OpenThread build configuration for a
150+
Matter application, please refer to the guide linked below.
151+
152+
- [OpenThread Library Configuration](./ti_openthread_library_usage.md)
153+
154+
<hr>
155+
156+
## TI Matter Product Certification
157+
158+
For instructions on how to certify both Software and Hardware Matter components,
159+
please refer to the guide linked below.
160+
161+
- [TI Matter Product Certification](./ti_matter_product_certification.md)
162+
163+
<hr>
164+
165+
### TI Support
166+
167+
For technical support, please consider creating a post on TI's [E2E forum][e2e].
168+
Additionally, we welcome any feedback.
169+
170+
[e2e]: https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread
171+
[matter_gh]: https://github.com/project-chip/connectedhomeip

0 commit comments

Comments
 (0)