Difference between revisions of "iMX8M Industrial Flashing Procedure"

From Voipac Wiki
Jump to navigation Jump to search
Line 32: Line 32:
  
 
* Plug USB Micro-B cable to baseboard CONSOLE connector and PC<br />'''''Note:''''' Make sure that UART1 and UART2 jumpers are in CP2105 positions (USB/UART bridge).<br />
 
* Plug USB Micro-B cable to baseboard CONSOLE connector and PC<br />'''''Note:''''' Make sure that UART1 and UART2 jumpers are in CP2105 positions (USB/UART bridge).<br />
[[image:imx8m-baseboard-jumpers.png|600px]]
+
[[iMX8M_Development_Baseboard-Serial_console_jumpers.png|600px]]
 
* Plug USB-C cable to baseboard USB-C connector and PC<br />'''''Note:''''' Powering of the development kit is not required during the flashing procedure.<br />'''''Note:''''' After connecting 2 development board cables, 2 serial ports named ''Silicon Labs CP210X USB to UART Bridge'' should appear in the controlling PC.<br />
 
* Plug USB-C cable to baseboard USB-C connector and PC<br />'''''Note:''''' Powering of the development kit is not required during the flashing procedure.<br />'''''Note:''''' After connecting 2 development board cables, 2 serial ports named ''Silicon Labs CP210X USB to UART Bridge'' should appear in the controlling PC.<br />
 
[[image:TeraTerm-2-ports.png|600px]]<br />
 
[[image:TeraTerm-2-ports.png|600px]]<br />

Revision as of 05:33, 7 February 2023

This page describes how to flash binaries into iMX8M Industrial Module's eMMC Flash memory or into SD card that is located on the iMX8M Development Baseboard.

Note: All of the steps listed below are NOT REQUIRED for standard configuration modules and development kits.

Installing Universal Upload Utility (UUU)

Linux

git clone ssh://git@github.com/NXPmicro/mfgtools.git
cd mfgtools
mkdir .build && cd .build && cmake .. && make -j`nproc`

The binary called uuu, which is used for flashing, is located in .build/uuu directory.

Windows

Preparing the binaries

Flashing procedure

  • Set serial downloader mode by sliding DIP switch S1 BOOT positions to: 1-OFF, 2-ON

iMX8M Industrial Development Kit-Serial donwloader mode.png

  • Plug USB Micro-B cable to baseboard CONSOLE connector and PC
    Note: Make sure that UART1 and UART2 jumpers are in CP2105 positions (USB/UART bridge).

600px

  • Plug USB-C cable to baseboard USB-C connector and PC
    Note: Powering of the development kit is not required during the flashing procedure.
    Note: After connecting 2 development board cables, 2 serial ports named Silicon Labs CP210X USB to UART Bridge should appear in the controlling PC.

600px

  • Download and copy imx-boot and *.wic files into uuu\ directory
  • Choose one of the following commands to start the flashing process:

eMMC Flash Memory (default)

Linux

sudo ./uuu -b emmc_all imx-boot voipac-image-imx8mq-voipac.wic

Windows

uuu.exe -b emmc_all imx-boot voipac-image-imx8mq-voipac.wic

SD Card

Linux

sudo ./uuu -b sd_all imx-boot voipac-image-imx8mq-voipac.wic

Windows

uuu.exe -b sd_all imx-boot voipac-image-imx8mq-voipac.wic

Flashing logs

UUU

Microsoft Windows [Version 10.0.19045.2486]
(c) Microsoft Corporation. All rights reserved.

C:\Users\voipac>cd c:\uuu

c:\uuu>uuu.exe -b emmc_all imx-boot voipac-image-imx8mq-voipac.wic
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.243-0-ged48c51

Success 1    Failure 0


2:22     8/ 8 [Done                                  ] FB: done

c:\uuu>

Serial console

.....................................................
downloading of 16776244 bytes finished
request 00000000bf1428c0 was not queued to ep1in-bulk
writing to partition 'all'
sparse flash target is mmc:0
writing to partition 'all' for sparse, buffer size 16776244
Flashing sparse image at offset 0
Flashing Sparse Image
........ wrote 16776192 bytes to 'all'
request 00000000bf1428c0 was not queued to ep1in-bulk
Starting download of 7807028 bytes
request 00000000bf1428c0 was not queued to ep1in-bulk
...........................................................
downloading of 7807028 bytes finished
request 00000000bf1428c0 was not queued to ep1in-bulk
writing to partition 'all'
sparse flash target is mmc:0
writing to partition 'all' for sparse, buffer size 7807028
Flashing sparse image at offset 0
Flashing Sparse Image
........ wrote 7806976 bytes to 'all'
request 00000000bf1428c0 was not queued to ep1in-bulk
request 00000000bf1428c0 was not queued to ep1in-bulk
Starting download of 1168032 bytes
request 00000000bf1428c0 was not queued to ep1in-bulk
........
downloading of 1168032 bytes finished
request 00000000bf1428c0 was not queued to ep1in-bulk
writing to partition 'bootloader'
Initializing 'bootloader'
switch to partitions #1, OK
mmc0(part 1) is current device
Writing 'bootloader'

MMC write: dev # 0, block # 66, count 2282 ... 2282 blocks written: OK
Writing 'bootloader' DONE!
request 00000000bf1428c0 was not queued to ep1in-bulk
Detect USB boot. Will enter fastboot mode!
request 00000000bf1428c0 was not queued to ep1in-bulk
Detect USB boot. Will enter fastboot mode!
request 00000000bf1428c0 was not queued to ep1in-bulk

Running the newly flashed binaries

After completing the above steps, eMMC Flash memory or SD Card is flashed and the following steps are to be performed to boot the new image:

  • Unplug USB-C cable from PC
  • Set Boot mode by sliding DIP switch S1 BOOT positions to: 1-ON, 2-OFF

iMX8M Industrial Development Kit-Boot mode.png

  • Make sure that S2 BOOT and S3 BOOT DIP switches are in correct positions in order to boot from the selected storage media (eMMC Flash memory or SD Card):

eMMC Flash Memory boot (default)

iMX8M Industrial Development Kit-eMMC boot DIP switch configuration.png

SD Card boot

iMX8M Industrial Development Kit-SD boot DIP switch configuration.png

  • Connect USB Micro-B debug cable, switch on the power and the development kit starts booting with the new binaries