This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
We’ve migrated to a newer version of the TI-Matter repo and see that our previously extended lock-app not longer fits in memory. Using the older TI-Matter repo we were able to get things to fit by slightly reducing TOTAL_ICALL_HEAP_SIZE inside main.cpp, but that no longer appears to be an option for the newer TI-Matter tree as it is even more space constrained than the version we had previously been using. We have two questions:
1. Is TI still feeling confident that the CC2652R7 is a reasonable platform for delivering Matter accessories to market?
2. Is there an expectation that in the future the examples will start get smaller instead of continuing to get larger?
Machine: MacBook Pro
Chip: Quad-Core Intel Core i7
MacOS: Monterey 12.6.6
Repo setup.
$ mkdir ~/TI-Matter
$ git clone --recurse-submodules github.com/.../matter.git
$ cd ~/TI-Matter/matter
$ git submodule update --init
$ git status
On branch v1.0-ti-branch
Your branch is up-to-date with 'origin/v1.0-ti-branch'.
nothing to commit, working tree clean
$ git log -n 1
commit 8a3ca52165e54701bac483c37d83f6da79c63e16
Merge: ae743eb aad19cd
Author: adabreuti <76965454+adabreuti@users.noreply.github.com>
Date: Thu Apr 13 16:31:21 2023 -0500
Merge pull request #15 from adabreuti/v1.0.0.2-downstream
Update Lighting app PID
$ source scripts/activate.sh
$ source scripts/bootstrap.sh
$ cd ~/TI-Matter/matter/examples/lock-app/cc13x2x7_26x2x7
$ gn gen out/debug --args="ti_sysconfig_root=\"$HOME/ti/sysconfig_1.15.0\""
$ ninja -v -C out/debug
Link Failure (lock-app with extended with additional Vendor Logic).
FAILED: chip-LP_CC2652R7-lock-example.out chip-LP_CC2652R7-lock-example.out.map
arm-none-eabi-g++ -L../../third_party/connectedhomeip/third_party/ti_simplelink_sdk/repo_cc13xx_cc26xx/source gen/sysconfig/ti_utils_build_linker.cmd.genlibs -T../../third_party/connectedhomeip/src/platform/cc13xx_26xx/cc13x2_26x2/cc13x2x7_cc26x2x7_freertos_ota.lds -march=armv7e-m -mcpu=cortex-m4 -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Os --specs=nosys.specs --specs=nano.specs -Werror -Wl,--fatal-warnings -fdiagnostics-color -Wl,--gc-sections -nostartfiles -fno-exceptions -fno-unwind-tables -Wl,-Map,./chip-LP_CC2652R7-lock-example.out.map @./chip-LP_CC2652R7-lock-example.out.rsp -o ./chip-LP_CC2652R7-lock-example.out
/Users/Kranz/puzl/TI-Matter/matter/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld: section .nvs VMA [00000000000aa000,00000000000adfff] overlaps section .rodata VMA [000000000008fbb0,00000000000aac1e]
/Users/Kranz/puzl/TI-Matter/matter/.environment/cipd/packages/arm/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld: section .ARM.exidx VMA [00000000000ab8fc,00000000000ab903] overlaps section .nvs VMA [00000000000aa000,00000000000adfff]
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Thanks,
Steve K.
Hello Steve,
Thank you for reporting your findings. Can you please remind me whether you've disabled all logging from args.gni?
1. TI maintains that the CC2652R7 is reasonable for releasing lightweight Matter products, but does understand that additional development may require memory expansion through migration to the CC2674R10.
2. There are no current plans for further Matter stack size reduction/optimization and the environment could increase as more features/revisions are developed in accordance with CSA requirements.
Regards,
Ryan/
Hi Ryan,
I am using the default args.gni. I have not specifically disabled any logging but it looks like it might be disabled by default. Here is the version that I'm using:
$ cd ~/TI-Matter/matter/examples/lock-app/cc13x2x7_26x2x7
$ cat args.gni
# Copyright (c) 2020 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
#
# www.apache.org/.../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/chip.gni")
import("${chip_root}/config/standalone/args.gni")
import("${chip_root}/examples/platform/cc13x2_26x2/args.gni")
ti_simplelink_sdk_target = get_label_info(":sdk", "label_no_toolchain")
ti_simplelink_sysconfig_target =
get_label_info(":sysconfig", "label_no_toolchain")
ti_simplelink_board = "LP_CC2652R7"
# Size Optimizations
# use -Os instead of -Og, LWIP release build
optimize_debug_level = "s"
lwip_debug = false
chip_enable_ota_requestor = true
chip_openthread_ftd = false
openthread_external_platform = "${chip_root}/third_party/openthread/platforms/cc13x2_26x2:libopenthread-cc13x2_cc26x2"
# Disable CHIP Logging
#chip_progress_logging = false
chip_detail_logging = false
chip_automation_logging = false
# BLE options
chip_config_network_layer_ble = true
# Disable lock tracking, since our FreeRTOS configuration does not set
# INCLUDE_xSemaphoreGetMutexHolder
chip_stack_lock_tracking = "none"
matter_device_vid = "0xFFF1"
matter_device_pid = "0x8006"
matter_software_ver = "0x0001"
matter_software_ver_str = "1.0d1"
You can try setting chip_progress_logging to false but I am not confident that this will reduce the code size enough for your requirements.
Regards,
Ryan
Hi Ryan,
In a previous response you mentioned the CC2674R10. Two questions came to mind:
1. When does TI anticipate this will be available?
2 How much internal flash will it offer?
Thanks, Steve K.
The CC2674R10 will be available at the end of Q2 2023 and boasts 1 MB of flash memory.
Regards,
Ryan