Skip to content

Fix flash_program_page API in LPC boards. #7128

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 1 commit into from
Jun 15, 2018

Conversation

davidsaada
Copy link
Contributor

Description

This PR fixes the flash_program_page API in LPC boards.
This API allocates a program buffer of 256 on the stack to ensure alignment.
However, FlashIAP driver already ensures this alignment of the user data, so this allocation is redundant.

Pull request type

[x] Fix
[ ] Refactor
[ ] New target
[ ] Feature
[ ] Breaking change

0xc0170
0xc0170 previously approved these changes Jun 5, 2018
@0xc0170 0xc0170 requested a review from a team June 5, 2018 19:51
mmahadevan108
mmahadevan108 previously approved these changes Jun 6, 2018
Copy link
Contributor

@mmahadevan108 mmahadevan108 left a comment

Choose a reason for hiding this comment

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

Agree. This operation is redundant as a check is present in the driver to ensure address is page aligned.

@0xc0170
Copy link
Contributor

0xc0170 commented Jun 11, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Jun 11, 2018

Build : SUCCESS

Build number : 2320
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/7128/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci
Copy link

mbed-ci commented Jun 11, 2018

@mbed-ci
Copy link

mbed-ci commented Jun 12, 2018

This API allocates a program buffer of 256 on the stack to ensure alignment.
However, FlashIAP driver already ensures this alignment of the user data.
@davidsaada davidsaada dismissed stale reviews from mmahadevan108 and 0xc0170 via 9e5efbc June 12, 2018 12:09
@davidsaada davidsaada force-pushed the david_lpc_flash_api_fix branch from 9950a2f to 9e5efbc Compare June 12, 2018 12:09
@0xc0170
Copy link
Contributor

0xc0170 commented Jun 12, 2018

@davidsaada The latest commit fixes the test failure (helps if you comment on any change in the PR to provide actual status)

@davidsaada
Copy link
Contributor Author

(@0xc0170 was just about to - you beat me up to it...)
Removed a test checking that programming succeeds if buffer is unaligned in the hal level, which is just what this fix changes.

Copy link
Contributor

@0xc0170 0xc0170 left a comment

Choose a reason for hiding this comment

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

Just to confirm - the headline is for LPC fix but I can see functional test case removal - is this because test is actually always passed or ?

@davidsaada
Copy link
Contributor Author

Just to confirm - the headline is for LPC fix but I can see functional test case removal - is this because test is actually always passed or ?

It is because FlashIAP makes sure that user data is aligned, no need to take care of it in HAL layer (which is what the test checked). LPC allocated a lot of stack for this purpose (keeping user data aligned at HAL layer), which is exactly what this PR fixed.

@0xc0170
Copy link
Contributor

0xc0170 commented Jun 14, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Jun 14, 2018

Build : SUCCESS

Build number : 2352
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/7128/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci
Copy link

mbed-ci commented Jun 14, 2018

@mbed-ci
Copy link

mbed-ci commented Jun 15, 2018

@adbridge adbridge merged commit 245a9aa into ARMmbed:master Jun 15, 2018
@davidsaada davidsaada deleted the david_lpc_flash_api_fix branch July 9, 2018 13:12
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.

6 participants