Difference between revisions of "iMX93 Industrial Flashing Procedure"Voipac webshop

From Voipac Wiki
Jump to navigation Jump to search
 
(24 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
<!-- -->
 
<!-- -->
 
<div style="float:right">__TOC__</div>
 
<div style="float:right">__TOC__</div>
This page describes how to flash [https://downloads.voipac.com/index.php?p=iMX93_Industrial_Development_Kit/module/software binaries] into iMX93 Industrial Module's eMMC Flash memory or into SD card that is located on the iMX Development Baseboard.<br /><br />
+
This page describes how to flash [https://downloads.voipac.com/index.php?p=iMX93_Industrial_Development_Kit/module/software/filesystem binaries] into iMX93 Industrial Module's eMMC Flash memory or into SD card that is located on the iMX Development Baseboard.<br /><br />
  
 
'''''Note: All of the steps listed below are NOT REQUIRED for standard configuration modules and development kits.'''''
 
'''''Note: All of the steps listed below are NOT REQUIRED for standard configuration modules and development kits.'''''
Line 19: Line 19:
 
=== Windows ===
 
=== Windows ===
 
* Go to: https://github.com/NXPmicro/mfgtools/releases
 
* Go to: https://github.com/NXPmicro/mfgtools/releases
* Select the latest stable release.<br />Example: '''''Releases/uuu_1.4.243''''': https://github.com/NXPmicro/mfgtools/releases/tag/uuu_1.4.243
+
* Select the latest stable release.<br />Example: '''''Releases/uuu_1.5.201''''': https://github.com/nxp-imx/mfgtools/releases/tag/uuu_1.5.201
* Download: [https://github.com/NXPmicro/mfgtools/releases/download/uuu_1.4.243/uuu.exe uuu.exe]
+
* Download: [https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.5.201/uuu.exe uuu.exe]
 
* Save the file into: C:\uuu
 
* Save the file into: C:\uuu
  
 
== Preparing the binaries ==
 
== Preparing the binaries ==
* Download the default bootloader file: [https://downloads.voipac.com/files/iMX8M_Industrial_Development_Kit/module/software/yocto/binaries/imx-boot imx-boot]
+
* Download the default WIC filesystem image e.g. for pro configuration: [https://downloads.voipac.com/files/iMX93_Industrial_Development_Kit/module/software/filesystem/voipac-image-imx93-pro.rootfs.wic voipac-image-imx93-pro.rootfs.wic]
* Download the default WIC filesystem image: [https://downloads.voipac.com/files/iMX8M_Industrial_Development_Kit/module/software/filesystem/voipac-image-imx8mq-voipac.wic voipac-image-imx8mq-voipac.wic]
 
  
 
== Flashing procedure ==
 
== Flashing procedure ==
Line 32: Line 31:
  
 
* 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:iMX_Development_Baseboard-Serial_console_jumpers.png|594px]]<br /><br />
+
[[image:iMX Development Baseboard-Serial console jumpers-iMX93 COM.png|594px]]<br /><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 />
 
* 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:iMX8M Industrial Development Kit-Serial-consoles-recognized.png|594px]]<br /><br />
 
[[image:iMX8M Industrial Development Kit-Serial-consoles-recognized.png|594px]]<br /><br />
 +
* Default Serial Port Settings
 +
[[File:Serial Port Setup.png]]<br /><br />
 +
  
 
* Download and copy imx-boot and *.wic files into ''uuu\'' directory
 
* Download and copy imx-boot and *.wic files into ''uuu\'' directory
Line 43: Line 45:
 
==== Linux ====
 
==== Linux ====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo ./uuu -b emmc_all imx-boot voipac-image-imx8mq-voipac.wic
+
sudo ./uuu -b emmc_all imx-boot voipac-image-imx93-pro.rootfs.wic
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
==== Windows ====
 
==== Windows ====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
uuu.exe -b emmc_all imx-boot voipac-image-imx8mq-voipac.wic
+
uuu.exe -b emmc_all voipac-image-imx93-pro.rootfs.wic
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 54: Line 57:
 
==== Linux ====
 
==== Linux ====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo ./uuu -b sd_all imx-boot voipac-image-imx8mq-voipac.wic
+
sudo ./uuu -b sd_all voipac-image-imx93-pro.rootfs.wic
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
==== Windows ====
 
==== Windows ====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
uuu.exe -b sd_all imx-boot voipac-image-imx8mq-voipac.wic
+
uuu.exe -b sd_all voipac-image-imx93-pro.rootfs.wic
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 70: Line 73:
 
C:\Users\voipac>cd c:\uuu
 
C:\Users\voipac>cd c:\uuu
  
c:\uuu>uuu.exe -b emmc_all imx-boot voipac-image-imx8mq-voipac.wic
+
c:\uuu>uuu.exe -b emmc_all voipac-image-imx93-voipac-pro.rootfs.wic
 
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.243-0-ged48c51
 
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.243-0-ged48c51
  
Line 76: Line 79:
  
  
2:22     8/ 8 [Done                                  ] FB: done
+
2:43     8/ 8 [Done                                  ] FB: done
  
 
c:\uuu>
 
c:\uuu>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[image:iMX8M Industrial Development Kit-Flashing binaries.png|750px]]
+
 
 +
[[image:iMX93_Industrial_Development_Kit-Flashing_binaries.png|750px]]
  
 
==== Serial console ====
 
==== Serial console ====
Line 87: Line 91:
 
.....................................................
 
.....................................................
 
downloading of 16776244 bytes finished
 
downloading of 16776244 bytes finished
request 00000000bf1428c0 was not queued to ep1in-bulk
 
 
writing to partition 'all'
 
writing to partition 'all'
 
sparse flash target is mmc:0
 
sparse flash target is mmc:0
Line 94: Line 97:
 
Flashing Sparse Image
 
Flashing Sparse Image
 
........ wrote 16776192 bytes to 'all'
 
........ wrote 16776192 bytes to 'all'
request 00000000bf1428c0 was not queued to ep1in-bulk
+
Starting download of 16776244 bytes
Starting download of 7807028 bytes
+
..........................................................................
request 00000000bf1428c0 was not queued to ep1in-bulk
+
.....................................................
...........................................................
+
downloading of 16776244 bytes finished
downloading of 7807028 bytes finished
+
writing to partition 'all'
request 00000000bf1428c0 was not queued to ep1in-bulk
+
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'
 +
Starting download of 11424820 bytes
 +
..........................................................................
 +
.............
 +
downloading of 11424820 bytes finished
 
writing to partition 'all'
 
writing to partition 'all'
 
sparse flash target is mmc:0
 
sparse flash target is mmc:0
writing to partition 'all' for sparse, buffer size 7807028
+
writing to partition 'all' for sparse, buffer size 11424820
 
Flashing sparse image at offset 0
 
Flashing sparse image at offset 0
 
Flashing Sparse Image
 
Flashing Sparse Image
........ wrote 7806976 bytes to 'all'
+
........ wrote 11424768 bytes to 'all'
request 00000000bf1428c0 was not queued to ep1in-bulk
+
Starting download of 2126848 bytes
request 00000000bf1428c0 was not queued to ep1in-bulk
+
................
Starting download of 1168032 bytes
+
downloading of 2126848 bytes finished
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'
 
writing to partition 'bootloader'
 
Initializing 'bootloader'
 
Initializing 'bootloader'
Line 119: Line 126:
 
Writing 'bootloader'
 
Writing 'bootloader'
  
MMC write: dev # 0, block # 66, count 2282 ... 2282 blocks written: OK
+
MMC write: dev # 0, block # 0, count 4154 ... 4154 blocks written: OK
 
Writing 'bootloader' DONE!
 
Writing 'bootloader' DONE!
request 00000000bf1428c0 was not queued to ep1in-bulk
 
 
Detect USB boot. Will enter fastboot mode!
 
Detect USB boot. Will enter fastboot mode!
request 00000000bf1428c0 was not queued to ep1in-bulk
 
 
Detect USB boot. Will enter fastboot mode!
 
Detect USB boot. Will enter fastboot mode!
request 00000000bf1428c0 was not queued to ep1in-bulk
+
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 134: Line 139:
 
* Set Boot mode by sliding DIP switch S1 BOOT positions to: 1-ON, 2-OFF
 
* Set Boot mode by sliding DIP switch S1 BOOT positions to: 1-ON, 2-OFF
 
[[File:iMX8M_Industrial_Development_Kit-Boot_mode.png|400px]]<br /><br />
 
[[File:iMX8M_Industrial_Development_Kit-Boot_mode.png|400px]]<br /><br />
 +
 +
* In case of SD card boot set DIP switch S1 BOOT positions to 1-ON, 2-ON
 +
[[File:SD Card booting.png|400px]]<br /><br />
  
 
*  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):
 
*  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) ====
 
