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

Support RT1180 family #14

Merged
merged 1 commit into from
Oct 18, 2024
Merged

Support RT1180 family #14

merged 1 commit into from
Oct 18, 2024

Conversation

nilfit
Copy link
Contributor

@nilfit nilfit commented Oct 16, 2024

The 1180 family uses a different boot header than previous families. The header is generated to support the default configuration where hash and signature errors are ignored.

The XIP __pre_init strategy is still used, more for ease of getting something running than because of any known problems with the boot ROM's implementation of loading images to different memories.

The boot ROM for the 1180 does not appear to allow the entry point to lie outside the (loaded or execute-in-place) image, so a new .xip section is added after the vector table to put the address inside the image while keeping VMA=LMA. This could cause problems for tools that manipulate binaries based on section names.

There is not yet enough board support to enable examples/blink*, so I have used RTT to see that the application starts with a minimal crate outside the repo.

@mciantyre
Copy link
Member

I fixed the clippy warnings on the main branch. I'll run some regression tests on my other i.MX RT targets. If those look good, I'll approve and merge.

Right now, I'm working without the 1180's reference manual, and I won't have time to cross-check these ideas against the SDK. You folks are far ahead of me in understanding this MCU, so I'll catch up later.

Is there anything else needed in this crate for the 1180? I'm happy to publish a release with this work.

Copy link
Member

@mciantyre mciantyre left a comment

Choose a reason for hiding this comment

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

imxrt-hal examples still executed on my 1010, 1060, and 1170 hardware.

@korken89
Copy link

Hi all,

From our side, (@nilfit and I), if possible we'd of course like someone to give it a go on the RT1180-EVK, but we're continuously testing it from our side as well.

The only issue we have right now is that RTT is working, however defmt is not. We're not 100% sure if it's an error here or somewhere else - so I'd recommend waiting with a release until we've figured this part out.

@nilfit
Copy link
Contributor Author

nilfit commented Oct 17, 2024

The defmt issue was in the target description for probe-rs. Apparently RTT is interpreted as strings without any warning if the memory map does not contain the destination of some pointers in the RTT block.

I updated the PR because I rediscovered a note about the first 16k of OCRAM not being usable by applications.

@korken89
Copy link

Is the ocram size calculation correct now? It still states the entire RAM as size, should it be made 16k smaller?

The 1180 family uses a different boot header than previous families. The
header is generated to support the default configuration where hash and
signature errors are ignored.

The XIP `__pre_init` strategy is still used, more for ease of getting
something running than because of any known problems with the boot ROM's
implementation of loading images to different memories.

The boot ROM for the 1180 does not appear to allow the entry point to
lie outside the (loaded or execute-in-place) image, so a new `.xip`
section is added after the vector table to put the address inside the
image while keeping VMA=LMA. This could cause problems for tools that
manipulate binaries based on section names.
@nilfit
Copy link
Contributor Author

nilfit commented Oct 17, 2024

Good catch! It should be fixed now.

@mciantyre
Copy link
Member

mciantyre commented Oct 18, 2024

Ping me here or on Matrix when you're feeling confident for a release. Thanks for adding this!

@mciantyre mciantyre merged commit 9138706 into imxrt-rs:main Oct 18, 2024
7 checks passed
@korken89 korken89 deleted the rt1180 branch October 18, 2024 16:13
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.

4 participants