Difference between revisions of "iMX8M Industrial Flashing Procedure"
Jump to navigation
Jump to search
(26 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:iMX8M Industrial Development Kit]] | [[Category:iMX8M Industrial Development Kit]] | ||
+ | [[Category:iMX8M Industrial Software]] | ||
<!-- --> | <!-- --> | ||
<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=iMX8M_Industrial_Development_Kit/module/software binaries] into iMX8M | + | This page describes how to flash [https://downloads.voipac.com/index.php?p=iMX8M_Industrial_Development_Kit/module/software binaries] into iMX8M 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 development kits.''''' | + | '''''Note: All of the steps listed below are NOT REQUIRED for standard configuration modules and development kits.''''' |
== Installing Universal Upload Utility (UUU) == | == Installing Universal Upload Utility (UUU) == | ||
Line 30: | Line 31: | ||
[[File:iMX8M_Industrial_Development_Kit-Serial_donwloader_mode.png|400px]]<br /><br /> | [[File:iMX8M_Industrial_Development_Kit-Serial_donwloader_mode.png|400px]]<br /><br /> | ||
− | * Plug USB Micro-B cable to baseboard CONSOLE connector and PC | + | * 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-C cable to baseboard USB-C connector and PC<br />'''''Note:''''' Powering of the development kit is not required during the flashing procedure. | + | [[image:iMX_Development_Baseboard-Serial_console_jumpers.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 /> | ||
+ | [[image:iMX8M Industrial Development Kit-Serial-consoles-recognized.png|594px]]<br /><br /> | ||
+ | |||
* Download and copy imx-boot and *.wic files into ''uuu\'' directory | * Download and copy imx-boot and *.wic files into ''uuu\'' directory | ||
* Choose one of the following commands to start the flashing process: | * Choose one of the following commands to start the flashing process: | ||
Line 55: | Line 60: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
uuu.exe -b sd_all imx-boot voipac-image-imx8mq-voipac.wic | uuu.exe -b sd_all imx-boot voipac-image-imx8mq-voipac.wic | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Flashing logs === | ||
+ | ==== UUU ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | [[image:iMX8M Industrial Development Kit-Flashing binaries.png|750px]] | ||
+ | |||
+ | ==== Serial console ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | ..................................................... | ||
+ | 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 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 65: | Line 136: | ||
* 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 (default) ==== | + | ==== eMMC Flash Memory boot (default) ==== |
[[File:iMX8M_Industrial_Development_Kit-eMMC_boot_DIP_switch_configuration.png|400px]]<br /><br /> | [[File:iMX8M_Industrial_Development_Kit-eMMC_boot_DIP_switch_configuration.png|400px]]<br /><br /> | ||
− | ==== SD Card ==== | + | ==== SD Card boot ==== |
[[File:iMX8M_Industrial_Development_Kit-SD_boot_DIP_switch_configuration.png|400px]]<br /><br /> | [[File:iMX8M_Industrial_Development_Kit-SD_boot_DIP_switch_configuration.png|400px]]<br /><br /> | ||
− | * Connect USB Micro-B debug cable, switch on the power and the development kit starts booting with the new binaries | + | * 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 14:46, 11 September 2024
This page describes how to flash binaries into iMX8M 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
- Go to: https://github.com/NXPmicro/mfgtools/releases
- Select the latest stable release.
Example: Releases/uuu_1.4.243: https://github.com/NXPmicro/mfgtools/releases/tag/uuu_1.4.243 - Download: uuu.exe
- Save the file into: C:\uuu
Preparing the binaries
- Download the default bootloader file: imx-boot
- Download the default WIC filesystem image: voipac-image-imx8mq-voipac.wic
Flashing procedure
- Set serial downloader mode by sliding DIP switch S1 BOOT positions to: 1-OFF, 2-ON
- 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).
- 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.
- 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
- 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)
SD Card boot
- Connect USB Micro-B debug cable, switch on the power and the development kit starts booting with the new binaries