-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TI] implement CC13X2 CC26X2 OTA feature with ext flash #14441
Conversation
PR #14441: Size comparison from 39115b9 to ca995b0 Increases above 0.2%:
Increases (10 builds for cyw30739, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (6 builds for efr32, mbed, p6, qpg)
Full report (31 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #14441: Size comparison from 39115b9 to 837dfff Increases above 0.2%:
Increases (9 builds for cyw30739, esp32, k32w, linux, mbed, p6, qpg, telink)
Decreases (7 builds for efr32, esp32, mbed, p6, qpg)
Full report (23 builds for cyw30739, efr32, esp32, k32w, linux, mbed, p6, qpg, telink)
|
PR #14441: Size comparison from 39115b9 to d6fc75f Increases above 0.2%:
Increases (11 builds for cyw30739, k32w, linux, qpg, telink)
Decreases (5 builds for efr32, linux, qpg)
Full report (22 builds for cyw30739, efr32, k32w, linux, qpg, telink)
|
I'd be willing to add this, but I'm not quite sure where to do it. The only reference I can find is the Linux implementation, and I'm not sure how that can be applied here. The values in the configuration manager will be preserved across the reset and subsequent image update. That means the device can connect back to the Thread network and will have the Fabric info, but the OTA requestor does not seem to persist any of the OTA data. Specifically the provider node and endpoint id and the version sent with the OTA protocol is not persisted through the configuration manager. This seems like a pretty common case for embedded devices that have to reset to apply new firmware or even non-embedded devices that would want to restart their daemon processes to apply an update. There might be a cleaner way to implement this within the OTA requestor itself, but again I'm not sure where the best place would be. |
Yeah, the Linux OTA Requestor does not persist any data as of yet.
I am currently working on supporting DefaultOTAProviders attribute. This attribute will contain provider node ID, fabric index, and endpoint. Once this attribute has been supported, we will add persisting that attribute. With that said, software version should still come from Configuration Manager but for Linux, this is not something that can be set (in Configuration Manager). I'll let @shubhamdp comment on how ESP32 plans on updating software version.
|
@srickardti, AFAIK, Configuration manger reads software version by reading CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION macro. Basically you'll need a way to define this macro. In PR #14693 I have tried making the software version configurable, which can be set from application. |
@srickardti - are you pushing this PR forward ? We're looking to add OTA to our lock-app example as well, and this PR already contains the common changes.
|
@tima-q I'm just keeping this PR up-to-date with the mainline, waiting for 3 reviewers to get it pulled in |
PR #14441: Size comparison from 26fa3fa to 6a9ca35 Increases above 0.2%:
Increases (38 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (10 builds for esp32, linux, mbed, p6, qpg, telink)
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
Fast tracking, this has been in review for a long time. |
/rebase |
* add OTA clusters to doorlock example * Implement OTA platform code for cc13x2x7_26x2x7 * update cc13x2x7_26x2x7 doorlock example to initialize the OTA driver * update cc13x2x7_26x2x7 applications to an OTA enabled linkerscript * create merge tool for the OTA image and the BIM pre-built hexfile
PR #14441: Size comparison from 2f785f4 to 07e6fac Increases above 0.2%:
Increases (7 builds for cyw30739, k32w, mbed, nrfconnect, p6, qpg)
Decreases (1 build for qpg)
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
Problem
Change overview
NOTE: Further documentation of OTA process with the TI hardware is required.
Testing
chip-tool