Skip to content

Add bootloader support for Cypress PSA boards #10055

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

Conversation

yossi2le
Copy link
Contributor

@yossi2le yossi2le commented Mar 12, 2019

Description

This PR adds bootloader support for the CY8CKIT_062_WIFI_BT_PSA and CY8CKIT_062_BLE boards in mbed-os.

This PR now depends on PR #10034 - V

Pull request type

[ ] Fix
[ ] Refactor
[x] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

Release Notes

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 12, 2019

Release target?

I dont think this is functionality change, rather target update?

@cmonr
Copy link
Contributor

cmonr commented Mar 12, 2019

Took a 10s lookover.

All of the files are PSOC-specific, thus this qualifies as a target update (aka, can come into a patch).

Release label udpated.

@amiraloosh
Copy link

This is required for the 5.12 release for the PSA support on the cypress board. can we target this to RC3 ?

@0xc0170 0xc0170 changed the title Mbed-os changes to support Cypress PSA boards bootloader. Add bootloader support for Cypress PSA boards Mar 12, 2019
@0xc0170
Copy link
Contributor

0xc0170 commented Mar 12, 2019

Fixed the title

@yossi2le yossi2le force-pushed the cypress-psa-and-future-sequana-bl-support branch from d90defd to 7156568 Compare March 12, 2019 15:01
@yossi2le
Copy link
Contributor Author

I have added another 2 linker script for the CY8CKIT_062_WIFI_BT_PSA target. Those two works great with default values but needed a fix for nondefault values.

@0xc0170 0xc0170 requested a review from a team March 13, 2019 10:37
Copy link
Contributor

@orenc17 orenc17 left a comment

Choose a reason for hiding this comment

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

Please add remarks in linker script for MBED_APP_START & MBED_APP_SIZE.
@ARMmbed/team-cypress please review changes in:

  • gpio_api.c,
  • serial_api.c
  • post-binary hook

Everything else looks OK

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 13, 2019

@orenc17 Does this need an additional review after recent changes?

@orenc17
Copy link
Contributor

orenc17 commented Mar 13, 2019

No...just from Cypress

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 13, 2019

CI started while waiting for final reviews

@mbed-ci
Copy link

mbed-ci commented Mar 13, 2019

Test run: FAILED

Summary: 1 of 13 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_greentea-test

@csd-cypress
Copy link

Hi,
We are not aware of this, and we are pursuing similar goals inside Cypress to enable bootloader support. As a first step do you have any design description so that we can compare your goals and approach to ours?

@orenc17
Copy link
Contributor

orenc17 commented Mar 13, 2019

@ARMmbed/mbed-os-maintainers the failure seems to be related to SD, maybe a faulty SD card, could you run it again

@orenc17
Copy link
Contributor

orenc17 commented Mar 13, 2019

@csd-cypress this is the inital support for pelion bootloader, to allow FW upgrade for the application core.
your HW bootloader will be integrated in the near future.

"name": "bootloader_CY8CKIT_062_BLE",
"target_overrides": {
"*": {
"target.app_offset": "0x0A400",
Copy link
Contributor

Choose a reason for hiding this comment

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

Why these target attributes are added to mbed_lib.json instead of top-level targets.json?

Copy link
Contributor

Choose a reason for hiding this comment

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

this is a bootloader property.
if a user decide not to use bootloader we don't need this config

@@ -0,0 +1,49 @@
Permissive Binary License
Copy link
Contributor

Choose a reason for hiding this comment

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

Why the LICENSE is added to top-level target directory? The PBL only applies to the hex files, not .c/.h sources.
Can you move the hex files to device/hex, together with existing hex files covered by binary license?

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry I just figured out this is features/FEATURE_BOOTLOADER/targets/TARGET_Cypress, not targets/TARGET_Cypress.

@csd-cypress
Copy link

csd-cypress commented Mar 13, 2019

@csd-cypress this is the inital support for pelion bootloader, to allow FW upgrade for the application core.
your HW bootloader will be integrated in the near future.

ok understood, it will still be good to understand more about the pelion bootloader so that we can integrate it to our bootloader effort. Is it mcuboot based? Do you expect it to come after/before/in-replacement of our bootloader? How will it integrate verification of signed images with the PSoC64 root-of-trust?
Also when you say HW bootloader will be integrated in the near future - which HW bootloader and integrated by whom?

@cmonr cmonr removed the needs: CI label Mar 13, 2019
@yossi2le yossi2le force-pushed the cypress-psa-and-future-sequana-bl-support branch from c76a2e0 to eae884d Compare March 14, 2019 10:32
@yossi2le
Copy link
Contributor Author

yossi2le commented Mar 14, 2019

Important update: After the last update, this PR now depends on PR #10034

@yossi2le yossi2le force-pushed the cypress-psa-and-future-sequana-bl-support branch from 266ac1f to e7d6d7a Compare March 14, 2019 12:05
@yossi2le yossi2le force-pushed the cypress-psa-and-future-sequana-bl-support branch from e7d6d7a to 0880f90 Compare March 14, 2019 12:27
@yossi2le
Copy link
Contributor Author

Rebase on top of master with all preceding PRs merged.
Please start CI

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 14, 2019

CI started

@yossi2le
Copy link
Contributor Author

@csd-cypress this is the inital support for pelion bootloader, to allow FW upgrade for the application core.
your HW bootloader will be integrated in the near future.

ok understood, it will still be good to understand more about the pelion bootloader so that we can integrate it to our bootloader effort. Is it mcuboot based? Do you expect it to come after/before/in-replacement of our bootloader? How will it integrate verification of signed images with the PSoC64 root-of-trust?
Also when you say HW bootloader will be integrated in the near future - which HW bootloader and integrated by whom?

You can find our bootloader sources and some docs at https://github.com/ARMmbed/mbed-bootloader-internal

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 14, 2019

@yossi2le Above url is internal, not available publicly

@yossi2le
Copy link
Contributor Author

@yossi2le Above url is internal, not available publicly

I didn't know that. do we have a link for a bootloader external? otherwise, I should delete my replay.

@mbed-ci
Copy link

mbed-ci commented Mar 14, 2019

Test run: SUCCESS

Summary: 13 of 13 test jobs passed
Build number : 2
Build artifacts

@cmonr cmonr merged commit 529aef9 into ARMmbed:master Mar 14, 2019
@cmonr cmonr removed the needs: CI label Mar 14, 2019
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.

8 participants