Skip navigation
> RoadTest Reviews

NXP I.MX RT1050 EV KIT and Display - Review

Scoring

Product Performed to Expectations: 10
Specifications were sufficient to design with: 10
Demo Software was of good quality: 6
Product was easy to use: 8
Support materials were available: 8
The price to performance ratio was good: 8
TotalScore: 50 / 60
  • RoadTest: NXP I.MX RT1050 EV KIT and Display
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes - null
  • Comparable Products/Other parts you considered: LPC4357-Xplorer++, STM32F4 Discovery
  • What were the biggest problems encountered?: Trying to get MCUXpresso IDE work with this dev board was biggest problem. No examples for LCD are included in SDK by default.

  • Detailed Review:

    Here is my detailed review of NXP i.MX RT1050 EV with display.

     

    Unboxing:

    The package arrived in element14 box with sufficient protection on all sides. Below is the image capture of the contents in the box.

    Items inside box

     

    Inside box following items where found,

    1. Packing list sheet

                                          List of items inside the box

    2. LCD screen with capacitive touch panel

                                        LCD with capacitive touchscreen

    3.Micro USB  cable

                                        Micro USB cable

    4.Burg connectors for arduino headers

                                       Burg connectors

    5.NXP i.MX RT1050 EVK board

                                               

    i.Mx RT 1050 EVK board

    Below is the unboxing video:

     

     

    Hardware:

    Processor

    This board comes with i.MX RT1052 "crossover" MCU which has an ARM Cortex-M7 core capable of running at 600MHz. Term crossover is used because of MCU performance comparable with low power application processors. "RT" family MCUs can be used for computationally intensive apps that needs real time functionality. The marking on i.MXRT1050 says PIMXRT1052DVL6AEVALCTWA1723. This is an A0 silicon rev, full feature general purpose, consumer grade(0-95 deg C) prototype sample. The package is 196BGA and package dimension is 10mmx10mm and thickness is 0.65mm. Other members in this family includes industrial grade (-40 to 105 deg C), reduced feature, mass production samples with different max operating frequency variants. This MCU has 32KB each of I-cache and D-cache, 512KB for SRAM, integrated MPU supporting up to 16 protection regions and floating point unit. i.MXRT1052 has no internal flash. So, it uses one of the below mentioned boot media and using SW7, boot media can be selected.

     

    SW7-1SW7-1SW7-1SW7-1Boot media
    0110Hyperflash
    0010QSPI flash
    1010SD card

     

    The silicon errata sheet for this chip reveals 19 issues, out of which few of them have been fixed in silicon rev A1 and rest of them has no fixed schedule for providing fix.

     

    SDRAM

    External memory OF 256Mbits is from Micron and the part number is MT48LC16M16A2B4-6A.

     

    Hyperflash

    This is an extremely fast external non-volatile memory from Spansion which has bus width of 8bits capable of DDR. Part number is S26KS512SDPBHI020. Apart from 8-bit wide bus, read/write operations are burst oriented. The density is 512Mbits.

     

    Quad SPI flash

    Part number is IS25WP064ABLE from ISSI. Density is 64Mbit.

     

    Both these flash share the same SPI bus called FlexSPI and if one needs to switch among these memories then board modifications needs to done.

    Combo sensor

    This is a 6-axis motion sensor with integrated linear accelerometer and magnetometer. It uses I2C protocol.

    Ethernet PHY

    Part is from Micrel and part number is KSZ8081.

     

    Audio codec

    Wolfson's WM8960 is used as stereo audio codec with class D speaker driver which is capable of driving 1W per channel into 8Ohm BTL speakers, this codec is also coupled with onboard analog microphone.

    CMSIS-DAP/DAPLINK

    This is standard debugger designed with MK20DX128VFM5 capable of SWD/JTAG.

    Apart from above parts, there are other hardware parts such as,

    1. SD card slot
    2. CAN transceiver(TJA1057GT)
    3. LCD and touch panel connectors
    4. Camera FPC connector
    5. Couple of Micro USB connectors for USB device/host/OTG
    6. SPDIF jacks
    7. External JTAG header

     

    Software:

    I have always been a fan of LPCXpresso, now MCUXpresso. So, my choice of IDE for this roadtest will be MCUXpresso.

    NXP has really done a very good job with MCUXpresso IDE and its ecosystem. SDK builder just works fine with huge amount of configurable parameters. The variety of examples that are part of SDK is very vast. It has very good set of middleware support which includes CMSIS DSP Library, FatFS, ISSDK, QCA400x WiFi, USB stack, emWin, lwIP, mbedtls, wolfssl, FreeRTOS. MCUXpresso SDK builder helps in getting SDK for Keil MDK v5, IAR, GCC and MCUXpresso(ofcourse!) IDEs running on Windows, Linux and MACOS hosts. Below is the screenshot of the MCUXpresso SDK builder,

    As seen, emwin middleware can be included while building SDK. But, unfortunately this is not available when trying to import SDK examples. This can be because emwin is not fully tested on this EVK board. Below is the screenshot of initial screen of  MCUXpresso,

    MCUXpresso IDE

     

    Adding i.MX RT1050 SDK for MCUXpresso is simple. You have to just drag drop the SDK zip obtained using SDK builder into "Installed SDKs" window as shown below.

    Importing SDK

     

    After approving the confirmation, SDK import process begins.

     

    After SDK import is complete, different components in installed SDK are displayed as shown below.

    After successful SDK import

     

    To import an example from installed SDK, Click on "Import SDK examples" on left pane. Next selection of board must be done.

    Initial screen of selecting board for importing specific example

     

    All the examples supported for the selected board will be displayed next.

    List of examples available

     

    One or more examples can be selected.

    Selecting one or more examples

     

    Next screen in import wizard displays advanced settings. This contains settings for C/C++ library, FPU, memory configurations.

    Memory layout details

     

    After clicking on "Finish", the project will be imported and is ready to built. The project can be built by clicking on "Build <project_name>" available on left pane. A debug session can be launched by clicking on "Debug <project_name>". Unfortunately, this didn't work for me straightaway. I ran into problem which is summarized in below screenshot.

    Debug failure

     

    Next, I tried to download binary on to Hyperflash. MCUXpresso provides an utility to just download an elf/binary on to memory. This too didn't work.

    Flash programming error

     

    DAPLINK interface provides an option to drag-drop binary files which will be written on to device's flash using flash routine over SWD/JTAG. This too didn't work. DAPLINK exposes an mass storage interface for binary drap-drop. If the flash programming fails due to some reason, DAPLINK would re-enumerate and will contain a file "FAIL.TXT" which would log the failure. This file was seen after an attempt was made to copy binary on to DAPLINK drive. For me, this ensured that the problem is with the debugger. So, my next step was to see if any new debugger FW update was available. Below is the details of stock DAPLINK FW,

    # DAPLink Firmware - see https://mbed.com/daplink
    Unique ID: 0225000041114e4500463009c207001792d1000097969900
    HIC ID: 97969900
    Auto Reset: 0
    Automation allowed: 0
    Daplink Mode: Interface
    Interface Version: 0241
    Bootloader Version: 0242
    Git SHA: 34182e2cce4ca99073443ef29fbcfaab9e18caec
    Local Mods: 1
    USB Interfaces: MSD, CDC, HID
    Bootloader CRC: 0x73707d49
    Interface CRC: 0x92919274

     

    Link for resource page for OpenSDA FW update can be found in MCUXpresso IDE itself as shown below,

    Updating OpenSDA FW

    Clicking on FW updates would redirect to NXP website which contains latest FW of DAPLINK. Download DAPLINK v0244 binary.

    Downloading OpenSDA from NXP website

    As its seen in above image, NXP has different DAPLINK FW for hyperflash and QSPI flash. To download latest DAPLINK FW,

    1. Power off the board
    2. Jumper should be placed on J27 1-2.
    3. Press and hold SW4 and power on the board by connecting micro USB cable to J28.
    4. MK20DX128VFM5 will now enumerate as USB mass storage device.
    5. Drap-drop the downloaded DAPLINK FW.

     

    Below is the details of DAPLINK FW after FW update,

    # DAPLink Firmware - see https://mbed.com/daplink
    Unique ID: 0227000041114e4500043004b60f0027a6e1000097969900
    HIC ID: 97969900
    Auto Reset: 0
    Automation allowed: 0
    Overflow detection: 0
    Daplink Mode: Interface
    Interface Version: 0244
    Bootloader Version: 0242
    Git SHA: 853df431d81359e822f49363891f877f17d31efb
    Local Mods: 0
    USB Interfaces: MSD, CDC, HID
    Bootloader CRC: 0x73707d49
    Interface CRC: 0x565000e7
    Remount count: 0

    Now debugging works as show below.

    Successful execution of Hello world

    Apart from SDK examples, there are quite good number of examples which is feature extension enablement to explore the board features. Below is the list of examples,

    There are good number of application notes available too!

    Below is the demo of i.MX RT1050 EVK board running uClinux image by emcraft. This demo contains Storyboard GUI by Crank Software Inc.

     

    Personally, biggest disappointment was lack of LCD examples. Apart of emwin examples, there are multiple other examples which are not enabled by default. I tried enabling these my modifying .xml file used by SDK importer with no success. I tried to create my own LCD examples and ran into multiple issues. I hope this will be sorted out by NXP very soon. On positive side, there are 61 USB examples included in SDK which covers almost all device classes of USB.

     

    Update: I was able to build an emwin GUI example successfully.

    First select the target board.

    Next "configure project window" is seen where different components required for the project can be selected.

    Select driver for "elcdif" and emwin graphics library in middleware section.

    In next window, we need to change the memory configuration to use onboard SDRAM.

    Next, related project files needs to be added from emwin example available in downloaded SDK. Files included in red box seen below image needs to be added.

    Few files needs to be deleted such as emwin_support.c/.h and pin_mux.c/.h. These files should be taken from emwin example in SDK. So, files imported during new project wizard should be deleted/replaced. Now, debug this project.

    Result seen is similar to below image on board LCD. Response to touch on screen can be noticed too.


Comments

Also Enrolling
Enrollment Closes: May 7 
Enroll
Enrollment Closes: May 21 
Enroll
Enrollment Closes: May 14 
Enroll
Enrollment Closes: Apr 23 
Enroll