Installing U-Boot to the NXP i.MX RT1050 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 RT1050 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  micro SD Card and install the U-Boot image instead.

Here is the procedure:

  1. On a Linux PC, plug in a micro 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 micro 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 U-Boot (prebuilt SPL and u-boot.img images) to the micro 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=SPL of=/dev/sdX bs=1k seek=1 conv=notrunc; sync
    $ sudo dd if=u-boot.img of=/dev/sdX bs=1k seek=128 conv=notrunc; sync

  5. Mount the first partition of the SD Card, and copy the splash-rt1050-series_24.bmp file to the splash.bmp file on the SD card:
  6. $ sudo mount /dev/sdX1 /mnt
    $ cp splash-rt1050-series_24.bmp /mnt/splash.bmp
    $ sudo umount /mnt
    $ sync

  7. Safely remove the micro SD Card from the Linux PC.
  8. Insert the micro SD Card to the SD Card holder on the NXP EVK board. Configure the NXP i.MX RT1050 EVK board for booting from the micro SD Card. Set the boot selection jumpers SW7 as follows:
    • SW7.1-4=1010.
  9. Connect the microUSB cable to the UART USB dongle and to the development host to provide the serial console (Refer to Connecting Serial Console to the NXP i.MX RT1050 EVK Board) and power the board from a 5V power supply:
  10. U-Boot SPL 2022.04 (Sep 25 2023 - 08:16:21 +0000)
    Trying to boot from MMC1

    U-Boot 2022.04 (Sep 25 2023 - 08:16:21 +0000)

    DRAM: 32 MiB
    Core: 71 devices, 13 uclasses, devicetree: separate
    MMC: FSL_SDHC: 0
    Loading Environment from MMC... OK
    In: serial@40184000
    Out: serial@40184000
    Err: serial@40184000
    Net: eth0: ethernet@402D8000
    Hit any key to stop autoboot: 0

  11. Validate the U-boot command monitor. For example:
  12. => 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 micro SD Card was programmed on the virtual machine (e.g. VmWare), then try to program the micro SD Card on a PC with the native Linux.
  2. Verify that the green power LED D16 switch ON when you power-on the board using the power supply.
  3. Verify that the SW2 switches are set to the positions that correspond to "SD DEVICE" as specified on the silkscreen of your EVK board.
  4. If suggestions above do not help, then please provide us with the following materials:
    • A photo of your MIMXR1050-EVK board (a backside with SD and jumpers should be enough);
    • A full log of SD preparation and installation procedures;
    • The SPL and u-boot.img binaries.