Skip to content

File System Integration test fails on CY8CKIT_062_WIFI_BT #11451

@maclobdell

Description

@maclobdell

Description

Target: CY8CKIT-062-WIFI-BT (most likely other Cypress targets too)
Mbed OS branch: mbed-os-5.14
Toolchain: ARM compiler 6

Tests Command:

mbed test -n tests-integration-fs-single* -DINTEGRATION_TESTS -t ARM

Suspected Problem: The heap doesn't seem to be allocated correctly. Looking at the map file it is not filling the available memory like it should.

Result:

| target                    | platform_name       | test suite                      | result  | elapsed_time (sec) | copy_method |
|---------------------------|---------------------|---------------------------------|---------|--------------------|-------------|
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | TIMEOUT | 335.87             | default     |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-threaded   | TIMEOUT | 635.28             | default     |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-single    | OK      | 337.32             | default     |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-threaded  | OK      | 122.74             | default     |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | TIMEOUT | 788.71             | default     |
mbedgt: test suite results: 3 TIMEOUT / 2 OK
mbedgt: test case report:
| target                    | platform_name       | test suite                      | test case                               | passed | failed | result  | elapsed_time (sec) |
|---------------------------|---------------------|---------------------------------|-----------------------------------------|--------|--------|---------|--------------------|
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff     1            | 1      | 0      | OK      | 4.46               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff     4            | 0      | 0      | ERROR   | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff    16            | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff    64            | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff   256            | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff  1024            | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff  4096            | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS 1 file, buff 16384            | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-single     | QSPIF+LFS format                        | 1      | 0      | OK      | 1.42               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-threaded   | QSPIF+LFS 2 files, buff 4b/256b         | 0      | 0      | ERROR   | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-threaded   | QSPIF+LFS 3 files, buff 256b/1kb/4kb    | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-fs-threaded   | QSPIF+LFS format                        | 1      | 0      | OK      | 1.43               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-single    | WiFi   128 buffer                       | 1      | 0      | OK      | 97.68              |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-single    | WiFi   256 buffer                       | 1      | 0      | OK      | 49.75              |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-single    | WiFi  1024 buffer                       | 1      | 0      | OK      | 16.9               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-single    | WiFi  4096 buffer                       | 1      | 0      | OK      | 9.84               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-single    | WiFi network setup                      | 1      | 0      | OK      | 4.49               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-threaded  | WiFi 1 thread                           | 1      | 0      | OK      | 16.83              |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-threaded  | WiFi 2 threads                          | 1      | 0      | OK      | 33.41              |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-net-threaded  | WiFi network setup                      | 1      | 0      | OK      | 5.98               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | QSPIF+LFS format                        | 1      | 0      | OK      | 1.44               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | QSPIF+LFS+WiFi 1 thread, dl, file seq.  | 1      | 0      | OK      | 49.38              |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | QSPIF+LFS+WiFi 2 threads, dl, 1kb       | 0      | 0      | ERROR   | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | QSPIF+LFS+WiFi 3 threads, dl, 256b, 1kb | 0      | 0      | SKIPPED | 0.0                |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | Test memory allocation of 10 K bytes    | 1      | 0      | OK      | 0.06               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | Test memory allocation of 20 K bytes    | 1      | 0      | OK      | 0.07               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | Test memory allocation of 40 K bytes    | 1      | 0      | OK      | 0.14               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | Test memory allocation of 60 K bytes    | 1      | 0      | OK      | 0.06               |
| CY8CKIT_062_WIFI_BT-ARMC6 | CY8CKIT_062_WIFI_BT | tests-integration-stress-net-fs | WiFi network setup                      | 1      | 0      | OK      | 5.97               |
mbedgt: test case results: 18 OK / 3 ERROR / 8 SKIPPED

Details:
Other toolchains pass all tests.

Workaround / Solution:

If the following lines are removed from the startup file, then all tests pass. I suspect that these tests are allocating memory, but there is a new regression introduced in Mbed OS 5.14 for the Cypress targets that is preventing the heap from being allocated properly for Mbed OS.

\targets\TARGET_Cypress\TARGET_PSOC6\TARGET_CY8CKIT_062_WIFI_BT\device\TOOLCHAIN_ARM\startup_psoc6_01_cm4.S

; Heap Configuration
; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
;
IF :DEF:__HEAP_SIZE
Heap_Size EQU __HEAP_SIZE
ELSE
Heap_Size EQU 0x00000400
ENDIF
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit

cc @ARMmbed/team-cypress

Issue request type

[ ] Question
[ ] Enhancement
[ ] Bug

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions