Skip to content

Conversation

@multiplemonomials
Copy link
Collaborator

@multiplemonomials multiplemonomials commented Jan 1, 2025

Summary of changes

This PR upgrades the MIMXRT105x/6x linker script to use memory banks instead of the hand-written header file that it had been using. This enables bootloader support on the MIMXRT106x, and I also took the chance to enable crash data RAM on it.

Unfortunately, while testing this change, I ran into constant failures on the heap fill test (which I don't think had been reactivated until a couple months ago, so it never got run on this target before). It showed that there was corruption happening in the external 256MB SDRAM: bytes received didn't always match bytes written back.

For now, I didn't have a ton of time to dig into this, after half an hour of messing around I kinda had to keep moving. So, I had to disable the SDRAM for now to restore stable operation of the chip. Thankfully it still has a reasonable amount of on-chip ram (256k usable for MIMXRT105x, 768k usable for MIMXRT106x), so it isn't totally hobbled for most applications. Future tasks would be to do some deeper testing to understand why this corruption is happening (i.e. do A-B testing with IDE projects and Mbed), and to enable split heap for MIMXRT105x so we can take advantage of more of the on-chip RAM.

UPDATE: Split heap support added

Impact of changes

MIMXRT1050_EVK and MIMXRT1060_EVK RAM space currently reduced to just the DTCM bank (fast on-chip data RAM) pending investigation into external SDRAM errors.

Migration actions required

Documentation

Before merge I will update the MIMXRT105x info page to explain about SDRAM being disabled for now (the corruption, and also it causes debugging issues).


Pull request type

[] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[X] 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)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[X] Tests / results supplied as part of this PR

Working a test run with this plus my other PR

@multiplemonomials
Copy link
Collaborator Author

Test run pushed here: https://mbed-ce.github.io/mbed-ce-test-tools/tests/

@multiplemonomials multiplemonomials merged commit d255e11 into master Jan 2, 2025
52 checks passed
@multiplemonomials multiplemonomials deleted the dev/mimxrt105x-linker-script-use-memory-banks branch January 2, 2025 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants