MIMXRT1064

This NXP evaluation board (including integrated debugger and available for around $129) is based on the MIMXRT1064DVL6A, which is the consumer version [0..95°C] of the 600MHz Cortex-M7 base part with double-precision VFPv5 FPU in LFBGA196. It has 1M of internal RAM, 4M on-chip QSPI flash, external memory interface, dual-10/100M Ethernet, Dual-high speed USB (with integrated PHY), 8 low power UARTs, 4 I2C controllers, 3 synchronous audio interfaces, 2 SD card interfaces, 2 CAN interfaces, 2 FlexSPI interfaces, 2 ADC, LCD and touch controller, a True Random Number Generator, plus various other features.

The processor's budget price for 10'000 pieces is $4.18 (low quantity distributor price for 100 pieces under $11), potentially making it very attractive for low cost products requiring connectivity, HDI, high processing performance and audio.

A 24MHz crystal on the board allows for accurate generation of up to 600MHz processor, 100MHz Ethernet and 480MHz USB clocks.

The µTasker target for the MIMXRT1064 allows immediate use of the board for various functions with simple control of performance/consumption as well as the ability to switch operation between this and other i.MX board/processors and Kinetis parts. Accurate simulation of the device in VisualStudio combined with integrated µTasker application functionality ensures reliable, low footprint product development solutions with minimum effort, risk and investment.



MIMXRT1064 Binaries

