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

Feature wisun #12774

Merged
merged 6 commits into from
Apr 15, 2020
Merged

Feature wisun #12774

merged 6 commits into from
Apr 15, 2020

Conversation

liugang-gavin
Copy link
Contributor

Summary of changes

targets:MIMXRT1050:
1. QSPI Flash boot support
2. QSPI Flash FLASHIAP support
3. Update link file for application and bootloader

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

[] 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


NXP MIMXRT1050 EVK can support Hyper Flash or QSPI Flash with
small hardware reworks. Modify the XIP file to support boot
from the two kinds of Flash device. The Hyper Flash should be
the default device and defined in tartgets.json with the macro
"HYPERFLASH_BOOT". To select the QSPI Flash, just remove the
macro with the below line in any overriding json file.
	"target.macros_remove" : ["HYPERFLASH_BOOT"]

Signed-off-by: Gavin Liu <gang.liu@nxp.com>
The flash access may fail when implementing flash
initialization. So there is risk for interrupt handler
which linked in flash space.

Add the critical section to avoid the risk.

Signed-off-by: Gavin Liu <gang.liu@nxp.com>
The memset function from c library will be linked in flash
space, it's risk for FLASHIAP. So I wrote flexspi_memset
to replace the memset for IMX FLASHIAP, and put the function
into targets/.../TARGET_IMX/flash_api.c file. All IMX Soc
platforms can declare it as extern and use in their Soc
flexspi driver files.

Signed-off-by: Gavin Liu <gang.liu@nxp.com>
Update the flash driver to support both Hyper Flash
and QSPI Flash.

In addition, the static function cannot be linked to
SRAM even defined by AT_QUICKACCESS_SECTION_CODE macro.
So remove all "static" modifier for the FLASHIAP
functions.

Signed-off-by: Gavin Liu <gang.liu@nxp.com>
For the application(firmware) booted by bootloader(OTA),
the image doesn't need the "flash_config" and "ivt" header.
So update the link file to support both kinds of application
(firmware) booted by bootROM and bootloader.

In default, the compilation will get the image with
"flash_config" and "ivt" header, for example the bootloader
compiling.

When compiling the OTA application image, please add the
line as below in the mbed_app.json file.

	"target.macros_add" : ["MBED_APP_COMPILE"]

This will remove the "flash_config" and "ivt" header in the
final image.

Signed-off-by: Gavin Liu <gang.liu@nxp.com>
Add LPSPI4 PIN configurations.

Signed-off-by: fred.li <fred.li@arm.com>
Signed-off-by: Gavin Liu <gang.liu@nxp.com>
@0xc0170
Copy link
Contributor

0xc0170 commented Apr 8, 2020

@artokin Please review

@liugang-gavin This is also targeting master, another PR, correct?

@0xc0170 0xc0170 requested a review from artokin April 8, 2020 10:41
@ciarmcom ciarmcom requested a review from a team April 8, 2020 11:00
@ciarmcom
Copy link
Member

ciarmcom commented Apr 8, 2020

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

@liugang-gavin
Copy link
Contributor Author

@0xc0170 yes, there is another PR for master. #12711
@fredlee12001 told me the patches should also be applied in this branch for customer.

@artokin artokin requested review from a team and teetak01 April 14, 2020 06:23
Copy link
Contributor

@artokin artokin left a comment

Choose a reason for hiding this comment

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

LGTM.
Added @ARMmbed/mbed-os-mesh and @teetak01 to be notified.

@mergify mergify bot added needs: CI and removed needs: review labels Apr 14, 2020
@0xc0170
Copy link
Contributor

0xc0170 commented Apr 15, 2020

CI started

@mbed-ci
Copy link

mbed-ci commented Apr 15, 2020

Test run: SUCCESS

Summary: 10 of 10 test jobs passed
Build number : 1
Build artifacts

@0xc0170
Copy link
Contributor

0xc0170 commented Apr 15, 2020

@artokin please merge

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.

None yet

6 participants