Search by Tags

VFxx Recovery Mode


Compare with Revision

Subscribe for this article updates

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.

Connecting serial port

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.

Iris Carrier Board 1.1A

Connect UART_A on X13 to your PC. When connecting to PC make sure your serial port is RTS/CTS capable (most USB-to-RS232 converters are). However if you only have an RX/TX capable serial port (albeit still at valid RS-232 voltage levels of course) that will work as long as CTS gets properly asserted (e.g. put to a voltage level of between 3 and 15 volts) or just bridged to RTS. Refer to the Iris Carrier Board Peripherals article how to get a cable.

Colibri Evaluation Board 3.2

a) RS-232 Connector (X25, lower connector): JP17/JP19/JP20/JP21 must not be on FTDI. When connecting to PC, make sure your serial port is RTS/CTS capable (most USB-to-RS232 converter are).

b) Recommended: FTDI On-board USB-to-UART converter (X27): JP17/JP19/JP20/JP21 must be on FTDI. RTS/CTS are connected to the FTDI, hence hardware flow control can be used. RTS/CTS must not be shortened on module side.

Colibri Evaluation Board 3.1

a) Recommended: RS-232 Connector (X25, lower connector): JP17/JP19 must not be on USB. When connecting to PC, make sure your serial port is RTS/CTS capable (most USB-to-RS232 converter are).

b) FTDI On-board USB-to-UART converter (X27): JP17/JP19 must be on USB. RTS/CTS must be shortened on the module side (this is required since RTS/CTS are NOT connected to the FTDI).

Enter recovery mode

Entering recovery mode is a bit different than on other Toradex modules. Especially power need to be applied after shorten the recovery mode.

Iris Carrier Board 1.1A

  1. Short the pad 1 and 2 of JP1 in Iris using a wire. Refer to the picture below:

  1. Power up Iris board.

  2. Remove the wire.

Colibri Evaluation Board 3.1/3.2

  1. Press and keep pressed (or hold) recovery mode button SW9

  2. Power on Eval board using SW7

  3. After 1-2 seconds, release recovery mode button SW9.

Note: Using Reset doesn't work! This is since the Vybrid SoC samples the boot mode strapping pins only once when it gets powered-up.

Directly on VFxx module

  1. Shorten the recovery pad. Refer to the picture below:

  1. Power on the module

Run recovery utility

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.


On Linux, the utility imx_uart is called by our update shell script:

./ -d /dev/ttyS0

In case RTS/CTS are not connected, use the parameter -n:

./ -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. 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:

    • You can change COM port index going into device manager and double clicking the COM port. Click on port settings tab and then click the advanced button. There is a setting called COM Port Number and you can change it there.
    • Instead of naming the port COMxx: , name it \\.\COMxx

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 the OS-specific articles in our knowledge base.