Skip to content

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

Merged
merged 8 commits into from
Jan 20, 2021

Conversation

dustin-crossman
Copy link
Contributor

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

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

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:

  • connectivity-feature_ble-source-cordio-tests-cordio_hci-driver on multiple boards: Known failure. Fixed in PR: ble cyw43xxx: dev/hci driver terminate #14009
  • storage-blockdevice-tests-tests-blockdevice-general_block_device on multiple boards: Fails on master. Will investigate.
  • connectivity-netsocket-tests-tests-network-wifi on CY8CKIT-062S2-43012: Intermittent failure. Passes when run manually.
[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Reviewers


Matthew Macovsky added 4 commits December 16, 2020 15:30
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.
@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Dec 17, 2020
@ciarmcom
Copy link
Member

@dustin-crossman, thank you for your changes.
@ARMmbed/team-cypress @ARMmbed/mbed-os-connectivity @ARMmbed/mbed-os-core @ARMmbed/mbed-os-maintainers please review.

@ciarmcom ciarmcom requested review from a team December 17, 2020 01:00
@evedon evedon requested review from evedon and removed request for a team December 17, 2020 15:05
0xc0170
0xc0170 previously requested changes Jan 5, 2021
Copy link
Contributor

@evedon evedon left a 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.

@mergify mergify bot dismissed 0xc0170’s stale review January 5, 2021 21:52

Pull request has been modified.

@dustin-crossman
Copy link
Contributor Author

@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.

@evedon
Copy link
Contributor

evedon commented Jan 8, 2021

@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?

@dustin-crossman
Copy link
Contributor Author

@evedon I'm working on the fix for the general_block_device now.

@dustin-crossman
Copy link
Contributor Author

@evedon general_block_device test issues fixed!

Copy link
Contributor

@evedon evedon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! Thanks

@mergify mergify bot added needs: CI and removed needs: work labels Jan 15, 2021
@0xc0170
Copy link
Contributor

0xc0170 commented Jan 15, 2021

CI started

@mbed-ci
Copy link

mbed-ci commented Jan 15, 2021

Jenkins CI Test : ❌ FAILED

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_cmake-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-test ✔️
jenkins-ci/mbed-os-ci_greentea-test

@ifyall
Copy link

ifyall commented Jan 15, 2021

@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

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 18, 2021

Networking issue, I am restarting CI now

@mbed-ci
Copy link

mbed-ci commented Jan 19, 2021

Jenkins CI Test : ✔️ SUCCESS

Build Number: 3 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_build-greentea-ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-test ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️

@0xc0170 0xc0170 merged commit 8effecd into ARMmbed:master Jan 20, 2021
@mergify mergify bot removed the ready for merge label Jan 20, 2021
@mbedmain mbedmain added release-version: 6.7.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Jan 25, 2021
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.

7 participants