Search by Tags

Colibri VF50/VF61 WinCE Bring-up

 
Applicable for

Compare with Revision




Subscribe for this article updates

Disclaimer

If you already run WinCE BSP V1.2 or newer you can just use the Update Tool and you do not need to follow this instructions

The set of operating system components provided are compatible with the other Colibri platforms but some of the Toradex tools and libraries are still under development and will be available in the next releases.

The image has been tested on Toradex Evaluation Board V3.1 and this is the suggested platform for initial testing and development on the Vybrid. Additional testing has been performed on the Iris board. Using recovery mode on the Iris board requires an adapter to access the debug serial port as described here Iris Carrier Board Peripherals.

Evaluate Fusing Status

If you already run WinCE BSP V1.2 or newer you can just use the Update Tool and you do not need to follow this instructions

The Colibri VF50 and VF61 feature internal configuration fuses. Early module versions were shipped with the default fuse configuration (non-fused). Newer modules were shipped with optimized fuse configurations.

Use the following table to determine whether you are working with a fused or non-fused module. The update process is slightly different.

Module Version Fusing Status Flashing Bootloader
VF50 V1.0x non-fused from eboot
from UBoot
from SD Card
VF50 V1.1A and higher fused from eboot
from UBoot
from Recovery Mode
VF50IT V1.1A and higher fused from eboot
from UBoot
from Recovery Mode
VF61 V1.0x non-fused from eboot
from UBoot
from SD Card
VF61IT V1.0x non-fused from eboot
from UBoot
from SD Card
VF61IT V1.1A non-fused from eboot
from UBoot
from SD Card
VF61IT V1.1B and higher fused from eboot
from UBoot
from Recovery Mode

Module Update Procedure

Prepare SD card and evaluate module status

To prepare the SD card, download the images package and select the SD image for the OS version you plan to use on your module:

  • Windows Embedded CE 6.0
  • Windows Embedded Compact 7
  • Windows Embedded Compact 2013
  1. Download the latest recovery image file.

  2. Extract the content of the password protected zip file on your PC.

  3. If you have a module that is booting Windows CE or Linux you can simply copy eboot.img and nk6.bin (Windows CE 6.0 R3), nk7.bin (Windows Embedded Compact 7) or nk8.bin (Windows Embedded Compact 2013) to an SD card formatted using the FAT32 filesystem and move to "Modules that are already running Windows CE" or "Modules that are running Linux" depending on what operating system is currently running on your module.
    You can also just copy the files if you plan to recover a non-booting and fused-module. In this case, just move to Flashing from recovery mode (fused modules) to restore the bootloader on your module. If you need to recover a non-booting and non-fused module then you'll have to prepare your SD card following the steps below.

  4. Inside the zip file you'll find a .img file that must be written to the SD card to make it bootable on the VFxx module.
    If you are using a Linux machine you can use the dd command to write the file contents directly to the SD card.
    If you are using a Windows PC you can download the Win32 Disk Imager tool.

  5. Launch the tool and browse to the .img file you extracted from the download package (in the new releases is named wince.img).

  6. Select your SD card drive letter in the "Device" combo box and select "Write".

    Be careful! The selected drive will be erased!

    The tool does not limit your selection to SD card, it reports all removable devices connected to your PC!
    Win32 Disk Imager

  7. Move to Flashing from SD Card (non fused modules) to flash the bootloader using your SD card.

Modules that are already running Windows CE

Carefully check the spelling of the commands you type and verify the output of each command below for errors. Errors during this phase may lead to a non-bootable system that can be recovered by booting from SD card (old, non-fused modules) or using recovery mode.

If you have a module (fused or unfused) that is already running Windows CE and e-boot version 1.0 BETA 6 or 7 the upgrade procedure is the following:
1. Insert the SD card with eboot and OS image in the SD slot of your board.

  1. Boot the module with a serial terminal connected and configured as 115200 baud, 8 data bits, one stop bit, no parity (1152008N1).

  2. Insert the SD card created following the steps described above.

  3. You'll see the e-boot welcome message:

    Toradex Bootloader 1.0 BETA 7 for Colibri Built Aug 13 2014
    Booting from fuses.
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A    
    
    Press [SPACE] to enter Bootloader Menu
    
    Initiating image download in 1 seconds. 
    
  4. Press space to terminate the automatic boot sequence.

  5. Press c to clear the registry

  6. Press x to enter the command prompt.

  7. Now e-boot can be written to the NAND flash.

    >flashloader
    Bootloader image size: 262144 bytes.
    
    Loading done.
    Flashing bootloader.
    Writing 128 sector(s) of bootloader code from sector 64.
    
    Erasing block 1
    ................................................................
    Erasing block 2
    ................................................................
    Erasing block 3
    .
    Flashing completed.
    
  8. reboot your device and move to the Flashing the OS step.

Modules that are running Linux

Carefully check the spelling of the commands you type and verify the output of each command below for errors. Errors during this phase may lead to a non-bootable system that can be recovered by booting from SD card (old, non-fused modules) or using recovery mode.

This procedure requires the latest u-boot version for the Vybrid. This version is pre-installed on modules version 1.1A (VF50 and VF50IT) and 1.1B (VF61IT).

  1. Boot the module with a serial terminal connected and configured as 115200 baud, 8 data bits, one stop bit, no parity (1152008N1).

  2. Insert the SD card created following the steps described above.

  3. Turn-on your system and press "space" to stop the normal boot procedure and enter u-boot command menu. This assumes that the FAT partition is the first primary partition. Depending on the SD card, the partition layout may be different. In that case the fatload command fails with "invalid partiton" or a similar error. The command "mmc part" shows a list of partitions numbers which can be used (replace 0:1 with 0:[Part number]).

    Colibri VF61 # mmc rescan
    
    Colibri VF61 # mmc list
    FSL_SDHC: 0
    
    Colibri VF61 # mmc dev 0
    mmc0 is current device
    Colibri VFxx # fatload mmc 0:1 ${loadaddr} eboot.img
    reading eboot.img
    262144 bytes read in 68 ms (3.7 MiB/s)
    
  4. Now you can erase flash and write eboot.

    Colibri VFxx # nand erase.part u-boot
    
    NAND erase.part: device 0 offset 0x20000, size 0x160000
    Erasing at 0x160000 -- 100% complete.
    OK  
    
  5. Then write the new loader on it.

    Colibri VFxx # nand write ${loadaddr} u-boot 0x80000
    
    NAND write: device 0 offset 0x20000, size 0x80000
     524288 bytes written: OK
    
  6. reboot your module and you will see the e-boot welcome message:

    Toradex Bootloader 1.0 for Colibri Built Mar 28 2014
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A
    
    Press [SPACE] to enter Bootloader Menu
    
    Initiating image download in 2 seconds.
    

If your device is booting continue with chapter: Flashing the OS
If your device is not booting you'll have to write a bootloader first. The recovery procedure changes, depending on the module version.
Fused modules can be restored using serial recovery mode, non-fused modules can be recovered using SD-boot (supported on the EVB).

Non booting modules

Flashing from recovery mode (fused modules)

Note: this procedure works on Fused modules only!

  1. Follow the steps described in this document: VFxx Recovery Mode and run e-boot from recovery mode.
    When the execution of imx_uart is completed (you will be returned to the command prompt) you can open a serial terminal application (teraterm or putty) configuring your serial port to 115200 baud, 1 stop bit, no parity.

  2. You will see a message printed out every second that asks to press space to access serial console:

    Press [SPACE] to enter boot console.    
    
  3. Press space

  4. At this point you'll see the e-boot welcome message (part of it may be missing due to some delay opening the serial console on your PC):

    Toradex Bootloader 1.0 for Colibri Built Aug 14 2014
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A
    Boot console, use the "exit" command to return to boot menu.
    >
    
  5. If you see an error message about FCB you can restore it following the instructions you can find here.

  6. Now e-boot can be written to the NAND flash.

    >flashloader
    Bootloader image size: 262144 bytes.
    
    Loading done.
    Flashing bootloader.
    Writing 128 sector(s) of bootloader code from sector 64.
    
    Erasing block 1
    ................................................................
    Erasing block 2
    ................................................................
    Erasing block 3
    .
    Flashing completed.
    

