Skip to content

Renesas : Improve Flash iap driver #8072

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 3 commits into from
Oct 8, 2018

Conversation

TomoYamanaka
Copy link
Contributor

@TomoYamanaka TomoYamanaka commented Sep 11, 2018

Description

I improved flash_api.c file of Renesas.

  • The buffer at flash write must be RAM address.
  • Shorten the interrupt disable period at flash write and flash erase.

Test result

NVStore and Flash iAP test result is here.
Test_GR-PEACH_GCC.txt
Test_GR-LYCHEE_GCC.txt

Pull request type

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

I changed _page_program() func because "buf" which is an argument of data_send() for writing must be a RAM address in order to operate in SPI mode.
(ex: if it is ROM table data, writing will be failure.)
Also, I changed the period of interrupt disable/enable at _page_program() func and _sector_erase() func because lock period is too long.
I addressed the cases Flash size is larger than 0x1000000.
@TomoYamanaka
Copy link
Contributor Author

TomoYamanaka commented Sep 20, 2018

I renamed the first commit and added new commit.

NVStore and Flash iAP test result is here.
Test_PEACH_GCC.txt
Test_LYCHEE_GCC.txt

Pelase review again.

@TomoYamanaka
Copy link
Contributor Author

Sorry to bother you again. I added a commit once more.
I'm appreciate if you can review.
NVStore and Flash iAP test result is here.
Test_PEACH_GCC.txt
Test_LYCHEE_GCC.txt

@cmonr
Copy link
Contributor

cmonr commented Sep 28, 2018

Interesting. @ARMmbed/mbed-os-storage Mind taking a look at the last commit? Should be a quick review.

Currently the return value of flash_get_page_size() is 1 since the min size per one writing is 1 byte by Flash spec.
However, I noticed that this value causes a enormous write time When writing large data such as FW update.
So I revised this value to 8 byte by considering the writing time, memory alignment and memory hole.
@TomoYamanaka
Copy link
Contributor Author

TomoYamanaka commented Sep 28, 2018

I modified my comment at the last commit.

@0xc0170
Copy link
Contributor

0xc0170 commented Oct 2, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Oct 2, 2018

Build : SUCCESS

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

Triggering tests

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

@mbed-ci
Copy link

mbed-ci commented Oct 2, 2018

@0xc0170
Copy link
Contributor

0xc0170 commented Oct 2, 2018

Exporters will be rerun once we find the rootcause for the failure (its affecting more PR so not related to this changeset only).

@mbed-ci
Copy link

mbed-ci commented Oct 2, 2018

Test : SUCCESS

Build number : 3010
Test logs :http://mbed-os-logs.s3-website-us-west-1.amazonaws.com/?prefix=logs/8072/3010

@NirSonnenschein
Copy link
Contributor

/morph export-build

@mbed-ci
Copy link

mbed-ci commented Oct 3, 2018

@NirSonnenschein
Copy link
Contributor

/morph export-build

@mbed-ci
Copy link

mbed-ci commented Oct 6, 2018

@cmonr cmonr merged commit f5cfdfa into ARMmbed:master Oct 8, 2018
@TomoYamanaka TomoYamanaka deleted the improve_flashiap branch October 9, 2018 02:00
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.

5 participants