Warning: Make sure there is no SD card inserted in the carrier board in order to enter recovery mode properly
If your module still boots, you can use the boot loader to flash your operating system. Refer to the OS specific article how to flash an image.
In case your module doesn't boot at all, you can download the boot loader directly into the modules memory using the serial port UART_A. This article shows how to this.
The Colibri VFxx modules support serial recovery only using UART_A. Serial recovery requires hardware flow control with RTS/CTS signals. As the boot ROM is able to keep up with the incoming data the flow control signals can simply be bridged if required. However we recommend to use RTS/CTS whenever possible. When starting the serial downloader utility remember whether you have RTS/CTS connected or bridged.
Colibri Evaluation Board
Depending on JP17/19 (and JP20/JP21 if you use a Carrier Board with V3.2 and later) connect the serial debug console to the bottom X25 using a null modem RS-232 cable or X27 using a regular USB cable.
Iris Carrier Board
Connect UART_A on X13 to your PC.
Aster Carrier Board
Connect the Micro USB (X4) to your PC. It functions both as a power supply and as UART_A port.
There are 3 different methods to enter recovery mode using hardware mechanisms. While alternative 3 is more generic, it is usually a bit clumsier to execute.
Warning: Follow precautions for handling electrostatic sensitive devices (ESD)
The serial recovery utility uses the serial download protocol used on other NXP/Freescale devices as well, hence the name imx_uart. For a more detailed instruction refer to the operating specific articles.
Note: After using the boot loader (after the module has been re-flashed) the module needs a power cycle! When using reset only the module will again switch to recovery mode. The reason is that the Vybrid SoC stores the flag "enter recovery mode" across a reset no matter if it was a hardware or software reset. The only way to clear the "enter recovery mode" flag is to power the module off and back on.
The utility imx_uart is called by our update shell script:
$ ./update.sh -d /dev/ttyS0
In case RTS/CTS are not connected, use the parameter -n:
$ ./update.sh -n -d /dev/ttyUSB0
This downloads U-Boot to the modules memory and starts it from there.
On the same serial connection a serial console should appear after downloading the boot loader, which you can access by using a console application like screen or minicom.
The next steps are similar to the conventional flashing procedure. However, since the boot loader did not work anymore it is likely that there is something wrong with the initial boot configuration block (BCB). To recreate the BCB use the commands described in the Flashing from Scratch chapter of the Flashing Embedded Linux to Vybrid Modules article.
The imx_uart utility and all the files required to recover a module from a PC running windows are included in the OS image download, in a folder of the zip file named "recovery"
The imx_uart utility can't use COM ports higher then COM9 with the commonly known syntax. There are two solutions:
To download u-boot (to flash/restore Linux image)
$ imx_uart.exe COMX: .\vybrid_uboot.conf
To download e-boot and flash/restore Windows CE:
$ imx_uart.exe COMX: .\vybrid_eboot.conf
Where COMX: is the name of your serial port.
In case RTS/CTS are not connected, use the parameter --no-rtscts. This time, we use a port number >= COM10 in the example:
$ imx_uart.exe --no-rtscts \\.\COMXX .\vybrid_eboot.conf
For the steps required to completely restore the system as soon as the boot loader is running on the target, refer to one of these articles based on your desired operating system: