-
Notifications
You must be signed in to change notification settings - Fork 3k
Support arbitrary storage alongside WiFi firmware in external storage on Cypress targets #14063
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
Support arbitrary storage alongside WiFi firmware in external storage on Cypress targets #14063
Conversation
In some toolchains, in order to use linker symbols referring to the start and end of a region, the region name must not contain a '.' character. These changes allow those symbols to be used for the cy_xip region by renaming it. They also create explicit start and end symbols for GCC.
Given an underlying block device and the size of the reserved region, a CyReservedRegionBlockDevice will act as the underlying block device but operating only outside of the reserved region. It also allows reading from the reserved region. The reserved region is assumed to start at address 0 in the underlying block device.
…Cypress WiFi firmware in external memory This change allows external memory to be used for other purposes while the WiFi firmware is stored in it by interacting with it via the reserved region block device.
…Fi firmware Targets that inherit from this target will have the defines necessary to place the WiFi firmware in external storage and enable use of the external WiFi firmware reserved region block device. Currently, the only target inheriting from this new target is CY8CPROTO-062S3-4343W.
@dustin-crossman, thank you for your changes. |
targets/TARGET_Cypress/TARGET_PSOC6/common/ext-wifi-fw/cy_ext_wifi_fw_resources.c
Outdated
Show resolved
Hide resolved
targets/TARGET_Cypress/TARGET_PSOC6/common/reserved-region-bd/CyReservedRegionBlockDevice.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the suggestion, the code change looks fine but the test failures should be investigated and fixed. Do you have an update on:
- storage-blockdevice-tests-tests-blockdevice-general_block_device on multiple boards: Fails on master.
- connectivity-netsocket-tests-tests-network-wifi on CY8CKIT-062S2-43012: Intermittent failure. Passes when run manually.
targets/TARGET_Cypress/TARGET_PSOC6/common/reserved-region-bd/CyReservedRegionBlockDevice.cpp
Outdated
Show resolved
Hide resolved
@evedon The wifi test failure is, I believe, just due to some reliability issues in our test setup. As for the general_block_device fail I don't have any updates but we will definitely look into it and address in the future. |
It would be better to fix the general_block_device issue now. Can you turn on verbosity to show what the error is? |
@evedon I'm working on the fix for the general_block_device now. |
@evedon general_block_device test issues fixed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! Thanks
CI started |
Jenkins CI Test : ❌ FAILEDBuild Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
@0xc0170, I can't find the failure log for the greentea-test. When I follow the "Logs & Artifacts" link and drill down to greentea-test, I find a directory which only has PASS logs: http://mbed-os-ci-public.s3-website-eu-west-1.amazonaws.com/?prefix=jenkins-ci/ARMmbed/mbed-os/mbed-os-ci/PR-14063/artifacts/14063/1/greentea-test/4938/ Can you provide the appropriate logs? Thanks, Ian |
Networking issue, I am restarting CI now |
Jenkins CI Test : ✔️ SUCCESSBuild Number: 3 | 🔒 Jenkins CI Job | 🌐 Logs & ArtifactsCLICK for Detailed Summary
|
Summary of changes
This change allows for the remainder of external storage to be used for other purposes when the Cypress WiFi firmware is stored in part of it.
This contains the same changes as #13436 and has been rebased and updated to the current master.
Note: This PR has been tested with the changes from, and is dependent on: #14062
Impact of changes
Migration actions required
Documentation
None
Pull request type
Test results
GT_FT_P6S1_43438EVB_01_GCC_NET.txt
GT_FT_PROTO_062_4343W_GCC.txt
GT_FT_PROTO_062S3_4343W.txt
GT_FT_PROTO_062S3_4343W_GCC_NET.txt
GT-FT-KIT_062_WIFI_BT-GCC-NET.txt
GT-FT-KIT-062S2-43012-GCC-NET.txt
GT-FT-PROT-062-4343W-GCC-NET.txt
GT_FT_KIT_062_BLE_GCC.txt
GT_FT_KIT_062_WIFI_BT_GCC.txt
GT_FT_KIT_062S2_43012_GCC.txt
GT_FT_P6S1_43012EVB_01_GCC.txt
GT_FT_P6S1_43012EVB_01_GCC_NET.txt
GT_FT_P6S1_43438EVB_01_GCC.txt
Test Failures and Explanations:
Reviewers