Personal tools

Difference between revisions of "How to write image to VisionSOM-6ULL NAND/eMMC using UUU tool on Windows"

From SomLabs Wiki

Jump to: navigation, search
(Information)
(Information)
Line 14: Line 14:
 
* Default NAND paritions layout for 4M boot variant (remaining NAND area is used for root file system by default):
 
* Default NAND paritions layout for 4M boot variant (remaining NAND area is used for root file system by default):
 
[[File:VCB_UUU_flasher_NAND_map.png|center|200px]]
 
[[File:VCB_UUU_flasher_NAND_map.png|center|200px]]
 
 
*
 
  
 
== Preparing ==
 
== Preparing ==

Revision as of 01:45, 29 June 2019

How to write image to VisionSOM-6ULL NAND/eMMC using UUU tool on Windows


Prerequisites

  • PC with Microsoft Windows 10 64-bit OS
  • A complete package with NXP UUU application
  • u-boot-dtb.imx/vsom-6ull-fb.bin - u-boot binary file to be programmed into traget
  • rootfs.ubi - root file system image

Information

  • SOMLABS solution is based on NXP UUU tool, with some extensions added on top of it to easly handle SOMLABS boards.
  • You can use different file names than default (u-boot-dtb.imx, rootfs.ubi) - those names are just a example.
  • Please note also, that file can be located in any directory - you need to specify complete file path then.
  • If you are using VisionSOM module with i.MX6UL processor, please change in commands given below '6ull' to '6ul'
  • Default NAND paritions layout for 4M boot variant (remaining NAND area is used for root file system by default):
VCB UUU flasher NAND map.png

Preparing

For programming a memory of VisionSOM-6ULL, switch boot selector to mode: SERIAL.

BOOTx Boot Mode
BOOT1 BOOT0
1 1 Reserved
1 0 Internal
0 1 Serial
0 0 Fuses

Connect the VisionCB-STD board to the host PC using microUSB cable connected to the USB-OTG connector. To observe progress/error reports during programming, please use serial console. If you are using standard VisionSOM carrier board, this can be done by using build in serial/usb converter.

Programming board with eMMC/uSD card

Flasher does not assume any specific partitions layout. It simply takes raw image of eMMC/SD card and writes it into the storage.

For image programing, use command:

uuu.exe -b vsom_6ull_emmc_flasher sdcard.img

while: sdcard.img - raw image of SD card or eMMC memory

At the command prompt, a progress bar will appear:

VCB UUU flashing progress bar.png

The serial terminal output will look like this:

U-Boot 2018.03-00022-g23f402fe9c-dirty (May 27 2019 - 23:52:18 +0200)

CPU:   Freescale i.MX6ULL rev1.0 792 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 50C
Reset cause: POR
Model: SoMLabs VisionSOM-6ULL
Board: SomLabs VisionSOM-6ULL
DRAM:  512 MiB
board_fix_fdt(): boot device: 7, fdt@8789ed8c
fdt_enable_by_ofname(): enabling node [/soc/aips-bus@02100000/qspi@021e0000] @00                                                                                                                                00641C...result: 0
fdt_enable_by_ofname(): enabling node [/soc/aips-bus@02100000/usdhc@02194000] @0                                                                                                                                0005950...result: 0
board_fix_fdt(): configuring USDHC2 for SD mode
board_fix_fdt(): offset: 00005950, status 0
NAND:  MXS NAND: clock is disabled!
0 MiB
MMC:   FSL_SDHC: 0
No panel detected: default to SL-TFT7-TP
Display: SL-TFT7-TP (800x480)
Video: 800x480x24
Error (-2): cannot determine file size
In:    serial
Out:   serial
Err:   serial
board_late_init()
flash target is MMC:0
Fastboot: Normal
Boot from USB for uuu
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Starting download of 16776232 bytes
..........................................................................
.....................................................
downloading of 16776232 bytes finished
writing to partition 'all'
sparse flash target is mmc:0
writing to partition 'all' for sparse, buffer size 16776232
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'


(...)


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 8396852 bytes
................................................................
downloading of 8396852 bytes finished
writing to partition 'all'
sparse flash target is mmc:0
writing to partition 'all' for sparse, buffer size 8396852
Flashing sparse image at offset 0
Flashing Sparse Image
........ wrote 8396800 bytes to 'all'
resetting ...

If the process ends with success, a property information will show on the command prompt:

VCB UUU flashing done.png

The SoM will not boot due to present boot selector setup. Revert the boot selector back to: INTERNAL and press RESET. The board should start booting.

Programming board with NAND Flash

For memory programing, use command:

uuu.exe -b vsom_6ull_nand_flasher vsom-6ull-fb.bin rootfs.ubi

while: vsom-6ull-fb.bin - u-boot binaries; rootfs.ubi - user root filesystem

At the command prompt, a progress bar will appear:

VCB UUU flashing progress bar NAND.png

The serial terminal output will look like this:

U-Boot 2018.03-00022-g23f402fe9c-dirty (May 27 2019 - 23:52:18 +0200)

CPU:   Freescale i.MX6ULL rev1.0 792 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 49C
Reset cause: POR
Model: SoMLabs VisionSOM-6ULL
Board: SomLabs VisionSOM-6ULL
DRAM:  512 MiB
board_fix_fdt(): boot device: 14, fdt@8789ed8c
fdt_enable_by_ofname(): enabling node [/soc/gpmi-nand@01806000] @00001080...result: 0
SomLabs VisionSOM-6ULL - configuring NAND interface...
NAND:  512 MiB
MMC:
No panel detected: default to SL-TFT7-TP
Display: SL-TFT7-TP (800x480)
Video: 800x480x24
Attempt to read outside the flash area
In:    serial
Out:   serial
Err:   serial
board_late_init()
Fastboot: Normal
Boot from USB for uuu
Hit any key to stop autoboot:  0
Starting download of 687104 bytes
.....
downloading of 687104 bytes finished
imxkobs: Image header:
    header: 402000D1
 boot_data: 877FF420
  dcd_addr: 877FF42C
      self: 877FF400
       csf: 00000000
 boot_data@ 80800020
     start: 877FF000
    length: 000A8000
do_imxkobs(): max_boot_stream_size_in_bytes = 1048576, boot_stream_size_in_bytes = 688128, boot_stream_size_in_pages = 168
do_imxkobs(): fw#1 0x00100000 - 0x00200000 (0x001a8000)
do_imxkobs(): fw#2 0x00200000 - 0x00300000 (0x002a8000)
do_imxkobs(): fcb checksum: FFFFFA7E
do_imxkobs(): erasing boot area...
do_imxkobs(): writing firmware image copy 1...
do_imxkobs(): writing firmware image copy 2...
do_imxkobs(): writing DBBT header...
do_imxkobs(): writing DBBT data...
do_imxkobs(): writing FCB...
  writing fcb[0] @ 00000000
  writing fcb[1] @ 00080000
do_imxkobs(): done
Starting download of 47185920 bytes
..........................................................................
..........................................................................
..........................................................................
..........................................................................
................................................................
downloading of 47185920 bytes finished

NAND erase.part: device 0 offset 0x400000, size 0x1fc00000
Skipping bad block at  0x1ff00000
Skipping bad block at  0x1ff40000
Skipping bad block at  0x1ff80000
Skipping bad block at  0x1ffc0000

OK

NAND write: device 0 offset 0x400000, size 0x2d00000
 47185920 bytes written: OK
resetting ...

If the process ends with success, a property information will show on the command prompt:

VCB UUU flashing done NAND.png

The SoM will not boot due to present boot selector setup. Revert the boot selector back to: INTERNAL and press RESET. The board should start booting.

Splash screen

Prepare spalsh image - maximum size is 800x480px (equal to screen resolution), bpp shall be 24bit or 8-bit with pallete. Image shall be stored as .bmp file. Please ensure that file size is smaller than 1MB.

Flashing splash screen to eMMC

There is no need to perform any additional step to program custom splash image - for applying a splash screen, simply put prepared 'splash.bmp' file into '/boot' directory of the root file system. Please ensure if u-boot on your SD card image supports splash screen displaying.

Flashing splash screen to NAND

Run command:

uuu.exe -b vsom_6ull_nand_splash splash.bmp

Be aware if any of erase blocks in 'splash' partiton are bad, then max. size of splash screen will be smaller. To meet size limit, it is possible to compress bitmap file with gzip and write compressed file to NAND.

NXP Partner ST Partner