Now you can directly move to the Flashing the OS step.

Flashing from SD Card (non-fused modules)

Note: this procedure works on non-fused modules only. It also requires EVB 3.1.

This recovery mode requires the module boots from the SD- card.

Hardware needed:

  • VF50 or VF61 module
  • Toradex Colibri Evaluation Board Rev. 3.1
  • 6x 1K or 3.3K ohm resistors
  • A prepared SD card
  1. To enable boot from SD card, install resistors on the Evaluation Board X8 connector in the following way:
    Resistor placement

    SODIMM Pin Evalboard V3.1
    X9 pin
    Connect 1k To
    80 21 3.3V
    46 23 GND
    50 27 3.3V
    57 33 GND
    61 34 3.3V
    68 44 3.3V

  2. Put the SD card in the SD/MMC socket of the Evaluation Board

  3. Setup a serial port connection by one of the following options:
    Connect a USB cable to the X27 (RS232) connector. Verify that the JP17 and JP19 are in the USB position.
    Connect a Null-Modem cable to the X25 (UART-A) connector. Verify that the JP17 and JP19 are in the non-USB position.

  4. Open your favorite terminal application and configure the serial port as 115200bps,8 data bits, 1 stop bit, no parity (8N1).

  5. Then you can power-on the board and see the boot messages on your serial terminal.

    Toradex Bootloader 1.0 for Colibri Built Aug 13 2014
    Booting from fuses.
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A
    
    Press [SPACE] to enter Bootloader Menu
    
    Initiating image download in 1 seconds.
    

If you can't see any serial output, check the resistors and check that the module is correctly plugged in the socket.

  1. Press space in the first 2 seconds after power-up to enter the boot menu.

    BootLoader Configuration:
    
    X) Enter CommandPrompt Mode
    D) Download image to RAM now
    F) Download image to FLASH now
    L) Launch existing flash resident image now
    
    
    Enter your selection:
    
  2. Press 'x' to enter the CommandPrompt mode.

  3. First we need to make the device bootable by writing the Boot Control Block on the NAND flash.
    We must erase the first block of flash:

    >eraseflash 0 128kb
    Are you sure you want to erase flash(0x0-0x1FFFF)?y
    Erasing 1 flash blocks from 0.
    . done.
    
  4. Then we have to write the BCB:

    >writebcb
    Writing FCB...
    Checking FCB...
    System is ready to boot.
    Use flashloader to write a bootloader before you reset the device.
    
  5. The boot block contains also some device-specific ids. We need to restore them.
    Each module has a sticker with this information in the following format:
    Col type
    V version
    serial

    Type the restorefactoryinfo command using the information on your module's sticker:

    >restorefactoryinfo *modulecode* *serial* *ver* 
    

    The modulecode parameter has four valid values: VF50128, VF50128IT, VF61256, and VF61256IT. Example:

    >restorefactoryinfo VF61256 04790168 1.0B
    
  6. Now e-boot can be written to the NAND flash.

    >flashloader
    Bootloader image size: 262144 bytes.
    
    Loading done.
    Flashing bootloader.
    Writing 128 sector(s) of bootloader code from sector 64.
    
    Erasing block 1
    ................................................................
    Erasing block 2
    ................................................................
    Erasing block 3
    .
    Flashing completed.
    
  7. Power off the system and remove the strapping resistors.
    Resetting the system is not sufficient, the strapping options are only read after a power-up.

Now, move to the Flashing the OS step.

Flashing the OS

