I always reserve time between Christmas and New Year to get my hands on technology pieces which I might not have any time otherwise. Among different things I ordered the NXP i.MX RT1064-EVK board from Mouser.com, and it arrived right before Christmas. Time to have it unboxed and started….
The i.MX RT processor family is of interest for me as it makes it an attractive solution for a machine learning research project. Machine learning requires lots of computational power, and because the i.MX RT ARM Cortex-M7 runs at up to 600 MHz with lots of RAM and FLASH memory, this seems to be a good fit. In earlier articles I already checked out the i.MX RT1052 and i.MX RT1020.
The RT1064 is so far the high-end processor in the RT series. What makes it interesting for me is that it has 4MB on-chip FLASH memory (all the others are flash-less).
Having flash memory in the device is absolutely a plus: board bring-up without on-chip flash always have been a challenge for me. Having FLASH memory in the device gives the advantage of easier boot sequence. Having only BGA will be a challenge on its own for a custom board, or I might have to produce the board externally.
The internal 4 MByte FLASH is not like an internal FLASH as on NXP Kinetis or LPC: it looks likek they have internally bonded the 4M Winbond W25Q32JV memory chip to the QSPI, so both the internal and external FLASH memory are indeed QSPI ones:
- internal 4 MByte WinBond W25Q32JV Serial FLASH: base address: 0x7000’0000, size: 0x40’0000
- external 8 MByte Integrated Silicon Solutions ISSI IS25WP064AJBLE Serial Flash: base address: 0x6000’0000, size: 0x80’0000
Time to unbox-it! The board came in a solid card box:
The box includes a package list, USB cable, Board and a camera module:
The package content is the same as previous RT boards, but that camera module is new and a nice add-on:
I’m not sure why the package lists it as ‘NON CAD PART’?
It has 32 MByte external SDRAM, external 8 MByte QSPI Flash and 64 MByte HyperFlash (which would require some resistor soldering to use it).
One obvious difference is the on-board debug interface: instead of a Kinetis K20DX128 it features the NXP LPC4322JET100 microcontroller:
The circuit looks very similar to the one of the LPC-Link2 which uses the NXP LPC4370FET100. The LPC43xx has more processing power compared to the K20DX128.
There is no ‘Getting Started’ card. Instead the packaging list points to https://nxp.com/MIMXRT1064-EVK/startnow which is actually the web page for the board with a getting started integrated.
The default board boot mode is from internal FLASH:
The board comes loaded with a ‘blinky’ demo program:
The onboard debug interface enumerates a serial port:
After reset, it writes a message on that port (115200 baud):
The debug interface enumerates as USB MSD (Mass Storage) device:
Loaded the SDK into the MCUXpresso IDE:
Project creation and debugging worked out-of-the-box:
Imported SDK example:
Providing project name and selecting example project(s):
In the Advanced Settings I left everythign at the defaults:
Pressing Finish. Then build it:
It automatically detects the connected board:
And voilà: I’m debugging it 🙂
One more (important!) thing: Make sure that the option
is present in the LinkServer Debugger Launch Configuration:
This is because sub-word access on the i.MX RT must be handled in a non-standard way. Not having this option set will result in failed or strange debugging behaviour.
External Debug Probes
I’m not limited to the onboard debug interface, I can use an external debug probe too (this is my preference anyway). To use the onboard JTAG header, I have to remove the jumpers on J48 and J47:
That way I was able to use a LPC-Link2, Segger J-Link or P&E Multilink:
Good news: as of today, the Pins and Clock configuation tool is available for the RT1064 too:
The RT1064 is the third i.MX RT device I have now on my desk, in addition to the RT1020 and RT1052. What I really like on the RT1064 is that it has internal FLASH memory, but the BGA package might be a challenge for my design, as I never did that. Maybe I just need to try it out: the 196 pins definitely will be a challenge.
Next I want to attach the camera and explore other features of the board.
Happy unboxing 🙂
- NXP i.MX RT: https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series:IMX-RT-SERIES
- NXP i.MX RT1064 Evaluation Kit: https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/mimxrt1064-evk-i.mx-rt1064-evaluation-kit:MIMXRT1064-EVK?&tid=vanMIMXRT1064-EVK
- Tutorial: First Steps with Embedded Artists NXP i.MX RT1052 OEM Module
- Tutorial: Open-Source Embedded GUI Library LittlevGL with i.MX RT1050-EVK
- First Steps with the NXP i.MX RT1020 EVK Board
- Adding a Rocktech Capacitive Touch LCD to the NXP i.MX RT1052 EVK
- MCUXpresso IDE V10.1.0 with i.MX RT1052 Crossover Processor
- Migrating from i.MX RT1060 to RT1064: https://www.nxp.com/docs/en/application-note/AN12290.pdf
- SWO on i.MX RT1060: https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide/blog/2019/01/23/overview-of-using-the-mimxrt1060-evk-with-mcuxpresso-ide