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

Add bare metal support to ARM_MPS2_Target family of targets #14300

Merged
merged 4 commits into from
Feb 22, 2021

Conversation

harmut01
Copy link
Contributor

Summary of changes

Modify ARM_MPS2_Target target configuration to include bare metal as a supported profile, and add list of supported standard libraries. Remove hard coded values from the scatter files so that they are consistent with other targets. Changes affect the following targets: ARM_MPS2_M0, ARM_MPS2_M0P, ARM_MPS2_M3, ARM_MPS2_M4, and ARM_MPS2_M7.

Impact of changes

None

Migration actions required

None

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

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Reviewers


@harmut01 harmut01 requested review from hugueskamba and a team February 18, 2021 09:43
@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Feb 18, 2021
@ciarmcom ciarmcom requested a review from a team February 18, 2021 10:00
@ciarmcom
Copy link
Member

@harmut01, thank you for your changes.
@ARMmbed/mbed-os-maintainers please review.

Copy link
Collaborator

@hugueskamba hugueskamba left a comment

Choose a reason for hiding this comment

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

My comments apply to all scatter files.

#define RAM_FIXED_SIZE (MBED_CONF_TARGET_BOOT_STACK_SIZE + VECTOR_SIZE)

#define MBED_RAM1_START (MBED_RAM_START + VECTOR_SIZE)
#define MBED_RAM1_SIZE (MBED_RAM_SIZE - VECTOR_SIZE)
Copy link
Collaborator

Choose a reason for hiding this comment

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

This does not match was there before as the size of :
RW_IRAM1 (0x20000000+0x100) (0x400000-0x100-Stack_Size) {

Now:
RW_IRAM1 MBED_RAM1_START MBED_RAM1_SIZE {

Should it be:
RW_IRAM1 MBED_RAM1_START (MBED_RAM1_SIZE-MBED_CONF_TARGET_BOOT_STACK_SIZE)

Is there a reason you changed it? Did you find it was incorrect? Can you double check with the MUSCA team?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a mistake, I was trying to preserve the hard coded values. What seems to have changed is that in the original MBED_RAM1_SIZE = MBED_RAM_SIZE - MBED_CONF_TARGET_BOOT_STACK_SIZE - VECTOR_SIZE (which is equal to what you've suggested), although I thought RAM1 includes the fixed boot stack.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Some boards have subtleties that are not always documented. So it is probably better to have a clear reason to change them if we are changing them.

Copy link
Collaborator

Choose a reason for hiding this comment

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

How is that region size calculated for the GCC_ARM toolchain linker file?

@harmut01
Copy link
Contributor Author

@hugueskamba I've made the requested changes, I'm still a little uncertain about the RAM1 size calculation but I think my modifications preserve the original hard coded values.

@mergify mergify bot added needs: CI and removed needs: review labels Feb 19, 2021
@ciarmcom
Copy link
Member

This pull request has automatically been marked as stale because it has had no recent activity. @ARMmbed/mbed-os-maintainers, please start CI to get the PR merged.

@ciarmcom ciarmcom added the stale Stale Pull Request label Feb 21, 2021
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 22, 2021

CI started

@mbed-ci
Copy link

mbed-ci commented Feb 22, 2021

Jenkins CI Test : ✔️ SUCCESS

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-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-greentea-ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️
jenkins-ci/mbed-os-ci_cmake-example-test ✔️

@0xc0170 0xc0170 merged commit 7369b63 into ARMmbed:master Feb 22, 2021
@mergify mergify bot removed the ready for merge label Feb 22, 2021
@harmut01 harmut01 deleted the baremetal_arm_ssg branch February 23, 2021 17:13
@mbedmain mbedmain added release-version: 6.9.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Mar 15, 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