The ConnectCore 8M Nano is shipped without a default operating system loaded. Only U-Boot is flashed in the device. This step demonstrates how to install Yocto in your ConnectCore 8M Nano.

1. Establish a serial connection with your device

Before you start programming the firmware, you must open a serial connection with the device. You can use any serial terminal program such as Tera Term, Minicom, CoolTerm, or HyperTerminal.

Due to an incompatibility between the USB/serial driver and the PuTTY terminal program, you must use another serial terminal program such as Tera Term, Minicom, CoolTerm, or HyperTerminal.

Open a serial connection with the following settings:

Parameter Value

Port

Serial port where the device is connected

Baud rate

115200

Data bits

8

Parity

None

Stop bits

1

Flow control

None

2. Program the firmware

Once you have established the serial connection, you can start the firmware update process.

There are two methods to program the firmware to the target:

  • Use the Universal Update Utility (UUU) through a USB connection to your development PC.

  • Use a microSD card to install the firmware directly in the target.

Program the firmware using UUU

Follow these steps to install Yocto in the device:

  1. Download the firmware images from this location: https://ftp1.digi.com/support/digiembeddedyocto/3.0/r1/images/ccimx8mn-dvk-installer.zip

  2. Decompress the zip file in a directory of your choice.

  3. Download the latest Universal Update Utility (UUU) tool, a software tool from NXP.

  4. Place the uuu executable in a directory in your PATH, such as /usr/bin.

  5. Install udev rules to allow any user to run the uuu for accessing the USB port:

    ~$ sudo sh -c "uuu -udev >> /etc/udev/rules.d/99-uuu.rules"
    ~$ sudo udevadm control --reload-rules
  6. Connect a micro USB cable to your development PC and the other end to the target USB recovery connector.

  7. Reset the device by pressing the reset button on the board and immediately press any key in the serial terminal to stop the auto-boot process. The U-Boot bootloader prompt displays:

    U-Boot dub-2018.03-r3.1 (Jan 24 2020 - 16:52:06 +0100)
    
    CPU:   Freescale i.MX8MNano Quad rev1.0 1500 MHz (running at 1200 MHz)
    CPU:   Commercial temperature grade (0C to 95C) at 27C
    Reset cause: POR
    DRAM:  1 GiB
    MCA:   HW_VER=1  FW_VER=0.17
    MMC:   FSL_SDHC: 1, FSL_SDHC: 0
    In:    serial
    Out:   serial
    Err:   serial
    Model: Digi ConnectCore 8M Nano Development Kit
    ConnectCore 8M Nano SOM variant 0x01: 1 GiB LPDDR4, Wi-Fi, Bluetooth, MCA, Crypto-auth
      Board version undefined, ID undefined
     BuildInfo:
       - ATF a2fcfba
       - U-Boot dub-2018.03-r3.1
    
    flash target is MMC:0
    Net:   eth0: ethernet@30be0000
    Fastboot: Normal
    Hit any key to stop autoboot:  0
    =>
    Information in the console log may vary.
  8. On the target, in U-Boot, execute the following command:

    => fastboot 0
  9. On your development PC, change to the directory where you extracted the ZIP file and execute the following command:

    ~$ cd <zip-folder>
    ~$ ./install_linux_fw_uuu.sh
  10. Once the firmware is installed, the device boots automatically. The default username is root with no password.

Program the firmware using uSD card

Follow these steps to install Yocto in the device:

  1. Download the firmware images from the following location:

  2. Decompress the zip file.

  3. Place the decompressed files in the root of a FAT-formatted microSD card and insert it in the microSD socket of the board.

  4. Reset the device by pressing the reset button on the board and immediately press any key in the serial terminal to stop the auto-boot process. The U-Boot bootloader prompt displays:

    U-Boot dub-2018.03-r3.1 (Jan 24 2020 - 16:52:06 +0100)
    
    CPU:   Freescale i.MX8MNano Quad rev1.0 1500 MHz (running at 1200 MHz)
    CPU:   Commercial temperature grade (0C to 95C) at 27C
    Reset cause: POR
    DRAM:  1 GiB
    MCA:   HW_VER=1  FW_VER=0.17
    MMC:   FSL_SDHC: 1, FSL_SDHC: 0
    In:    serial
    Out:   serial
    Err:   serial
    Model: Digi ConnectCore 8M Nano Development Kit
    ConnectCore 8M Nano SOM variant 0x01: 1 GiB LPDDR4, Wi-Fi, Bluetooth, MCA, Crypto-auth
      Board version undefined, ID undefined
     BuildInfo:
       - ATF a2fcfba
       - U-Boot dub-2018.03-r3.1
    
    flash target is MMC:0
    Net:   eth0: ethernet@30be0000
    Fastboot: Normal
    Hit any key to stop autoboot:  0
    =>
    Information in the console log may vary.
  5. Install the firmware into the internal eMMC, executing the following command:

    => run install_linux_fw_sd
  6. Once the firmware is installed, the device boots automatically. The default username is root with no password.

    During installation, error messages appear when the installation process attempts to override MAC addresses. These messages are expected.

    ## Resetting to default environment
    oldval: 00:40:9D:7D:17:9A  defval: 00:04:f3:ff:ff:fa
    ## Error: Can't overwrite "ethaddr"
    himport_r: can't insert "ethaddr=00:04:f3:ff:ff:fa" into hash table
    oldval: 00:40:9D:7D:17:9B  defval: 00:04:f3:ff:ff:fb
    ## Error: Can't overwrite "eth1addr"
    himport_r: can't insert "eth1addr=00:04:f3:ff:ff:fb" into hash table
    oldval: 00:40:9D:7D:17:9C  defval: 00:04:f3:ff:ff:fc
    ## Error: Can't overwrite "wlanaddr"
    himport_r: can't insert "wlanaddr=00:04:f3:ff:ff:fc" into hash table
    oldval: 00:40:9D:7D:17:9D  defval: 00:04:f3:ff:ff:fd
    ## Error: Can't overwrite "btaddr"
    himport_r: can't insert "btaddr=00:04:f3:ff:ff:fd" into hash table