Skip to content
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

Cherry-pick [K32W0] Add platform changes and features (#22896) #22984

Merged
merged 1 commit into from
Sep 30, 2022

Conversation

andrei-menzopol
Copy link
Contributor

@andrei-menzopol andrei-menzopol commented Sep 30, 2022

Cherry-pick commit ea419a / #22896 from master to v1.0 branch.

* [K32W0] Add platform changes and features

* Add SVE2 fixes and other changes and features

* Add support for custom certificate policy.
* Certificate declaration: set certificate_type to 1
* Add new demo certificates
* Add demo certificates allowing testing with two different DUTs

* Add custom lighting app ZAP file - e.g.: removed generic and not needed clusters
  like the ones required for Ethernet/WiFi; removed the optional clusters for an
  On/Off Device Type;

* Add ksdk_mbedlts.c such that we redirect all the AES calls through SecLib.c

* Add TestEventTrigger Support

* Add functionality for ResetWatermarks()

* Add callback for PDM logs

* Fix NotifyUpdateApplied - message that is sent when booting for the first time
  with an OTA image was not being send due to a bug in the PDM read function:
  ReadConfigValue(...);
* Add delay when rebooting after OTA finishes
* Improve OTA mechanism

* Remove third parameter of ReadConfigValue() and use a TValue& parameter which can
  be used for extracting the value length

* Consume faster the RX buffer
* RX buffer should be processed with high priority because:
  * 15.4 packets are consumed on Thread task;
  * Thread task has a higher priority than the Matter one (3 > 2)

* Fix Low Power
  * fix 15.4 warm-up time: before this commit calibration time also
    included the time required for attaching to the Thread network
    This led to a large warm-up value that blocked some 15.4 operations
    Fix this by including in the warm-up time only the 15.4 radio
    initialization time
  * fix the warm-up initial value to avoid any conflicts
  * fix possible overflow in reading timestamp values
  * Make sure that all the logs are disabled when an application is compiled with low-power
	support; logging can interference with LP timings and break functionality;

* Fix time support for Matter
  * using FreeRTOS timers (based on FreeRTOS tickets) is inaccurate and leads to time drifting
  * use OT Timers API  (Wtimer-based) for getting us/ms timestamps

* Fix ExtractPubkeyFromX509Cert in CHIPCryptoPALTinyCrypt.cpp

* Fix BLE advertising interval + issue warning if the peer doesn't support 2Mbps

* Fix Diagnostic Data Provider

* Fix OnOff attribute persistence over hw reset

* Fix compilation issue for lock-app

* Disable by default on lighting-app BLE Set Phy Req to 2M to be extra cautious during interops

* Update readme files

Signed-off-by: Doru Gucea <[email protected]>
Signed-off-by: Marius Tache <[email protected]>
Signed-off-by: Andrei Menzopol <[email protected]>

* Fix gn includes, spelling, wordlist

Signed-off-by: Andrei Menzopol <[email protected]>

* Update ot-nxp submodule

Signed-off-by: Andrei Menzopol <[email protected]>

* Fix gn includes, exclude certs from restyle, fix messaging readme

Signed-off-by: Andrei Menzopol <[email protected]>

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* Restyled by prettier-markdown

* Restyled by shellharden

* Restyled by shfmt

* Restyled by autopep8

* Fix low-power build

Signed-off-by: Marius Tache <[email protected]>
Signed-off-by: Andrei Menzopol <[email protected]>

* Restyled by clang-format

* Fix SecLib compile issue

Signed-off-by: Andrei Menzopol <[email protected]>

* Restyled by clang-format

* Update worflows K32W0 examples yaml

Signed-off-by: Andrei Menzopol <[email protected]>

* Update docker version, expected gn gen

Signed-off-by: Andrei Menzopol <[email protected]>

* Hotfix nxp shell build

Signed-off-by: Andrei Menzopol <[email protected]>

Signed-off-by: Doru Gucea <[email protected]>
Signed-off-by: Marius Tache <[email protected]>
Signed-off-by: Andrei Menzopol <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
@github-actions
Copy link

github-actions bot commented Sep 30, 2022

PR #22984: Size comparison from 6c34fa8 to 8ce4858

Increases above 0.2%:

platform target config section 6c34fa8 8ce4858 change % change
k32w light k32w0+release .bss 70712 74816 4104 5.8
lock k32w0+release .bss 71160 75600 4440 6.2
Increases (4 builds for bl602, k32w, psoc6)
platform target config section 6c34fa8 8ce4858 change % change
bl602 lighting-app bl602+rpc .text 1099618 1099620 2 0.0
k32w light k32w0+release .bss 70712 74816 4104 5.8
lock k32w0+release .bss 71160 75600 4440 6.2
.data 2076 2080 4 0.2
psoc6 all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26553685 2655368 1 0.0
Decreases (9 builds for bl702, esp32, k32w, nrfconnect, psoc6, telink)
platform target config section 6c34fa8 8ce4858 change % change
bl702 lighting-app bl702 .debug_info 37897264 37897263 -1 -0.0
.text 957088 957086 -2 -0.0
esp32 all-clusters-app c3devkit (read only) 1222982 1222980 -2 -0.0
(read/write) 1788118 1788110 -8 -0.0
.flash.rodata 257688 257680 -8 -0.0
.flash.text 1222982 1222980 -2 -0.0
m5stack (read/write) 564012 564004 -8 -0.0
.flash.rodata 314744 314736 -8 -0.0
k32w light k32w0+release (read/write) 649884 641400 -8484 -1.3
.data 2068 2064 -4 -0.2
.text 574376 561792 -12584 -2.2
lock k32w0+release (read/write) 706840 635512 -71328 -10.1
.text 630876 555104 -75772 -12.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 815276 815272 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 text 803144 803140 -4 -0.0
psoc6 lock cy8ckit_062s2_43012 .debug_info 22397201 22397200 -1 -0.0
telink lighting-app tlsr9518adk80d text 592794 592792 -2 -0.0
Full report (37 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 6c34fa8 8ce4858 change % change
bl602 lighting-app bl602 (read/write) 1388502 1388502 0 0.0
.bss 90529 90529 0 0.0
.data 9936 9936 0 0.0
.text 1068270 1068270 0 0.0
bl602+rpc (read/write) 1433722 1433722 0 0.0
.bss 97961 97961 0 0.0
.data 10320 10320 0 0.0
.text 1099618 1099620 2 0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1188491 1188491 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67006 67006 0 0.0
.bss_psram 29696 29696 0 0.0
.comment 48 48 0 0.0
.data 4280 4280 0 0.0
.debug_abbrev 1506966 1506966 0 0.0
.debug_aranges 133152 133152 0 0.0
.debug_frame 486580 486580 0 0.0
.debug_info 37897264 37897263 -1 -0.0
.debug_line 5253527 5253527 0 0.0
.debug_loc 3362129 3362129 0 0.0
.debug_ranges 359808 359808 0 0.0
.debug_str 3456138 3456138 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116616 116616 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 565136 565136 0 0.0
.symtab 171840 171840 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
957088 957086 -2 -0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1284403 1284403 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75038 75038 0 0.0
.bss_psram 29936 29936 0 0.0
.comment 48 48 0 0.0
.data 4800 4800 0 0.0
.debug_abbrev 1644545 1644545 0 0.0
.debug_aranges 140656 140656 0 0.0
.debug_frame 511956 511956 0 0.0
.debug_info 41803880 41803880 0 0.0
.debug_line 5628062 5628062 0 0.0
.debug_loc 3554748 3554748 0 0.0
.debug_ranges 382264 382264 0 0.0
.debug_str 3852105 3852105 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 130008 130008 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 624309 624309 0 0.0
.symtab 189648 189648 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1030794 1030794 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 676595 676595 0 0.0
(read/write) 174940 174940 0 0.0
.bss 81228 81228 0 0.0
.data 3380 3380 0 0.0
.rodata 89603 89603 0 0.0
.text 586680 586680 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 640835 640835 0 0.0
(read/write) 157996 157996 0 0.0
.bss 80500 80500 0 0.0
.data 3380 3380 0 0.0
.rodata 78739 78739 0 0.0
.text 561776 561776 0 0.0
lock-ftd LP_CC2652R7 (read only) 678119 678119 0 0.0
(read/write) 170584 170584 0 0.0
.bss 78484 78484 0 0.0
.data 3304 3304 0 0.0
.rodata 77287 77287 0 0.0
.text 600352 600352 0 0.0
lock-mtd LP_CC2652R7 (read only) 661947 661947 0 0.0
(read/write) 182444 182444 0 0.0
.bss 74172 74172 0 0.0
.data 3304 3304 0 0.0
.rodata 103123 103123 0 0.0
.text 558344 558344 0 0.0
pump-app LP_CC2652R7 (read only) 687275 687275 0 0.0
(read/write) 162132 162132 0 0.0
.bss 78420 78420 0 0.0
.data 3296 3296 0 0.0
.rodata 90507 90507 0 0.0
.text 596284 596284 0 0.0
pump-controller-app LP_CC2652R7 (read only) 671783 671783 0 0.0
(read/write) 177736 177736 0 0.0
.bss 78532 78532 0 0.0
.data 3292 3292 0 0.0
.rodata 86063 86063 0 0.0
.text 585240 585240 0 0.0
shell LP_CC2652R7 (read only) 667614 667614 0 0.0
(read/write) 186232 186232 0 0.0
.bss 83540 83540 0 0.0
.data 3376 3376 0 0.0
.rodata 86318 86318 0 0.0
.text 580980 580980 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 587322 587322 0 0.0
.app_xip_area 463980 463980 0 0.0
.bss 65776 65776 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 594394 594394 0 0.0
.app_xip_area 465724 465724 0 0.0
.bss 71096 71096 0 0.0
.data 752 752 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 543322 543322 0 0.0
.app_xip_area 425004 425004 0 0.0
.bss 60784 60784 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1110320 1110320 0 0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 971896 971896 0 0.0
BRD4161A+rpc (read/write) 973444 973444 0 0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 820328 820328 0 0.0
BRD4161A+rs911x (read/write) 1003584 1003584 0 0.0
.bss 169168 169168 0 0.0
.data 2064 2064 0 0.0
.text 832332 832332 0 0.0
lock-app BRD4161A+wf200 (read/write) 1151308 1151308 0 0.0
.bss 152248 152248 0 0.0
.data 2072 2072 0 0.0
.text 996968 996968 0 0.0
window-app BRD4161A (read/write) 1102368 1102368 0 0.0
.bss 137780 137780 0 0.0
.data 2096 2096 0 0.0
.text 962472 962472 0 0.0
esp32 all-clusters-app c3devkit (read only) 1222982 1222980 -2 -0.0
(read/write) 1788118 1788110 -8 -0.0
.dram0.bss 76944 76944 0 0.0
.dram0.data 13840 13840 0 0.0
.flash.rodata 257688 257680 -8 -0.0
.flash.text 1222982 1222980 -2 -0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1233031 1233031 0 0.0
(read/write) 564012 564004 -8 -0.0
.dram0.bss 82304 82304 0 0.0
.dram0.data 34296 34296 0 0.0
.flash.rodata 314744 314736 -8 -0.0
.flash.text 1227647 1227647 0 0.0
.iram0.text 123939 123939 0 0.0
k32w light k32w0+release (read/write) 649884 641400 -8484 -1.3
.bss 70712 74816 4104 5.8
.data 2068 2064 -4 -0.2
.text 574376 561792 -12584 -2.2
lock k32w0+release (read/write) 706840 635512 -71328 -10.1
.bss 71160 75600 4440 6.2
.data 2076 2080 4 0.2
.text 630876 555104 -75772 -12.0
linux chip-tool-ipv6only arm64 (read only) 10353684 10353684 0 0.0
(read/write) 706273 706273 0 0.0
.bss 33953 33953 0 0.0
.data 2864 2864 0 0.0
.data.rel.ro 650560 650560 0 0.0
.dynamic 560 560 0 0.0
.got 13912 13912 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 503860 503860 0 0.0
.text 8195828 8195828 0 0.0
thermostat-no-ble arm64 (read only) 2387436 2387436 0 0.0
(read/write) 143649 143649 0 0.0
.bss 55361 55361 0 0.0
.data 1912 1912 0 0.0
.data.rel.ro 77208 77208 0 0.0
.dynamic 560 560 0 0.0
.got 5192 5192 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 143652 143652 0 0.0
.text 2001472 2001472 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2455640 2455640 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1418284 1418284 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1182051 1182051 0 0.0
bss 143633 143633 0 0.0
rodata 144196 144196 0 0.0
text 815276 815272 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1160703 1160703 0 0.0
bss 142860 142860 0 0.0
rodata 135768 135768 0 0.0
text 803144 803140 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 0 0 0 0.0
(read only) 841968 841968 0 0.0
(read/write) 1743900 1743900 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188712 188712 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1229301 1229301 0 0.0
.debug_aranges 111800 111800 0 0.0
.debug_frame 373268 373268 0 0.0
.debug_info 26816903 26816903 0 0.0
.debug_line 3667914 3667914 0 0.0
.debug_loc 3580260 3580260 0 0.0
.debug_ranges 339928 339928 0 0.0
.debug_str 3439445 3439445 0 0.0
.heap 841968 841968 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 569356 569356 0 0.0
.symtab 421168 421168 0 0.0
.text 1544136 1544136 0 0.0
.zero.table 8 8 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 0 0 0 0.0
(read only) 842704 842704 0 0.0
(read/write) 1686508 1686508 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1221100 1221100 0 0.0
.debug_aranges 111272 111272 0 0.0
.debug_frame 376348 376348 0 0.0
.debug_info 26553685 2655368 1 0.0
.debug_line 3688630 3688630 0 0.0
.debug_loc 3567897 3567897 0 0.0
.debug_ranges 338544 338544 0 0.0
.debug_str 3428458 3428458 0 0.0
.heap 842704 842704 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 533445 533445 0 0.0
.symtab 407600 407600 0 0.0
.text 1487480 1487480 0 0.0
.zero.table 8 8 0 0.0
light cy8ckit_062s2_43012 0 0 0 0.0
(read only) 850896 850896 0 0.0
(read/write) 1605060 1605060 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179992 179992 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2456 0 0.0
.debug_abbrev 1055156 1055156 0 0.0
.debug_aranges 103480 103480 0 0.0
.debug_frame 346676 346676 0 0.0
.debug_info 22017881 22017881 0 0.0
.debug_line 3258550 3258550 0 0.0
.debug_loc 3266004 3266004 0 0.0
.debug_ranges 303872 303872 0 0.0
.debug_str 3233990 3233990 0 0.0
.heap 850896 850896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 469822 469822 0 0.0
.symtab 376048 376048 0 0.0
.text 1414224 1414224 0 0.0
.zero.table 8 8 0 0.0
lock cy8ckit_062s2_43012 0 0 0 0.0
(read only) 845864 845864 0 0.0
(read/write) 1642684 1642684 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185008 185008 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2472 2472 0 0.0
.debug_abbrev 1062575 1062575 0 0.0
.debug_aranges 104152 104152 0 0.0
.debug_frame 349500 349500 0 0.0
.debug_info 22397201 22397200 -1 -0.0
.debug_line 3267242 3267242 0 0.0
.debug_loc 3305832 3305832 0 0.0
.debug_ranges 307216 307216 0 0.0
.debug_str 3261445 3261445 0 0.0
.heap 845864 845864 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 476025 476025 0 0.0
.symtab 379232 379232 0 0.0
.text 1446816 1446816 0 0.0
.zero.table 8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1148584 1148584 0 0.0
.bss 110348 110348 0 0.0
.data 868 868 0 0.0
.text 595680 595680 0 0.0
lock-app qpg6105+debug (read/write) 1116488 1116488 0 0.0
.bss 106180 106180 0 0.0
.data 872 872 0 0.0
.text 563588 563588 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 813676 813676 0 0.0
bss 71372 71372 0 0.0
noinit 43488 43488 0 0.0
text 574574 574574 0 0.0
lighting-app tlsr9518adk80d (read/write) 835780 835780 0 0.0
bss 72228 72228 0 0.0
noinit 43488 43488 0 0.0
text 592794 592792 -2 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 843732 843732 0 0.0
bss 73136 73136 0 0.0
noinit 43488 43488 0 0.0
text 598976 598976 0 0.0

@andy31415 andy31415 merged commit 6ff45cf into project-chip:v1.0 Sep 30, 2022
@andrei-menzopol andrei-menzopol deleted the cp-k32w0-platform-changes branch October 6, 2022 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants