Introduction

This is a supplement to the Compact 7 getting started series, to provide additional information about the DiskPrep power toy, showing how to configure a flash storage with BIOS Loader to launch Windows Embedded Compact 7 (Compact 7) operating system (OS) image using DiskPrep.

 

Note:

The Compact 7 getting started series, written in simple and easy to follow format, is created to provide technical information to help academic, hobbyist and commercial developers to engage in Windows Embedded Compact development.

The 9 main articles for this series, along with the supplemental articles, were created to provide information showing the steps to develop OS design, build customized OS runtime image and deploy the image to a target device for testing.  In addition, this series also provide information about managed and native code application development for Compact 7 device, using C++, C# and Visual Basic.

For more information about this series, visit the following URL:

    http://embedded101.com/Compact7/  

DiskPrep is a Windows Embedded Compact power toy from Microsoft, available for download freely from the following URL:

http://code.msdn.microsoft.com/DiskPrep

***** Update:  October 15, 2015 *****

The DiskPrep utility is now part of the “Power Suite for Windows Embedded Compact Platforms”, available for download via the following URL:

https://www.microsoft.com/en-us/download/details.aspx?id=47266

*********************************

The DiskPrep utility can be used to configure different type of storage device with BIOSLoader, a bootloader for x86 device, to launch Windows Embedded Compact OS run-time image and Ethernet bootloader with customizable splash screen.

Note:

DiskPrep can be used to configure flash storage with BIOSLoader to launch OS run-time images from older version of Windows CE, including CE 6.0, 5.0 and 4.x.

The DiskPrep utility can configure the following storage devices:

·         IDE hard disk and IDE flash storage (such as EmbedDisk).

·         Compact Flash storage

·         SD flash storage card

·         Micro-SD flash storage card

·         USB flash storage

Using DiskPrep, we can configure any of the above flash storage to launch NK.BIN, an OS runtime image file, with the options to select and launch an alternative OS image, NK2.BIN, or an Ethernet boot loader, EBOOT.BIN, as follow:

·         After power on, delay 10 seconds and launch NK.BIN by default.

·         Before the 10 seconds delay timed out, press “1” to terminate the delay and launch EBOOT.BIN

·         Before the 10 seconds delay timed out, press “2” to terminate the delay and launch NK2.BIN

For the exercise in this application note, we will use DiskPrep to configure an SD flash storage card for the eBox-3300MX, used as the target device for the Compact 7 getting started series.

To configure the SD flash storage card, an USB to SD flash storage card adapter is needed.  Most of the USB to SD flash storage card adapter available in the general market work well, including many of the USB to Multi-card reader/writer with SD flash as one of the features.  The exercise is this section is created on a DELL Studio-1458 notebook PC, which has a built-in slot to support SD flash storage card.

Note:

For device that is able to boot from other form of flash storage, such as Micro-SD and Compact Flash, the same instruction provided here works with these flash storage devices.

Prerequisites:

·         A working NK.BIN OS run-time image built in release mode with KITL disabled.

·         A second NK.BIN OS run-time image built in release mode with KITL disabled, rename the NK.BIN to NK2.BIN.

·         A working EBOOT.BIN Ethernet boot loader for the target device.

Configure Flash Storage with DiskPrep

Work through the following steps to configure the SD flash storage:

1.       Place a copy of the NK.BIN, NK2.BIN and EBOOT.BIN files to a known location, such as the following:

·         C:\MyOS

The NK.BIN and NK2.BIN are Compact 7 OS runtime images, which you generate from the OS design project.  EBOOT.BIN is the Ethernet boot loader for the eBox-3300MX.  The EBOOT.BIN boot loader is available for download from the following URL:

http://www.embedded101.com/Compact7/Download/Compact7_Eboot_eBox3300MX.zip  

  

2.       Attach the flash storage device to the development PC via the adapter.

3.       After the development PC detected and recognized the flash storage, launch the DiskPrep power toy (Diskprep.exe), with administrator privilege, and bring up the DiskPrep program screen, as shown in Figure 1.

Fig-01a

Figure 1

4.       From the Disk Selection drop down list, select the detected flash storage.

5.       Select FAT, FAT32 or exFAT file system.

Note:

For flash storage device larger than 2 GB, use FAT32 or exFAT.

6.       For the remaining settings, keep the default selection.

7.       Click on OK to format and configure the flash storage.

Note:

All of the existing file and data on the flash storage will be wiped clean.

8.       The following screen is shown after the flash storage has been successfully configured, as shown in Figure 2.

Fig--02

Figure 2

The previous steps formatted the flash storage, configured the storage with BIOSLoader and placed the following files on to the flash storage:

·         BLDR (This is the BIOSLoader)

·         BOOT.INI (This is the boot configuration file for BIOSLoader)

·         SPLASH.BMX (This is the splash screen, launched by BIOSLoader during boot up)

Next, we need to work through the following steps to copy the EBOOT.BIN, NK.BIN and NK2.BIN files on to the flash storage and modify the BOOT.INI configuration file:

1.       With the SD flash storage still attach to the development PC via an adapter, copy the following files on to the flash storage:

·         C:\MyOS\EBOOT.BIN

·         C:\MyOS\NK.BIN

·         C:\MyOS\NK2.BIN

2.       Use a text editor, such as Notepad.exe, to edit the BOOT.INI file on the flash storage, and replace the content with the following:

# Boot delay (in seconds) in which to select the alternative image

Delay=10

 

# Default file to launch after delay timed out

BinFile=NK.bin

 

# Alternative image – Press 1 to terminate delay and launch this file

BinFile1=EBOOT.BIN

 

# Alternative image – Press 2 to terminate delay and launch this file

BinFile2=NK2.bin

 

# Video Setting:

Video=on

 

# Physical screen width, must be >= DisplayWidth

PhysicalWidth=640

 

# Physical screen height, must be >= DisplayHeight

PhysicalHeight=480

 

# Display Depth, possible values are 8, 15, 16, 24, 32

DisplayDepth=16

 

# Display width

DisplayWidth=640

 

# Display height

DisplayHeight=480

 

# COM Port to pass in BootArgs (Functionality must be supported by

# loaded program [eboot/nk..etc] for argument to have an affect)

#   0 - Suppress

#   1 - COM 1

#   2 - COM 2

COMPort=0

 

After completing the above steps, the following files are now on the flash storage:

·         BLDR

·         BOOT.INI

·         EBOOT.BIN

·         NK.BIN

·         NK2.BIN

·         SPLASH.BMX

The SPLASH.BMX file is the graphic file for the splash screen during boot up, and can be replaced with your own graphic.

You can use the Windows CE Splash Generator, available for download from the following URL, to convert BMP, PNG, GIF and JPG graphic file to the BMX format, to use as the splash screen.

·         http://splashce.codeplex.com