==== eMMC Flash Memory boot (default) ====
[[File:iMX8M_Industrial_Development_Kit-eMMC_boot_DIP_switch_configuration.png|400px]]<br /><br />
+
[[File:boot eMMC iMX93.png|400px]] <br /><br />
 +
 
 
==== SD Card boot ====
 
==== SD Card boot ====
[[File:iMX8M_Industrial_Development_Kit-SD_boot_DIP_switch_configuration.png|400px]]<br /><br />
+
[[File:boot SD Card iMX93.png|400px]]<br /><br />
 
* Connect USB Micro-B debug cable, switch on the power and the development kit starts booting with the new binaries<br /><br />
 
* Connect USB Micro-B debug cable, switch on the power and the development kit starts booting with the new binaries<br /><br />

Latest revision as of 15:46, 18 February 2025

This page describes how to flash binaries into iMX93 Industrial Module's eMMC Flash memory or into SD card that is located on the iMX 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).

iMX Development Baseboard-Serial console jumpers-iMX93 COM.png

  • 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.

iMX8M Industrial Development Kit-Serial-consoles-recognized.png

  • Default Serial Port Settings

Serial Port Setup.png


  • 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-imx93-pro.rootfs.wic

Windows

uuu.exe -b emmc_all voipac-image-imx93-pro.rootfs.wic

