-
Notifications
You must be signed in to change notification settings - Fork 27
Refactor MIMXRT105x target labels and linker script, locate general data in DTCM memory instead of OCRAM for improved performance #157
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
Conversation
…ata in DTCM memory instead of OCRAM for improved performance
| @@ -34,7 +34,6 @@ target_include_directories(mbed-mimxrt1060-evk | |||
|
|
|||
| target_sources(mbed-mimxrt1060-evk | |||
| INTERFACE | |||
| fsl_phy.c | |||
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.
Fixes compile error for MIMXRT1060_EVK, whoops
| ${JLINK_SELECT_ARG} | ||
| ${JLINK_NOGUI_ARG} | ||
| -Device ${JLINK_CPU_NAME} | ||
| -Device \"${JLINK_CPU_NAME}\" |
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.
Fixes a bug where the loader selection arg to J-Link was missing quotes so it didn't work
| # Escape quotes and ampersands | ||
| string(REPLACE "\"" """ ELEMENT "${ELEMENT}") | ||
| string(REPLACE "&" "&" ELEMENT "${ELEMENT}") | ||
| string(REPLACE "\"" """ ELEMENT "${ELEMENT}") |
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.
Moved this to fix a bug where quote characters would get turned into """, because it replaced the ampersand after escaping the quote X_X
|
@wwatson4506 this look OK? |
|
MIMXRT1060_EVK can never pass the pin validation checks due to how the dev board is physically wired. So, merging despite CI failure. |
|
That is what I was seeing was the pin check failure. |
|
yeah unfortunately, they wired the same physical pin to multiple pins on the Arduino header, which fails the CI job which validates all the Arduino pins are in compliance with a standard mapping |
Summary of changes
On the MIMXRT1050/1060 chips, the DTCM memory is significantly faster than the OCRAM memory. Sometimes the CPU cache can help with this, but the DTCM memory bypasses the cache entirely so its full size can be accessed at full speed.
Therefore, it makes sense to move as much stuff into DTCM as possible, especially on devices without an external RAM chip such as the Teensy boards. This PR does that, and also makes a refactor to the linker script and the target labels for MIMXRT105x to make this possible.
In particular, this PR adds a new target label,
MIMXRT105x, to indicate code for BOTH the 1050-series and the 1060-series chips. Code specific to the 1050 can now be guarded withMBED_TARGET_MIMXRT1050, and code specific to the 1060 can be guarded withMBED_TARGET_MIMXRT1060.Impact of changes
Migration actions required
TARGET_MIMXRT105xfor the same behavior. I don't think this is likely to be used anywhere though.Documentation
None
Pull request type
Test results
Reviewers