Stuck during Flashing NAND via sdcard imx7 linux


While flashing the NAND via sdcard , stuck at middle. then we restarted imx7 remain unresponsive. we are connecting imx7(voila plus) via rs232 communication(uart A tx- 26 rx-27). we used prebuild linux image 2.7 beta.

Now we are unable to connect imx7 through serial port, is there any ways we can update NAND Image. Is it possible to directly boot from sdcard. (like pi)

thanks for any suggestion.

It is not possible to directly boot from SD card. The SoC is fused in a way which reads the boot loader (U-Boot) from internal NAND. You can however redirect U-Boot to boot from a SD card…

Without log it is hard to tell what went wrong, but I guess at this point you don’t have a U-Boot prompt anymore?

To recover the module, you need to connect USB OTG port to your host, and enter recovery (see data sheet of Colibri iMX7, chapter 7). Follow the process documented in Flashing Embedded Linux to iMX7 Modules (Flashing from Scratch chapter).


Still we are facing same problem after recovered U-Boot from recovery mode.

recovery log:

technomed@TECHNOMED-01:~/Desktop/Colibri_iMX7_LinuxImageV2.6.1$ ./ -d
Colibri iMX7 rootfs detected
Put the module in recovery mode and press [ENTER]...

config file 
vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0071 file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x007d file_name=mx6_usb_work.conf
vid=0x15a2 pid=0x0076 file_name=mx7_usb_work.conf
vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
vid=0x066f pid=0x37ff file_name=linux_gadget.conf
config file 
parse /home/technomed/Desktop/oe-core/build/tmp-glibc/sysroots/i686-linux/etc/imx-loader.d/mx7_usb_work.conf
15a2:0076(mx7) bConfigurationValue =1
Interface 0 claimed
HAB security state: development mode (0x56787856)
== work item
filename colibri-imx7_bin/u-boot.imx
load_size 0 bytes
load_addr 0x00000000
dcd 1
clear_dcd 0
plug 1
jump_mode 2
jump_addr 0x00000000
== end work item
main dcd length 1b4
sub dcd length 164
sub dcd length c
Check Data Command(10) success @307900c4=1f1 mask 1
sub dcd length 34
sub dcd length c
Check Data Command(10) success @307a0004=1 mask 1

loading binary file(colibri-imx7_bin/u-boot.imx) to 877ff000, skip=0, fsize=81000 type=aa

<<<528384, 528384 bytes>>>
succeeded (status 0x88888888)
jumping to 0x877ff400

It shows succeeded but connecting via RS232, we are unable to get log prompt (Colibri iMX7 #).

Hm, the host side log does not show anything out of the ordinary. You really should get a prompt on UART_A with baudrate 115200.

Note that the Viola Carrier board does not have a RS232 transceiver. You need to connect a UART TTL capable adapter (typically a USB FTDI TTL cable such as this). Also make sure to connect your host side RX pin to the Viola TX pin and vise versa.

Problem solved, when we shorts RTS and CTS pin of UART A