This step is valid for all the version of VF50 and VF61 modules and must be performed to store a Windows CE image on the NAND flash.

  1. Power on or reset your module.
    It will boot the latest release of e-boot you flashed with one of the options described above in this article.

    Toradex Bootloader 1.1BETA1 for Colibri Built Aug 13 2014
    Booting from fuses.
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A
    
    Press [SPACE] to enter Bootloader Menu
    
  2. Press space to stop the automatic boot process

  3. Press C to clear the registry. The new image contains additional drivers and features and not cleaning the registry may prevent them from working. After registry cleanup you may need to reconfigure your display resolution, network setting and save them again.

  4. Press X to enter command prompt mode.

  5. Write the OS image from the SD card to the NAND Flash.
    Specify nk6.bin to flash the CE6 image, nk7.bin to flash the Windows Embedded Compact 7 image or nk8.bin to flash Windows Embedded Compact 2013.

    >flashimage nk6.bin
    Image base address 80000000 - size: 19898196 bytes.
    ......[...]....
    Loading done.
    .......[...]....
    Writing Completed.
    Finding bootargs block...
    Writing 2 sector(s) of bootargs data from sector 64.
    
    Done.
    Flashing completed.
    

    The image-flashing process requires a few minutes.

  6. You have to erase the area used for filesystem, to prepare it for a new filesystem. This must be done if you are installing Windows CE on the module for the first time or if you are switching from Linux to Windows CE or from a Windows CE release (ex: 6.0 R3) to a different one. If you are just updating your module with a new release of the same Windows CE version you can skip this step and keep the contents of your flash filesystem untouched.

    >eraseflash filesystem
    Are you sure you want to erase flash(0x4020000-0x1FFFFFFF)?y
    Erasing 3583 flash blocks from 513.
    ....[...]............ done
    
  7. Now you can configure the system for booting from flash instead of downloading the image at boot.

    >set boot.dl 0
    
    >save boot
    Finding bootargs block...
    Writing 2 sector(s) of bootargs data from sector 64.
    
  8. By default you have 30'' to stop boot and enter the bootloader menu by pressing space on the boot console. You can reduce this time by setting the boot.delay parameter as in this sample:

    >set boot.delay 2
    
    >save boot
    Finding bootargs block...
    Writing 2 sector(s) of bootargs data from sector 64.
    
  9. Reset your device and see it booting to the Windows CE desktop (configured as VGA 640x480).
    This is the serial output of a successful Windows CE boot.

    Toradex Bootloader 1.1BETA1 for Colibri Built Aug 13 2014
    Booting from fuses.
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A
    
    Press [SPACE] to enter Bootloader Menu
    
    Initiating image launch in 0 seconds.
    Loading OS Image
    ........................................................................................................................................................
    Done.
    OEMLaunch 80000000
    
    IMAGE(CE6): 1.1BETA1
    
  10. Verify that you see no error messages, as described in the FCB and Factory Information chapter.

  11. You may see a message that signals that the driver for UART1 was not loaded because the port is currently used for debug messages.
    To disable debug messages from the operating system, enter the command prompt mode in the bootloader and type:

    >set ser.keep 0
    
    >save ser
    Finding bootargs block...
    Writing 2 sector(s) of bootargs data from sector 64.
    

1.You'll see the following message on the serial console:
Registry - error retrieving registry blocks. This just means that there is no saved registry and the device will use default boot configuration, it will disappear as soon as you save the registry.

FCB and Factory Information

On a successful boot the bootloader outputs the following messages on a serial terminal:

    Toradex Bootloader 1.1BETA1 for Colibri Built Aug 13 2014
    Booting from fuses.
    Processor ID 410fc051.
    Colibri VF50 module version 1.0A

    Press [SPACE] to enter Bootloader Menu

    Initiating image download in 0 seconds.

