blob: 994954d6ae7a53a03189869cc4856cac62f40fe7 [file] [log] [blame] [view]
# Running Matter Examples on the TI SimpleLink CC2674P10 and CC2674R10
The existing Matter project examples are based on LP_EM_CC1354P10_6. If using
the CC2674P10, the following migration steps are required. Developers are
strongly encouraged to start with a `cc13x4_26x4` example and migrate the
project accordingly. Example projects can be found in the following location:
`matter/examples/[application]/cc13x4_26x4`
## Dependencies
The following must be installed on your system before proceeding:
- [SysConfig](https://www.ti.com/tool/SYSCONFIG) v1.16.2 or later
## Matter source code changes
The following are changes to the Matter source code files which should be
applied to convert a `matter/examples/[application]/cc13x4_26x4` project to the
CC2674P10 device
- `examples/[application]/cc13x4_26x4/args.gni`, modify/add the following
defines for the CC2674
- `ti_simplelink_board = "CC2674"`
- `ti_simplelink_device = "CC2674P10RGZ"`
- `third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source/ti/common/flash/no_rtos/extFlash/bsp.h`,
modify the SPI GPIO pins to the value below:
```
#define BSP_IOID_FLASH_CS IOID_20
#define BSP_SPI_MOSI IOID_9
#define BSP_SPI_MISO IOID_8
#define BSP_SPI_CLK_FLASH IOID_10
```
The GPIO pin values for SPI will need to be adjusted based on your design.
## Configuring `chip.syscfg` in the SysConfig GUI
1. To open `matter/examples/[application]/cc13x4_26x4/chip.syscfg` in the GUI,
add the following line to the top of the file:
```
// @cliArgs --product <path to SDK>/.metadata/product.json --board /ti/boards/LP_EM_CC1354P10_6 --rtos freertos
```
2. Open the `syscfg` file using the standalone Sysconfig GUI
(`sysconfig_gui.sh`) from the SysConfig installation folder.
3. Click on _Show Device View_ and then click _Switch_.
4. Select _Board_ as _None_ and _Device_ as _`CC2674P10RGZ`_, Unselect
_`Lock PinMux`_, and click _Confirm_.
5. To fix errors, make the following module changes:
- _RF Design_ and _RF Stacks -> BLE -> Radio_: click on _accepting the
current value_, which should be _`LP_CC2674P10_RGZ`_ in the drop down menu
for _Based On RF Design_
- _TI DEVICES -> Device Configuration_: Clear
_`XOSC Cap Array Modification`_
- _TI DRIVERS -> RF_: Set _Global Event Mask_ as _None_ and _No. of Antenna
Switch Control Pins_ as _0_
- _TI DRIVERS -> UART2 -> `PinMux`_: Set _UART Peripheral_ to _UART0_, _TX
Pin_ to _`DIO_13/19`_, and _RX Pin_ to _`DIO_12/18`_
- _TI DRIVERS APPS -> Button_: Set _`PinMux`_ of _CONFIG_BTN_LEFT_ to
_`DIO_15`_ and _CONFIG_BTN_RIGHT_ to _`DIO_14`_
- _TI DRIVERS APPS -> LED_: Set _`PinMux`_ of _CONFIG_LED_RED_ to _`DIO_6`_
and _CONFIG_LED_RIGHT_ to _`DIO_7`_
6. Save the SysConfig file (click on _Save As_) and ensure the file name matches
the reference from `BUILD.gn` (default project name is `chip.syscfg`).
7. Open the new SysConfig file with a text editor and remove the generated
arguments.
```
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "CC2674P10RGZ" --package "RGZ" --part "Default" --rtos "freertos" --product "simplelink_cc13xx_cc26xx_sdk@7.10.01.24"
* @versions {"tool":"1.18.0+3130"}
*/
```
8. Move the `*.syscfg` file into the
`matter/examples/[application]/cc13x4_26x4/` folder. Make sure that the
`args.gni` parameters are aligned for the `CC2674P10RGZ` as detailed above,
and build the example using the `README.md` instructions.
## Modifications required for the CC2674R10
After applying all items in the "Configuring `chip.syscfg` in the SysConfig GUI"
section, additional steps must also be applied to generate Matter project for
the CC2674R10.
- `examples/[application]/cc13x4_26x4/args.gni` should have
`ti_simplelink_board` as `CC2674` and `ti_simplelink_device = CC2674R10RGZ`.
- `examples/[application]/cc13x4_26x4/chip.syscfg` opened with a Text Editor
should change `ble.radioConfig.codeExportConfig.$name` to
`ti_devices_radioconfig_code_export_param2` and `ble.rfDesign` to
`LP_EM_CC1354P10_1`
Furthermore, the subsequent changes apply specifically for the CC2674R10 and
should be addressed from a SysConfig Editor.
1. Pins will need to be reconfigured as such:
| SysConfig pin name | R10 `PinMux` |
| ------------------ | ------------ |
| UART_RX | `DIO_2` |
| UART_TX | `DIO_3` |
| CONFIG_BTN_LEFT | `DIO_13` |
| CONFIG_BTN_RIGHT | `DIO_14` |
| CONFIG_LED_RED | `DIO_6` |
| CONFIG_LED_GREEN | `DIO_7` |
2. _Custom -> IEEE 802.15.4-2006, `250 kbps`, `OQPSK`, `DSSS = 1:8` -> Code
Export Configuration_, acknowledge and dismiss the PA radio setup error
3. _Custom -> IEEE 802.15.4-2006, `250 kbps`, `OQPSK`, `DSSS = 1:8` -> RF
Command Symbols_, change `CMD_RADIO_SETUP` from `RF_cmdRadioSetup` to
`RF_cmdIeeeRadioSetup` and add the following functions from the drop-down:
`CMD_TX_TEST`,`CMD_IEEE_ED_SCAN`, `CMD_IEEE_CSMA`, and `CMD_IEEE_RX_ACK`.
## Building examples for the CC1354P10-1
To migrate the CC1354P10-6 examples to the CC1354P10-1 platform, there are only
two steps:
1. `examples/[application]/cc13x4_26x4/args.gni` should have
`ti_simplelink_board` as `CC1354P10-1`
2. `examples/[application]/cc13x4_26x4/chip.syscfg` opened with a Text Editor
should change `ble.radioConfig.codeExportConfig.$name` to
`ti_devices_radioconfig_code_export_param2` and `ble.rfDesign` to
`LP_EM_CC1354P10_1`
After this, the example's `README.md` instructions can be followed to produce
the executable needed.