Those instructions apply to release 1.1 beta 4 of the Windows CE images and BSP. Some of the features described here may not work as described in this document on previous releases.
To install Windows Embedded Compact 7 or 2013 on your module you need the following elements:
By default modules come with Linux pre-installed, so during production programming, you have to switch from Linux to Windows CE, this switch operation does not impact module-unique settings, like MAC address or production information, so the exact same steps can be performed on each module, as long as you prepared the right files.
Those tools are part of our standard OS image downloads, available here.
In the zip file you'll find a folder named "recovery" that contains all the files you need to perform recovery-mode operations.
Bootloader is provided as part of our standard images and BSPs and can be downloaded here.
If you built your own bootloader, customizing it with our bootloader kit (available as paid additional tool), at the end of the build process, you will have the same eboot.imx file provided with our downloadables images and BSP.
You'll have to write eboot.imx on a SD card using the Win32 Disk Imager tool.
Our images are provided as compressed binaries with the .nbx file name extension.
You can use nk7.nbx if you plan to use the module with Windows Embedded Compact 7 or nk8.nbx if you plan to use Windows Embedded Compact 2013.
If you build your own image you'll have a file named nk.bin, this can also be flashed using the same procedure we will describe in the next steps.
Take your file (nbx or bin format) and copy it to the root partition of your SD card.
Config block contains all the information required by the bootloader to initialize the module, show splash screen (if needed) and load and start the operating system. Different settings can be changed by the set command of the bootloader console.
Config block parameters are documented here (some may not apply to i.MX6).
Once you have configured the config block in the correct way you can save it using the update tool, as documented here.
This will generate a .cfg file containing those settings.
Our standard OS images already contain a splash screen.
You can generate a custom one using our splash screen generation tool (paid tool,available on request) and this can be then flashed on each module during production programming.
You can use the registry editor that is integrated in our images or part of our binary BSP to export the registry settings you made to customize your image.
Changing display resolution, configuring IP address etc. are operations that could be performed using registry customization.
You'll have one or more text files, containing the registry entries you want to change. You can keep them as separate files or, to simplify installation and maintenance, consolidate them in a single file.
You can prepare your own application and any additional files you want to copy to the module, considering that the internal storage will be mapped as \FlashDisk folder by the operating system.
You can prepare all the contents in a subfolder named FlashDisk to remap the right organization of those files. If you need to transfer files to different folders (ex \Windows) at boot, you can use the autocopy feature and place files in a folder named "Autocopy" on Flashdisk, forcing those files to be copied on every boot.
You can copy the Flashdisk folder you created in the previous step inside a folder named Autocopy on the a storage media device(it can be the same SD where you put bootloader and OS image, if you use different storage media, this must be formatted as FAT or exFAT). In this way the autocopy feature (documented autocopy) can be used to set-up application and other files on first boot.
If you need to import config block, splash screen or registry settings you'll need to use the autorun feature described here.
Create a folder named Autorun in the root folder of your storage device where you can create shortcuts (text files with .lnk extension) to execute the commands required to import the different settings.
To import registry files you can run regedit.exe, passing the name of the registry file you want to import on the command line. So a shortcut pointing to:
Regedit.exe "\Sd card\settings.reg"
will import the contents of the file named settings.reg on the SD card.
Unfortunately, at the moment registry editor always shows a message when import has been completed. This will be fixed in a future release.
Config block can be imported by running update tool.
If you saved your settings as described before you can restore them by launching (again via shortcut in autorun folder if you need fully automated setup):
update.exe /u configblock,raw,<configuration file path>
The procedure to flash a new splash screen is similar to the one used for config block, since it also uses update tool.
update.exe /u splashscreen,raw,<configuration file path>
To flash a new module you need:
If your custom carrier board does not provide access to UART A or does not support USB client (as on Viola carrier board with default mount options) you may need to use a Colibri or Apalis EVB to do production programming and then move the module to your own carrier board for final testing.
This document will describe the steps and command you have to perform.
Serial commands can be automated using scripting tools on PC to perform a completely unattended installation.
The modules come with Linux pre-installed. You can enter recovery mode from the u-boot console. To enter it press space in the first second after module power-up or reset.
From the console you can type:
This will put the module in recovery mode. On Colibri-based devices you should ensure that no SD card is in SD slot at this point, otherwise recovery mode will not work. If your module does not boot at all because u-boot has been corrupted, then you can enter recovery mode using hardware method described here.
To flash the bootloader you must run 'imx6recovery.bat' from the recovery folder of the OS image zip file.
The application will download recovery mode loader that, in turn, will wait for an SD card (in slot 1 for Apalis) and then flash the bootloader and create the correct settings depending on the module you are using.
At the end of this phase (reported with a message on the serial console) you'll have to power cycle your board. Reset will not work.
In this step you'll have to enter bootloader console by pressing space in the first 5 seconds after boot and then pressing 'x'. In the boot console you have to execute the following commands:
preparefs flashimage <sd slot> <filename>
or just by rebooting your board using:
or hardware reset/power cycle
If you prepared your storage media (SD card or USB thumbdrive) as described in previous points, just having it inserted at boot will copy files and execute configuration steps, using the auto-copy and auto-run features.
With auto-run you may also execute some test applications to check that your hardware is behaving as expected, but this may require a reboot in between (after copy and registry import) and so a second mass-storage device with just your testing application inside autorun folder.
As an alternative you can copy the test application to \Flashdisk\autorun and have it executed at next reboot and then move itself to a different folder when testing has been completed.