imxrt-rs / imxrt-hal

Rust for NXP i.MX RT
Apache License 2.0
133 stars 33 forks source link

iMXRT1064 support #105

Closed hatimbt closed 3 years ago

hatimbt commented 3 years ago

We should publish the imxrt-hal with support for the IMXRT1064 device if it is ready.

Continuing discussion from imxrt-rs imxrt-boot-gen#7.

I'm curious as to how to interface that on-board flash. I can't easily find any NXP docs that say "on-board flash starts at this address." (Since the 1064 RM notes that all FlexSPI2 pin muxing registers are "reserved," I'm guessing that on-board flash is available via FlexSPI2.)

The on-board iMXRT1064 flash is at 0x70000000 upto 0x703FFFFF. This document describes the required changes when moving from an iMXRT1060 series device.

The onboard flash does use the FlexSPI2. The onboard flash is actually an embedded Winbond W25Q32JV

mciantyre commented 3 years ago

Thanks for the info and documentation pointers.

106 proposes 1064 support for the 0.4 HAL. If accepted, I can publish the change as a 0.4.3 release, and you could start experimenting with the crates. Would that work for you?

Longer term, we'll need to figure out how 1064 support fits with split HAL maintenance (#56) and / or #92. Given that its so similar to the 1062, it may make sense to simply bundle it with the 1060 HAL family.

mciantyre commented 3 years ago

Sorry for the delay! The newly-released imxrt-hal crate (0.4.3) adds an "imxrt1064" feature. This will let us use a HAL that's targeted for the 1064. If you're using a HAL with the 1062 feature, simply change the feature flag; everything else should work the same.