eBox-2300 Windows Embedded CE 6.0 Jump Start Guide By Samuel Phung, eMVP ICOP Technology Inc. This is a step-by-step guide showing the process to build Windows Embedded CE 6.0 image for the eBox-2300 using Platform-Builder and the ICOP_Vortex86_60CS BSP.
Introduction Learning by example and learn by doing are effective methods to learn new technology. This step-by-step guide, using hands-on-lab approach, is created to show the process of creating, customizing, building and downloading a Windows Embedded CE 6.0 image on to eBox-2300 using the ICOP_Vortex86_60CS Board-Support-Package for CE 6.0.
eBox-2300 JumpStart Kit eBox-2300 JumpStart kit includes the following • An eBox-2300 embedded system with 128MB RAM and a 256MB EmbedDisk (IDE bootable flash storage) & power supply. The eBox-2300 is pre-configured to boot to DOS and provide various options to load the Windows CE image. A pre-built Windows Embedded CE 6.0 image is included. • Windows Embedded CE 6.0 Platform Builder evaluation version CD/DVD This is a fully functional 180-day evaluation version of Windows Embedded CE 6.
Table of Contents Introduction..................................................................................................................................... 2 eBox-2300 JumpStart Kit ........................................................................................................... 3 eBox-2300 JumpStart kit includes the following .................................................................... 3 Part 1 – What’s New ..........................................................................
Downloading Image to eBox-2300 ....................................................................................... 27 Deploy the CE 6.0 OS Image to the eBox-2300.................................................................... 28 Part 6 – Windows Embedded CE 6.0 SDK............................................................................... 29 Create and Configure Windows Embedded CE 6.0 SDK ..................................................... 29 Build Windows Embedded CE 6.0 SDK.................
Part 1 – What’s New Windows Embedded CE 6.0 The Windows Embedded CE 6.0 operating system combines the richest real-time embedded operating system with the most powerful tools for rapidly creating the next generation of smart, connected, and small-footprint devices. The latest version, Windows Embedded CE 6.
Part 2 – Windows Embedded CE 6.0 Installation This latest version Windows Embedded CE 6.0 (“CE 6.0”) Platform Builder is a plug-in to Visual Studio 2005 (“VS2005”), take advantage of VS2005 IDE & tools. Board-Support-Package (“BSP”) consists of all necessary CE 6.0 device drivers and hardware abstraction library for the hardware is needed by PB to create OS Design and build CE 6.0 image for the hardware. ICOP_Vortex86_60CS BSP is provided as part of this jumpstart kit to create OS Design and build CE 6.
Fig. 1 - CE 6.0 installation, supported CPU selection Board-Support-Package Installation To install and use ICOP_Vortex86_60CS BSP with CE 6.0, after CE 6.0 is installed (with x86 CPU support), run the ICOP_Vortex86_60CS_BSP.msi from the JumpStart CD. It’s located in the CD’s BSP folder. Note: x86 CPU support for CE 6.0 PB is needed in order to use ICOP_Vortex86_60CS BSP to create OS Design and build CE 6.0 image for eBox-2300.
Part 3 – Configure an OS Design This section will guide you thru the process of creating and configuring an OS design using the New Platform Wizard within Platform Builder, to create an initial OS design workspace which you will then modify by adding Windows CE components, applications and making changes to the registry. Visual Studio 2005 IDE Windows Embedded CE 6.0 (“CE 6.0”) Platform Builder is a Visual Studio 2005 (“VS2005”) plug-in.
Fig. 3 • • • • • - VS2005 New Project On the left side of the New Project screen, click to high-light Platform Builder for CE 6.0. On the right side of the New Project screen, click to high-light OS Design. Enter eBox2300 as the name of the project. Make sure the Create directory for solution check box is checked. Click on the OK button to continue. Windows Embedded CE 6.0 OS Design Wizard When a new CE 6.0 OS Design project is selected, the Windows Embedded CE 6.
OS Design Wizard – Board Support Packages (BSPs) In the BSP selection step, the OS Design Wizard provides the option to select one or more BSP for the new project, from a list of available BSP. All of the installed BSPs, including BSPs from third party companies are listed. Fig.
• • Fig. 7 • • Click to high-light and select Industrial Device Click on the Next button to continue - OS Design Wizard – Design Template Variants Click to high-light and select Internet Appliance Click on the Next button to continue OS Design Wizard – Applications & Media In the applications & media selection step, the OS Design Wizard provides the options to select .NET Compact Framework to support managed code applications, Internet Explorer, Windows Media components, etc... Fig.
• • • • • Windows Media Audio/MP3 Windows Media Player Application Windows Media Player OCX Windows Media Video/MPEG-4 Video Click on the Next button to continue OS Design Wizard – Networking & Communications In the networking & communications step, the OS Design Wizard provides the options to select communication, networking and security components. Fig. 9 - OS Design Wizard – Networking & Communications We will use the default settings for networking and communications.
Fig. 9 • - OS Design Wizard – Completed Click on the Finish button to continue. Catalog Item Notification At the completion of OS Design Wizard, a security warning is raised to provide a warning for any components included in the OS Design that can pose a security risk. Fig. 10 - Catalog Item Notification – Security Warning Click on the Acknowledge button to complete the OS Design Wizard steps.
Part 4 – Customize and build the OS Design At this point, with the help of the OS Design Wizard, the eBox2300 project is created using the Internet Appliance design template along with ICOP_Vortex86_60CS BSP. The following project folders have been created for the eBox2300 project, under the main CE 6.0 Platform Builder’s OS Designs directory (..\WINCE600\OSDesigns\). • C:\WINCE600\OSDesigns\eBox2300\ Folder for the eBox2300 Solution VS2005 supports different project types.
Add Components to the OS Design The Catalog Item View window lists all of the available Windows CE components, including applications, library, drivers, utilities & 3rd party components that can be added to the OS Design. An existing set of components are included in the OS Design by the Wizard based on the BSP and design template selected during the OS Design Wizard phase. To enhance the function and features of the OS image, additional components (drivers, utilities, applications, etc.
• • .NET Compact Framework 2.0 components are needed to support managed code application. During the OS Design wizard steps, .NET Compact Framework 2.0 components were selected to include in the OS Design. If not selected during the OS Design wizard phase, make sure the following two components are included. - .NET Compact Framework 2.0 - OS Dependencies for .NET Compact Framework 2.
Serial Ports Com16550 (Driver available from PB’s component catalog) Serial Ports Serial Port Support (Support components from PB’s component catalog) USB Ports (USB 1.1 Host) OHCI (Driver available from PB’s component catalog) CompactFlash*¹ ATAPI (Driver available from PB’s component catalog) IDE ATAPI (Driver available from PB’s component catalog) *¹ The CompactFlash (“CF”) slot on eBox-2300 is link to the IDE interface, and does NOT support hotswap.
Configuration Manager – Debug & Release Build Using the configuration manager, the OS Design can be configured to generate a debug or release image. A debug image will provide debug messages when the compiled OS image loads and executes applications and modules. The size of the debug image is generally about 50% larger in size comparing to the release image built from the same OS design. For the purpose of this guide, let’s select the release build. Fig.
Configure OS Design Project Properties – Build Options With different Build Options, the OS Design can be further customized to include additional functions to the final image, provide additional debug resources, etc… From VS2005 IDE, select Project | eBox2300 Properties… to bring up the OS Design Property screen. Fig. 14 - OS Design Property – Build Options • Click to expand Configuration Properties tree on the left side of the screen.
Configure OS Design Project Property – Environment Variables Environment variables are used to further customize the OS Design by include/exclude certain components from the image, set device memory range & etc…. Continuing with the OS Design Property screen from the previous step… Fig. 15 - eBox2300 Property Pages – Environment variables • • Click to high-light Environment on the left side of screen.
Building Windows Embedded CE 6.0 OS Image From the VS2005 IDE, select Build | Build Solution to build OS image from the OS Design project. Fig. 16 - VS2005 IDE – OS Design being compile and build Depending on the speed of the development system, the build process may take approximately 15~20 minutes. During the build process, the output tab on VS2005 IDE displays compilation activities. eBox-2300 Windows Embedded CE 6.0 JumpStart rev 3.
Build Complete - Windows Embedded CE 6.0 OS Image Generated When the build process is completed, the VS2005 IDE should look like the following: Fig. 17 - VS2005 IDE – Build completed When the build process is completed, the resulting files are generated in the following build release directories.
Part 5 – Download OS Image to eBox-2300 Configure Target Device Connectivity Options The image generated from the previous session is ready to be downloaded to the device. A connection between the eBox-2300 and the development station needs to be established to accomplish this task. Note: Please refer to Appendix A and B for eBox-2300 and development station connectivity information. If there are problem establish connection, disable firewall utility. The firewall utility may be blocking the connection.
Add New Target Device From the Target Device Connectivity Options screen, clicks on Add Device to bring up the new target device screen. Enter eBox2300 as the new target device name and click on the Add button to continue. Fig. 19 - Target Device Connectivity Options Establish Connection with eBox-2300 From the Target Device Connectivity Options screen, clicks on one of the Settings buttons to bring up the Ethernet Download Settings screen. Fig.
1. 2. 3. 4. 5. 6. 7. 8. 9. Boot CE/PC (local nk.bin with /L:1024x768x32) Boot CE/PC (ether via eboot.bin with /L:1024x768x32) Boot CE/PC (ether via eboot.bin with /L:800x600x32) Boot CE/PC (ether via eboot.bin with /L:640x480x32) Boot CE/PC (ether via eboot.bin without display settings) Boot CE/PC (Static IP: 192.168.2.232, with /L:1024x768x32) Boot CE/PC (Static IP: 192.168.2.232, with /L:640x480x32) Boot CE/PC (Static IP: 192.168.2.
Note: In the environment where there are multiple eBox-2300s connected to the same network segment, with multiple eBox-2300 sending bootme request, there may be multiple device IDs listed in the Active Devices windows. To identify the eBox2300 you are working with, make sure it’s the only one booting and sending a bootme request. On the Target Device Connectivity Options screen, click on Apply and then Close.
After the image download process is completed, eBox-2300 will load the Windows CE image it just received. Again, be patient… It may take a few moments for the image to come up. When the Windows CE screen is displayed on eBox-2300, it’s an indication the booting process is completed. Fig. 24 - Windows Embedded CE 6.0 desktop running on eBox-2300 Deploy the CE 6.0 OS Image to the eBox-2300 In the previous step, when the CE 6.
Part 6 – Windows Embedded CE 6.0 SDK In the previous steps, we created configured and built an OS Design that ran on the eBox-2300. Another Windows CE advantage is the ease of application development using Visual Studio 2005. In order to write applications using Visual Studio 2005 and establish a connection to download applications to the eBox-2300 for testing and debug, a CE 6.0 SDK for the OS Design we created in the previous steps is needed.
• On the left side of SDK Property Page, click on Development Languages and select both Native and Managed development support. Fig. 27 - • SDK Property Page Click on the Apply and then OK button to complete the Add New SDK process. Note: To make changes to the SDK before building, from VS2005 IDE, select the Solution tab, expand the SDKs folder, right click on eBox2300_WinCE600_SDK and select Properties to bring up the SDK Property Pages. Fig.
Build Windows Embedded CE 6.0 SDK From VS2005 IDE, select Build | Build All SDKs… to build and generate SDK installation file. A SDK with the file name “eBox2300_WinCE600_SDK.msi” is generated in the following directory. ..\WINCE600\OS Designs\eBox2300\eBox2300\SDKs\SDK1\MSI\ Install this SDK to the VS2005 station used to development CE 6.0 application for eBox-2300. Note: It’s a good practice to close VS2005 when installing this SDK. eBox-2300 Windows Embedded CE 6.0 JumpStart rev 3.
Part 7 – C# Application with Visual Studio 2005 Visual Studio 2005 can be used to develop native and managed code applications for CE 6.0. This section will go thru the process to show how to connect the eBox-2300 to a development station with Visual Studio 2005 while developing a managed code application using Visual Basic or Visual C#. For the exercise in this section, we will use Visual C#. The steps should be similar for developing with Visual Basic within Visual Studio 2005.
Visual Studio 2005 IDE screen may look like the following screen shot. Fig. 30 - VS2005 IDE / New Project Compile and build the Visual C# application. Step 2: Preparing eBox-2300 to Connect to VS2005 To perform this portion of the exercise, CE 6.0 image configured and built during the previous sections of this guide must be downloaded and running on eBox-2300, and eBox2300_WinCE600_SDK must be installed. Corecon components are used to connect eBox-2300 to Visual Studio 2005 development workstation.
In the earlier part of this guide, during the Platform-Setting/Environment-Variable step, BSP_VS2005_CORECON environment variable is added to the OS Design. This step triggers Platform Builder to include the above Corecon files, included with ICOP_Vortex86_60CS BSP, to the OS image. To establish a connection between the eBox-2300 and the Visual Studio 2005 development station, the following steps need to be carried out.
Now that we have eBox-2300’s IP address, let’s move to VS2005 IDE to configure device settings. In order for this to work, both the VS2005 development station and eBox-2300 must be connected to the same LAN segment and acquire their IP address from the same DHCP server. From VS2005 IDE, set the target device to “eBox2300_WinCE600_SDK x86 Device” Fig. 33 - VS2005 IDE / select target device From VS2005 IDE, select Tools | Options… Fig.
Fig. 35 - eBox2300_WinCE600 x86 Device properties • Click on the Configure button to bring up Configure TCP/IP Transport • Select Use specific IP address and enter eBox-2300’s IP address Fig. 36 • - Configure TCP/IP Transport / Set device IP Address Click OK and to commit device IP address setting. eBox-2300 Windows Embedded CE 6.0 JumpStart rev 3.
Step 3: Connecting eBox-2300 to VS2005 Station using Corecon To initiate connection between VS2005 development station and eBox-2300 using Corecon, take the following steps to launch ConmanClient2.exe and cMaccept.exe Corecon components from eBox-2300. • From eBox-2300 desktop, with CE 6.0 image created in the earlier steps running, double click on My Device and open the Windows folder. • From the Windows folder, double click on ConmanClient2.exe follow by double click on cMaccept.
Step 4: Download C# Application to eBox-2300 We are now ready to download the C# application to eBox-2300. From Visual Studio 2005 IDE, select Debug | Start Debugging to bring up the Deploy eBox2300_Demo screen. Fig. 39 - Deploy eBox2300_Demo • Select eBox2300_WinCE600_SDK and click Deploy • The C# managed code application will download and execute on eBox-2300 as shown in the following screen shot. Fig. 40 - CE 6.0 desktop with C# managed code application running eBox-2300 Windows Embedded CE 6.
Debug Information While it’s not within the scope of this guide to cover in depth development and debug issues, we feel it’s informative to point out some of the built-in debug resources Platform Builder provides. Using the same Platform Builder project, “eBox2300”, created in the earlier part of this guide. Switch to “Debug” build mode to build a “Debug Image” with the following “Build Options”. From VS2005 IDE, select Build | Configuration Manager… to bring up the Configuration Manager screen.
Enable the associated check box to select the following build options. • Enable eboot space in memory (IMGEBOOT=1) • Enable event tracking during boot (IMGCELOGENABLE=1) • Enable kernel debugger (no IMGNODEBUGGER=1) • Enable KITL (no IMGNOKITL=1) • Flush tracked events to release directory (IMGAUTOFLUSH=1) Un-check “Run-time Image Can be Larger than 32MB” to disable this build option. This build option sets the IMGRAM64 environment variable which in turn sets the system memory to 64MB.
Within Platform Builder’s Debug Output window, the display shows much more detailed information about the image’s boot up and device driver loading process. The additional information is useful, and may be critical, to help debug and solve problems and prevent potential problems. Debug output messages can be copied to a text file to be analyze in detail. Refer to Platform Builder online document for more information about various debug and trouble shooting resources available.
Summary You have now completed all the steps in this guide. Here’s what we have covered: • • • • • • • • Created an OS Design project Customized the OS Design by adding additional components Built a Windows CE image from the OS Design Downloaded a Windows CE image to eBox-2300 Create a C# managed code application using Visual Studio 2005 Establish connection between eBox-2300 running CE 6.
Congratulations! - You’ve completed all the steps. There are many additional resources to help you gain additional Windows CE knowledge. Microsoft Web sites. http://msdn.microsoft.com/embedded/getstart/default.aspx http://msdn.microsoft.com/embedded/usewinemb/ce/default.aspx http://msdn.microsoft.com/embedded/getstart/basics/default.aspx#ceadv1 http://msdn.microsoft.com/embedded/community/community/newsgrp/ To learn more about Vortex86 hardware, visit the following Web sites. http://www.vortex86.
Appendix A – Development Environment Setup - with DHCP service It’s recommended that you use Windows XP Professional with your development station. Both the development station and eBox-2300 should be connected to the same Local-Area-Network with DHCP service. A NULL modem serial cable linking one of the development station’s COM ports with the eBox-2300’s COM1 port provides additional debug information. This is a typical setup.
Appendix B – Development Environment Setup – Without DHCP It’s recommended that you use Windows XP Professional with your development station. In this setup, eBox-2300 is connected directly to the development station’s Ethernet port using a Crossover RJ45 Ethernet cable. A NULL serial cable linking between one of the development station’s COM port with eBox2300’s COM1 provides additional debug information.
Appendix C – Windows CE Technical Information Reference Windows CE Reference Mike Hall's Blog http://blogs.msdn.com/mikehall Anything has to do with Windows Embedded technologies, Mike Hall probably knows about it. There are tons of useful information related to Windows CE on Mike’s blog. Windows Embedded Tutorials http://msdn.microsoft.com/embedded/getstart/basics/default.aspx This site provides how-to tutorials on basic and advanced topics about using Windows CE in development of embedded devices.
Appendix D – eBox-2300 Technical Information eBox-2300 is design and built using Vortex86 System-on-Chip. It has similar architecture as typical x86 CPU based CEPC. eBox-2300 has an IDE interface internally to support EmbedDisk or any IDE bootable flash storage using the standard 44-Pin IDE interface (the same interface used on the common 2.5” IDE notebook hard drive). eBox-2300 uses AMI BIOS and can boot from DOS, Windows 98, Windows XP, Windows XP Embedded and Windows CE using boot loader.
Front Connectors Outline for eBox-2300 CF Slot USB Mic-in Line-out Power BTN PWR, ACT LED Rear Connectors Outline for eBox-2300 DC Power Jack PS/2 KB/MS Power Switch VGA RJ-45 LAN Serial Ports (Optional) USB Wireless ANT (Optional) Connectors Summary for eBox-2300 main system board Connector Description Type of Connections Number of Pins J1 VGA Connector D-Sub Connector 8-pin J2 Power Button Power Button J3 USB (Back) USB Connector 8-pin J4 PS/2 keyboard or Mouse Mini DIN Conn
Pin Assignment J1: VGA – 15-pin D-Sub Connector Pin # 1 2 3 4 5 Signal Name MR MG MB NC GND Pin # Signal Name 6 GND 7 GND 8 GND 9 NC 10 GND Pin # 11 12 13 14 15 Signal Name NC VCC HYSYNC VSYNC VCC J3: USB (90o)– 4-pin USB Type 1 Connector (Vertical Type) Pin # 1 2 3 4 5 6 Signal Name VCC USB0USB0+ GND GGND GGND eBox-2300 Windows Embedded CE 6.0 JumpStart rev 3.
System BIOS Reconfiguring eBox-2300 1. Take note that AMI BIOS is used in the eBox-2300 VESA PC. To reconfigure the VESA PC, depress or hit the key to enter your BIOS setup main menu. 2. Select from the menu, the desired setup for change. 3. Press to go back to main menu. 4. Move your cursor to “Save Settings and Exit”, press “Y” to save the changes that you just made. eBox-2300 will restart accordingly to your new setup. eBox-2300 Windows Embedded CE 6.0 JumpStart rev 3.
M Meem moorryy M Maappppiinngg Address Description 0000:0000-9000:FFFF System RAM A000:0000-A000:FFFF EGA/VGA Video Memory B000:0000-B000:7FFF MDA RAM, Hercules graphics display RAM B000:8000-B000:FFFF CGA display RAM C000:0000-C000:BFFF EGA/VGA BIOS ROM CC00:0000-CC00:3FFF Boot ROM enable. D000:0000-E000:7FFF Expansion ROM space. E000:8000-E000:FFFF USB Legacy SCSI ROM space.
IIR RQ QM Maappppiinngg IRQ# IRQ0 Device System Timer IRQ1 Keyboard Controller IRQ2 Cascade for IRQ8 - 15 IRQ3 Serial Port 2 IRQ4 Serial Port 1 IRQ5 Unassigned IRQ6 Unassigned IRQ7 Unassigned IRQ8 Real Time Clock IRQ9 Unassigned IRQ10 USB IRQ11 Ethernet 10/100M LAN IRQ12 Mouse IRQ13 Math Coprocessor IRQ14 Hard Disk Controller IRQ15 Unassigned eBox-2300 Windows Embedded CE 6.0 JumpStart rev 3.
Appendix E – eBox-2300 Boot Options By changing the BIOS settings, eBox-2300 can be set to boot from the following resources. • Internal IDE storage • CompactFlash • USB Floppy • USB storage • USB CD/DVD-ROM drive • Remote Network Boot using PXE By default, eBox-2300 is set to boot from the internal IDE storage. To change the boot device, enter system BIOS setting mode to change boot settings.