If you see messages about invalid FCB or invalid static config block or the module type/version number you see don't match what is printed on the sticker attached to your module you can use the following procedure to restore your modules' factory configuration. Having invalid FCB or an invalid static configuration block will force the boot delay time to 30'' to give you a chance to access the serial console and fix the issue.

  1. We must erase the first block of flash:

    >eraseflash 0 128kb
    Are you sure you want to erase flash(0x0-0x1FFFF)?y
    Erasing 1 flash blocks from 0.
    . done.
    
  2. Then we have to write the BCB:

    >writebcb
    Writing FCB...
    Checking FCB...
    System is ready to boot.
    Use flashloader to write a bootloader before you reset the device.
    
  3. The boot block contains also some device-specific ids. We need to restore them.
    Each module has a sticker with this information in the following format:
    Col type
    V version
    serial

    Type the restorefactoryinfo command using the information on your module's sticker:

    >restorefactoryinfo *modulecode* *serial* *ver* 
    

    The modulecode parameter has four valid values: VF50128, VF50128IT, VF61256, and VF61256IT. Example:

    >restorefactoryinfo VF61256 04790168 1.0B
    

Restoring U-Boot from EBOOT

Starting from release 0.3 the eboot bootloader provides a command to restore the u-boot bootloader on the NAND flash, allowing you to restore Linux on your module.

Linux can be installed by booting the Evaluation Board using an SD card or recovery mode, as described in the image flashing document for the Linux BSP.

  1. Prepare an SD card that contains the u-boot image (u-boot-nand.imx, you can download latest Linux image here: developer.toradex.com/files/toradex-dev/uploads/media/Colibri/Linux/Images/)

  2. Power on your module, stop the boot process by pressing space and enter the command prompt pressing X.

  3. Write U-Boot to the NAND flash:

    >flashloader u-boot-nand.imx
    Bootloader image size: 311960 bytes.
    
    Loading done.
    Flashing bootloader.
    Writing 153 sector(s) of bootloader code from sector 256.
    
    Erasing block 4
    ................................................................
    Erasing block 5
    ................................................................
    Erasing block 6
    ..........................
    Flashing completed.
    
  4. You'll need to reboot and following instructions provided in the Linux BSP to restore the kernel and filesystem images.

Supported Features

The OS images provided supports all standard features like on other Toradex modules.

Development Environment and Application debugging

Please check here.

Colibri Software Tool support

Please check here.

Windows CE Software libraries

Please check libraries here.

Windows Embedded Compact 2013

Windows Embedded Compact 2013 does not include a shell, but in our image we provide the same explorer shell used by previous versions of Windows CE/Embedded Compact.

To be able to develop Windows Embedded Compact applications you should install App Builder, a free Visual Studio add-on that can be downloaded from Microsoft web site. There are two version of the tool, one for Visual Studio 2012 and the other one for Visual Studio 2013. As soon as you install App builder and the Toradex SDK you should be able to create new Smart Device applications targeting our SDK. You'll have also to download our SDK and install it to be able to develop applications using Visual Studio 2012 and Visual Studio 2013 targeting Toradex_CE8_SDK as a platform.

You can debug applications using a TCP/IP connection. To enable debugging you should launch the visual studio debugger client on the target device. To do this you should select "Start Debugger Client" from the Programs\Colibri Tools\Visual Studio Debugger" entry of the start menu. Then you can start debugging from Visual Studio and it will prompt for the IP address of the device that should be used for the debugging session.

Please remember that Windows Embedded Compact 2013 is not binary compatible with older versions of Windows CE and so you'll have to rebuild from source code any library or application you want to use on the new version of the OS.

Binary BSP and Sample OS Designs

Binary BSPs for Windows CE 6.0, Windows Embedded Compact 7 and Windows Embedded Compact 2013 can be downloaded from the website. Windows CE BSP Sample OS Designs are provided for Windows CE 6.0 R3, Windows Embedded Compact 7 and Windows Embedded Compact 2013 those will allow you to build the same OS Image we provide.

Releases

Please check the Vybrid WinCE BSP Release Notes.

Downloads

WinCE License

More information can be found in the article: WinCE Licenses and Components