If the bootloader has been erased from the storage media (or written with an invalid image) and the target does not boot, you can boot the target from the USB device port.

Boot U-Boot in USB debug mode

Requirements

  • Linux host computer.

  • Root/administrator permissions on your development computer

  • The Digi Embedded Yocto SDK already installed. For installation instructions, see Application development.

For the ConnectCore 6UL SBC Express:

  • Two micro USB cables (one for console/power and the other for the USB device port)

For the ConnectCore 6UL SBC Pro:

  • A micro USB cable

  • USB serial console cable

Instructions

  1. Connect one micro USB cable to the USB device port of the board (bottom side, under the USB host connectors) and the other end to the development computer.

  2. Connect the other micro USB cable to the CONSOLE/POWER connector.

  3. Close the BOOT MODE jumper (J19) near the CONSOLE/POWER micro USB connector.

    USB mode jumper
  4. Open a serial terminal at 115200/8/n/1.

  5. Power up the board.

  6. On the host computer run the imx_usb tool from the SDK directory as root with the U-Boot file to boot as parameter. For example:

    ~$ sudo /opt/dey/2.6-r3/ccimx6ulsbc/sysroots/x86_64-deysdk-linux/usr/bin/imx_usb </path/to/u-boot-file>

The serial terminal shows the device starting U-Boot.

  1. Connect the USB serial cable to the CONSOLE connector on the board and to your host computer.

  2. Connect the micro USB cable to the USB device port of the board (bottom side, under the USB host connectors).

  3. Close the BOOT jumper near the CONSOLE connector.

    USB mode location
  4. Open a serial terminal at 115200/8/n/1.

  5. Power up the board.

  6. On the host computer run the imx_usb tool from the SDK directory as root with the U-Boot file to boot as parameter. For example:

    ~$ sudo /opt/dey/2.6-r3/ccimx6ulsbc/sysroots/x86_64-deysdk-linux/usr/bin/imx_usb </path/to/u-boot-file>

The serial terminal shows the device starting U-Boot.

If you installed the Digi Embedded Yocto SDK in a location other than the default location, you must use the -c parameter to specify the directory containing the configuration files.

Use the following syntax, replacing ${SDK_FOLDER} with the name of the non-standard folder where the SDK was installed:

${SDK_FOLDER}/sysroots/x86_64-deysdk-linux/usr/bin/imx_usb -c ${SDK_FOLDER}/sysroots/x86_64-deysdk-linux/etc/imx-loader.d/

Instructions for closed devices

With TrustFence enabled, signed U-Boot images are created. To boot signed U-Boot images on a closed device, you must configure the imx_usb application provided with Digi Embedded Yocto as follows:

  • Modify the mx6_usb_work.conf configuration under /opt/dey/2.6-r3/ccimx6ulsbc/sysroots/x86_64-deysdk-linux/etc/imx-loader.d/, adding the following lines:

    /path/to/u-boot.imx:dcd
    /path/to/u-boot-usb-signed.imx:no_clear_boot_data,jump header

    Replace /path/to/u-boot.imx with the path to the unsigned u-boot image and /path/to/u-boot-signed-usb.imx with the path to the signed USB bootable image.

  • Execute the imx_usb_loader tool without a U-Boot image argument:

    ~$ sudo /opt/dey/2.6-r3/ccimx6ulsbc/sysroots/x86_64-deysdk-linux/usr/bin/imx_usb

Update U-Boot in the NAND

Once U-Boot is running, you can use it to update the bootloader in the NAND:

Update bootloader from Ethernet (TFTP)

  1. Place the U-Boot binary inside your host computer TFTP exported folder.

  2. On the target, configure your network settings (IP of the device, IP of the host/server):

    => setenv ipaddr <your-ip>
    => setenv serverip <server-ip>
  3. Connect an Ethernet cable to the Ethernet port.

  4. Run the following command to update U-Boot into the NAND:

    => update uboot tftp <u-boot-filename>.imx
  5. Change the boot source configuration to boot from the internal NAND.

    To do so remove BOOT MODE jumper.

  6. Power-cycle the board. The target now boots from the NAND.

Update bootloader from microSD card

  1. Place the U-Boot binary inside a FAT-formatted microSD card.

  2. Insert the microSD card in the board.

  3. Run the following command to update U-Boot into the NAND:

    => update uboot mmc 0 fat <u-boot-filename>.imx
  4. Change the boot source configuration to boot from the internal NAND.

    To do so remove BOOT MODE jumper.

  5. Power-cycle the board. The target now boots from the NAND.