SD Card

Linux

sudo ./uuu -b sd_all voipac-image-imx93-pro.rootfs.wic

Windows

uuu.exe -b sd_all voipac-image-imx93-pro.rootfs.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 voipac-image-imx93-voipac-pro.rootfs.wic
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.243-0-ged48c51

Success 1    Failure 0


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

c:\uuu>


iMX93 Industrial Development Kit-Flashing binaries.png

Serial console

.....................................................
downloading of 16776244 bytes finished
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'
Starting download of 16776244 bytes
..........................................................................
.....................................................
downloading of 16776244 bytes finished
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'
Starting download of 11424820 bytes
..........................................................................
.............
downloading of 11424820 bytes finished
writing to partition 'all'
sparse flash target is mmc:0
writing to partition 'all' for sparse, buffer size 11424820
Flashing sparse image at offset 0
Flashing Sparse Image
........ wrote 11424768 bytes to 'all'
Starting download of 2126848 bytes
................
downloading of 2126848 bytes finished
writing to partition 'bootloader'
Initializing 'bootloader'
switch to partitions #1, OK
mmc0(part 1) is current device
Writing 'bootloader'

MMC write: dev # 0, block # 0, count 4154 ... 4154 blocks written: OK
Writing 'bootloader' DONE!
Detect USB boot. Will enter fastboot mode!
Detect USB boot. Will enter fastboot mode!

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

  • In case of SD card boot set DIP switch S1 BOOT positions to 1-ON, 2-ON

SD Card booting.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)

boot eMMC iMX93.png

SD Card boot

boot SD Card iMX93.png

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