How to Customize the Shell (Windows Embedded CE 6.0)


This topic provides you with a stable starting point for fully customizing the shell.

The shell provides the fundamental infrastructure for all applications and user interactions on a run-time image. Windows Embedded CE provides the source code for the entire shell. You can modify this code to achieve a unique look and user experience.

Hardware and Software Assumptions


Step Topic

1. Organize your shell source files by copying them into another directory and then editing the build files.

Setting Up the Source Files for a Custom Shell

2. Create an empty, display-based OS.

Creating an Empty Display-Based OS

3. To provide the shell with something to display and manipulate, add an application to your OS design from the Catalog.

For example, choose \Core OS\CEBASE\Applications - End User\Games\Freecell.

Adding an Item from the Catalog

4. Set up Platform Builder to build your customized shell code instead of the default shell code.

Setting up Platform Builder to Build Modified Code in a Public Directory

5. (Optional) Add the shell source code to one or more excluded projects so it can be modified using the Platform Builder IDE and not be compiled twice.

You can edit the source code for your shell in any development environment. It is always compiled during the run-time image build.

Creating Excluded Projects to Host Shell Source Code in the IDE

6. Modify the source code for your shell.

Simple Shell Modifications

7. Choose a Debug or Release configuration to target when Platform Builder builds the OS design into a run-time image.

To use the kernel debugger, make sure that support for the kernel debugger is enabled.

Levels of Debugging Support

Building a Run-Time Image From a Debug Configuration

Building a Run-Time Image From a Release Configuration

8. If you expect the size of either the debug or the release run-time image to exceed 32 MB, enable support for a large run-time image in the settings for the OS design.

Debug run-time images are typically larger than release run-time images. If you choose a debug configuration and the OS design contains many features, it is likely that the size of the run-time image will exceed 32 MB.

Enabling a Run-Time Image Size Larger Than 32 MB

9. Build your OS design into a run-time image.

  1. On the Build menu, choose Global Build Settings and make sure that the following items are selected:
    Copy Files to Release Directory After Build
    Make Run-Time Image After Build
  2. Make sure your OS Design Project is selected in the Solution Explorer.
  3. On the Build menu, choose Build Solution.

Not applicable

10. In the Output window, on the Output tab, verify that the build contains no errors.

Build Error Debugging Process

11. Choose a download service appropriate for the connection hardware. The download service will download a run-time image to the CEPC.

Download Service Selection

12. Set up and configure the connection hardware required for the download service. That hardware connects the CEPC to the development workstation, on which Platform Builder is installed. Examples of connection hardware include cables, a hub, or Ethernet network adapters.

Hardware Configuration

13. If you selected Serial Download Service in step 11, configure the HyperTerminal terminal emulation application to display the serial debug output from the serial port on the CEPC.

This configuration requires a null-modem cable connected to a serial port, such as COM1.

Configuring HyperTerminal for BSPs

14. Turn on the CEPC so that it becomes active on the Ethernet network or over the serial connection, and Platform Builder can discover it.

Not applicable

15. Configure the connection to the CEPC.

Choose the appropriate topic based on whether the development workstation and the CEPC are connected by an Ethernet network or a serial port connection.

Configuring an Ethernet Remote Connection

Configuring a Serial Remote Connection

16. Download the run-time image to the CEPC through the configured connection and evaluate your shell.

Downloading a Run-Time Image to a CEPC

See Also

Other Resources

Shell OS Design Development