-
Notifications
You must be signed in to change notification settings - Fork 3k
Feature wisun #12774
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
Conversation
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Add LPSPI4 PIN configurations. Signed-off-by: fred.li <[email protected]> Signed-off-by: Gavin Liu <[email protected]>
@artokin Please review @liugang-gavin This is also targeting master, another PR, correct? |
@liugang-gavin, thank you for your changes. |
@0xc0170 yes, there is another PR for master. #12711 |
There was a problem hiding this 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.
CI started |
Test run: SUCCESSSummary: 10 of 10 test jobs passed |
@artokin please merge |
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
Test results
Reviewers