Installing U-Boot to the NXP i.MX RT1060 EVK Board Print

 

Use the procedure documented below to install the U-Boot firmware to the SD Card for boot on the NXP i.MX RT1060 EVK board. Having completed the installation, the i.MX will run U-Boot as a primary firmware on next reset / power on.

Please note that the installation will erase files previously installed on your SD Card and install the U-Boot image instead.

Here is the procedure:

  1. On a Linux PC, plug in an SD Card, either directly or using an USB-to-SD card converter. Any SD/SDHC Card should work.16 MB or more in density is sufficient.
  2. Find out a /dev/sdX device the system has assigned to your SD Card. Here are some examples:
    • Card already has some partitions:

      $ dmesg | tail
      ...
      sd 1:0:0:0: [sdb] 3909632 512-byte logical blocks: (2.00GB/1.86GiB)
      sd 1:0:0:0: [sdb] Cache data unavailable
      sd 1:0:0:0: [sdb] Assuming drive cache: write through
      sdb: sdb1 sdb2

    • Other card, which has no partitions:

      $ dmesg | tail
      ...
      sd 1:0:0:0: [sdb] 31116288 512-byte logical blocks: (15.9GB/14.8 GiB)
      sd 1:0:0:0: [sdb] Cache data unavailable
      sd 1:0:0:0: [sdb] Assuming drive cache: write through
      sdb: unknown partition table

  3. Install the U-Boot image file (u-boot-dtb.imx) starting at 1KB (third sector) of the SD Card. Note that you need to specify the whole device as the destination for the dd command (i.e. do not install the image to a partition):
  4. $ sudo dd if=u-boot-dtb.imx of=/dev/sdb bs=1k seek=1
    239+0 records in
    239+0 records out
    244736 bytes (245 kB) copied, 0.129487 s, 1.9 MB/s

  5. Flush the system caches, and safely remove the SD Card from the Linux PC:
  6. $ sync

  7. Insert the SD Card to the SD Card holder on the NXP EVK board. Configure the NXP i.MX RT100 EVK board for booting from the SD Card. Set the boot selection jumpers SW7 as follows:
    • SW4.1-4=1010 (MIMXRT1060-EVK, MIMXRT1060-EVKB);
    • SW7.1-4=1010 (MIMXRT1064-EVK).
  8. Power on the EVK board. See the messages from U-Boot in the serial console (refer to Connecting serial console to the NXP i.MX RT1060 EVK):
  9. U-Boot 2017.09-imxrt-2.5.2 (Nov 20 2018 - 23:16:48 +0300)

    CPU: i.MX RT106x at 600MHz6
    Model: NXP i.RT1060 EVK
    DRAM: 32 MiB
    MMC: FSL_SDHC: 0
    reading uboot.env

    ** Unable to read "uboot.env" from mmc0:1 **
    Using default environment

    Video: 480x272x24
    In: serial@40184000
    Out: serial@40184000
    Err: serial@40184000
    Net: eth0: ethernet@402D8000
    Hit any key to stop autoboot: 0
    =>

    The Unable to read message is expected at this stage.

  10. Validate the U-boot command monitor. For example:
  11. => help
    ? - alias for 'help'
    base - print or set address offset
    ...
    =>

Troubleshooting

If the software installation wasn't a success, and the target board does not boot (no activity in the console), then verify the following items:

  1. If the SD Card was programmed on the virtual machine (e.g. VmWare), then try to program the SD Card on a PC with the native Linux.
  2. Verify that the green power LEDs D2/D3 switch ON when you power-on the board with the SW1 switch.
  3. Verify that the SW7 switches are set to the positions that correspond to "SD DEVICE" as specified on the silkscreen of your EVK board.
  4. If you installed not just U-Boot, but the whole demo image (refer to https://emcraft.com/products/979#demo), then verify that you installed *.img to the SD Card correctly. If the installation is correct, then at least you should be able to mount the first partition of the SD Card on your PC and see the following 4 files: mxrt106x-evk.ini, rootfs.uImage, splash-rt1060-series_24.bmp, uboot.env.
  5. If suggestions above do not help, then please provide us with the following materials:
    • A photo of your MIMXRT1060-EVK board (a backside with SD and jumpers should be enough);
    • A full log of SD preparation and installation procedures;
    • The u-boot-dtb.imx binary.