Here are some binary files that can be loaded to the board. These were built using the µTasker applications (serial loader and V1.4 application) and can be simply generated using the supported compilers/IDEs [these were built using GCC], built using different configuration options or modified to suit specific requirements or hardware derived from this board :
  • uTaskerSerialLoader_i.MX RT 1064_USB-MSD_Kboot-HID_Kboot-UART.bin [43.3k] HS USB-MSD / KBOOT-HID composite USB bootloader, including KBOOT UART loader on the board's VCOM UART which can be loaded (copied to its internal QSPI-Flash) using your favorite loading tool - for example NXP MCUBootUtility.
    This boot loader enables uploading applications by one of three methods:
    - USB-MSD drag-and-drop onto the external hard drive that appears when the processor's USB is connected to a host PC
    - KBOOT-HID (compatible with the NXP protocol and loading tools, such as KinetisFlashTool) via USB-HID
    - KBOOT-UART (connected at 57'600Baud on the board's VCOM UART)
    To force the loader when there is already an application installed, reset the board with the USER button SW8, held down. When operating, the green LED blinks at 5Hz.
    To quit the loader mode to start an installed application the USB-MSD driver can be simply ejected by the host.
    The serial loaders are described in the µTasker Serial Loader guide
    - This loader also includes integrated OTA (Over-The-Air) upload support in the form of the µTasker "Bare-Minimum" Loader which allows firmware to be uploaded by the application's web server

  • uTaskerV1.4.12_i.MX-RT1064_USB-TCP_SDcard.bin [99.8k] i.MX RT 1064 application with command-line menu on LPUART 1 (via the board's virtual COM port connection at 115'200 Baud) with various menu items, such as RAM and QSPI flash viewing, low power operation, control of GPIOs, etc. Furthermore the application allows the following to be utilised:
    - Ethernet with embedded web server according to the i.MX RT tutorial, whereby the web pages are served from the µFileSystem operating in QSPI flash or, when available, from an inserted SD card
    - FTP to load and view files to the QSPI-flash (or SD card)
    - µParameterSystem in QSPI-flash storing IP and MAC configuration and various other settings
    - Telnet as alternative connection to the command line interface
    - IGMP according to the document µTasker - Multicasting and Internet Group Management Protocol (IGMP)
    - utFAT on SD card that interfaces to FTP and the web server. Files located in a director called "web" on the SD card can be served by the web server
    - HS USB-MSD and USB-CDC composite allowing an alternative command line interface or performing USB-CDC to UART bridging and the viewing of memory (ITC, DTC and QSPI flash) based on FAT emulation as described in µTasker - FAT emulation. The SD card appears also to the PC host as if it were an external pen-drive.
    When the application is running, the green LED blinks at 2.5Hz and the processor is operating at its maximum speed of 600MHz. All code and data accesses are in tightly coupled RAM, thus achieving maximum speed of operation.
    The board can be reset or commanded into the boot loader mode using commands found in the "Administrator" menu on the command line interface.

    A set of web pages can be loaded to the board by using the bat file found in the web page package, or with your favorite FTP client. These show dynamically generated content and allow setting parameters and controlling GPIOs etc., as well as posting new images to the web server.
    The default IP address of the board is 192.168.0.3 - its IP configuration can be changed and saved in the "Lan" menu on the command line interface.

    These binary files and web pages are suitable for use with the i.MX RT tutorial.


  • The disk interface is accessed via menu item 8 and allows displaying display directories and files, plus advanced commands to view file details and read/write raw sectors on the disk:
       Disk interface
    ===================
    up           go to main menu
    info         utFAT/card info
    dir          [path] show directory content
    dird         [path] show deleted directory content
    dirh         [path] show hidden content
    infof        [path] show file info
    infod        [path] show deleted info
    cd           [path] change dir. (.. for up)
    comp         compare [file1] with [file2]
    file         [path] new empty file
    write        [path] test write to file
    mkdir        new empty dir
    rename       [from] [to] rename
    trunc        truncate to [length] [path]
    copy         [file1] to [file2]
    hide         [path] file/dir to hide
    unhide       [path] file/dir to un-hide
    prot         [path] file/dir to write-protect
    unprot       [path] file/dir to un-protect
    print        [path] print file content
    del          [path] delete file or dir.
    sect         [hex no.] display sector
    sectw        [hex no.] [offset] [val] [cnt]
    help         Display menu specific help
    quit         Leave command mode
    

    WARNING: The application will initially flash the green LED at 2.5Hz but, due to the board's HW design, this will not allow the Ethernet interface to be used - the reason being that the same GPIO output that is used to drive the green LED is also connected to the reset line of the Ethernet PHY!!
    Rather than configure the application to not blink the LED by default it was decided to leave it so that it initially confirms that the processor is running normally; the side effect being that the Ethernet PHY is being repeatedly reset and the LEDs on the Ethernet socket also flash in time with the board's green LED. This of course won't allow the Ethernet interface to work at the moment, but doesn't disturb USB or the UART.
    To work with the Ethernet the green LED output can be disabled by entering into the I/O menu on the command line interface (either on the UART or the processor's USB-CDC interface) and commanding "set_ddr 1 i", which configures this pin to be an input rather than an output. Once the LED has stopped blinking (because it is now an input, command "save" to commit this to the parameter system. Make a reset of the board and now the Ethernet interface works.
    If the green LED is to be enabled at a later date the command "set_ddr 1 o" can be used.


  • uTaskerV1.4.12_i.MX-RT1064_Port_IRQ.bin [43.3k] This application shows port IRQ operation on three pins programmed for falling-edge and pulled up high in their stable state. On each falling edge on one of the following inputs, the port number is printed out on the debug output [LPUART1 (EVB's VCOM) or USB-CDC)]:
    - GPIO_AD_B1_00 (GPIO1_IO16) - J24-10 "IRQ_16"
    - GPIO_AD_B1_01 (GPIO1_IO17) - J24-9 "IRQ_17"
    - GPIO_AD_B1_03 (GPIO1_IO19) - J22-8 "IRQ_19"
    These port interrupts share a single interrupt vector between GPIO1_IO16 and GPIO1_IO31 but the µTasker port interrupt driver allows dispatching unique user callbacks to each possible pin. The following port interrupt video shows the principle on a Kinetis parts whereby the interface code is compatible when ports are names PORT1..5. i.MX RT ports used in this case are PORT1_BIT16, PORT1_BIT17 and PORT1_BIT19 although also the defines PIN_GPIO_AD_B1_00_GPIO1_IO16, PIN_GPIO_AD_B1_01_GPIO1_IO17 and PIN_GPIO_AD_B1_03_GPIO1_IO19 are possible (specific to this i.MX RT part and its port/pad relationship). For more general port/peripheral multiplexing details see also this video


  • uTaskerV1.4.14_i.MX-RT1064MODBUS_Complete.bin [227k] This binary combines the secure boot loader (with fall-back and serial loader) with an application that demonstrates Modbus TCP and UART RTU slaves and can be loaded (copied to its internal QSPI-Flash) using your favorite loading tool - for example NXP MCUBootUtility.
    One Modbus slave operates on the LPUART1 interface (Tx: GPIO_AD_B1_02-GPIO1-IO18, Rx: GPIO_AD_B1_03-GPIO1-IO19) at 115.2k Baud in RTU mode on slave address 33 and 5 Modbus TCP sockets listen on the standard Modbus TCP port 502. The slaves share the same register resources that can be read and written. For easy testing of commands being interpreted certain registers change their content each time they are read and writes to coil 14 control the GPIO GPIO1_AD_B1_15-GPIO1-IO31 state.

    For full details of the reference Modbus application see the µTasker MODBUS User's Guide

    In addition to Modbus TCP the applicaton supports IGMP, Telnet server, FTP server, MQTT client and web server on its Ethernet connection (follow instructions about configuring the IP settings and green LED to allow the Ethernet PHY to operate correctly). It also demonstrates USB-CDC device on the first USB interface.

    The serial loaders and application are encrypted and run at full speed (600MHz without wait states) in internal tightly coupled instruction RAM.

    The loader operates in "demo" mode, which means that it doesn't change any eFUSE settings but still shows the encryption operation based on a fixed AES256 key. It limits uploaded application size to 110kBytes. Production mode without limitations is available to µTasker users.



  • uTaskerV1.4.14_i.MX-RT1064_SD-USB-MSD_Complete.bin [196k] This binary combines the secure boot loader (with fall-back and serial loader) with an application that demonstrates USB-MSD to emulated FAT and SD-card as well as general SD card interface (in utFAT menu on LPUART or via USB-CDC) and can be loaded (copied to its internal QSPI-Flash) using your favorite loading tool - for example NXP MCUBootUtility.
    For full details of the utFAT file system used on the SD card see µTasker utFAT User's Guide and for FAT emulation details see µTasker - FAT Emulation.

    The serial loaders and application are encrypted and run at full speed (600MHz without wait states) in internal tightly coupled instruction RAM.

    The loader operates in "demo" mode, which means that it doesn't change any eFUSE settings but still shows the encryption operation based on a fixed AES256 key. It limits uploaded application size to 110kBytes. Production mode without limitations is available to µTasker users.

    If the loader is already installed this AES256 encrypted binary can instead be used to upload the new application via the serial loader: uTaskerV1.4.14_i.MX-RT1064_SD-USB-MSD_AES256.bin [68.6k]
  • uTaskerV1.4.14_i.MX-RT1064MODBUS_Complete.bin [227k] This binary combines the secure boot loader (with fall-back and serial loader) with an application that demonstrates Modbus TCP and UART RTU slaves and can be loaded (copied to its internal QSPI-Flash) using your favorite loading tool - for example NXP MCUBootUtility.
    One Modbus slave operates on the LPUART1 interface (Tx: GPIO_AD_B1_02-GPIO1-IO18, Rx: GPIO_AD_B1_03-GPIO1-IO19) at 115.2k Baud in RTU mode on slave address 33 and 5 Modbus TCP sockets listen on the standard Modbus TCP port 502. The slaves share the same register resources that can be read and written. For easy testing of commands being interpreted certain registers change their content each time they are read and writes to coil 14 control the GPIO GPIO1_AD_B1_15-GPIO1-IO31 state.

    For full details of the reference Modbus application see the µTasker MODBUS User's Guide

    In addition to Modbus TCP the applicaton supports IGMP, Telnet server, FTP server, MQTT client and web server on its Ethernet connection (follow instructions about configuring the IP settings and green LED to allow the Ethernet PHY to operate correctly). It also demonstrates USB-CDC device on the first USB interface.

    The serial loaders and application are encrypted and run at full speed (600MHz without wait states) in internal tightly coupled instruction RAM.

    The loader operates in "demo" mode, which means that it doesn't change any eFUSE settings but still shows the encryption operation based on a fixed AES256 key. It limits uploaded application size to 110kBytes. Production mode without limitations is available to µTasker users.



  • uTaskerV1.4.14_i.MX-RT1064_SD-USB-MSD_Complete.bin [196k] This binary combines the secure boot loader (with fall-back and serial loader) with an application that demonstrates USB-MSD to emulated FAT and SD-card as well as general SD card interface (in utFAT menu on LPUART or via USB-CDC) and can be loaded (copied to its internal QSPI-Flash) using your favorite loading tool - for example NXP MCUBootUtility.
    For full details of the utFAT file system used on the SD card see µTasker utFAT User's Guide and for FAT emulation details see µTasker - FAT Emulation.

    The serial loaders and application are encrypted and run at full speed (600MHz without wait states) in internal tightly coupled instruction RAM.

    The loader operates in "demo" mode, which means that it doesn't change any eFUSE settings but still shows the encryption operation based on a fixed AES256 key. It limits uploaded application size to 110kBytes. Production mode without limitations is available to µTasker users.

    If the loader is already installed this AES256 encrypted binary can instead be used to upload the new application via the serial loader: uTaskerV1.4.14_i.MX-RT1064_SD-USB-MSD_AES256.bin [68.6k]


  • uTaskerV2.0_i.MX-RT1064_CAN_Complete.bin [172k] This binary combines the secure boot loader (with fall-back and serial loader) with an application that demonstrates CAN operation and can be loaded (copied to its internal QSPI-Flash) using your favorite loading tool - for example NXP MCUBootUtility.
    For full details of the CAN operation see µTasker Document - Controller Area Network (CAN).

    The serial loaders and application are encrypted and run at full speed (600MHz without wait states) in internal tightly coupled instruction RAM.

    The loader operates in "demo" mode, which means that it doesn't change any eFUSE settings but still shows the encryption operation based on a fixed AES256 key. It limits uploaded application size to 110kBytes. Production mode without limitations is available to µTasker users.

    If the loader is already installed this AES256 encrypted binary can instead be used to upload the new application via the serial loader: uTaskerV2.0_i.MX-RT1064_CAN_AES256.bin [44k]
    Note that the µTasker contains a CAN open integration and this video shows two CAN interfaces in use FlexCAN driver and simulation demonstration.



Return to the i.MX RT landing page
s

µTasker i.MX RT 1064 support. Copyright (c) 2004..2023 M.J.Butcher Consulting