VersaLogic.com » Support » Software » Search » BSP-CE6-MNTV-R2.00 » ReadMe

ReadMe: BSP-CE6-MNTV-R2.00

Windows Embedded CE 6 BSP for the Intel Montevina Platform

Boards Supported Mamba (VL-EBX-37)
Leopard (VL-EPM-35)
Wildcat (VL-EPMp-34)
Komodo (VL-EPICs-36)
Expansion Modules Supported VL-EPMs-E1
VL-EPMs-U1
PCM-3640
OS Version Windows Embedded CE 6.0 R3 (BUILD 3122 Jan 25 2010)
IDE/Platform Platform Builder (Visual Studio 2005)
BSP Version 2.00
MNTV Intel Montevina Platform

TABLE OF CONTENTS

  1. Legal Disclaimer
  2. Purpose
  3. Package Contents
  4. Prerequisites
  5. Build Instructions
  6. Recommended Components
  7. Adding Ethernet and Graphics Drivers
  8. Services
  9. Application Development
  10. Features Tested
  11. Serial Ports
  12. Important Notes (Highly Recommended)
  13. Known Issues (Highly Recommended)
  14. References

1.0 LEGAL DISCLAIMER

VersaLogic is making no claims of usability, efficacy or warranty. Information in this document is provided in connection with VersaLogic products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. VersaLogic assumes no liability whatsoever, and VersaLogic disclaims any express or implied warranty relating to the sale and/or use of VersaLogic products, including liability or warranties relating to fitness for a particular purpose, merchantability or infringement of any patent, copyright or other intellectual property right. VersaLogic products are not intended for use in life-saving or life-sustaining applications.

VersaLogic disclaims all warranties and liabilities for the use of this document and the information contained herein, and assumes no responsibility for any errors which may appear in this document, nor does VersaLogic make a commitment to update the information contained herein. VersaLogic reserves the right to make changes to this document at any time without notice.

2.0 PURPOSE

This BSP is based on Intel's Unified BSP (version 2.4). This document is an addendum to Intel's Unified BSP documentation and primarily discusses only details specific to VersaLogic's Wildcat (VL-EPMp-34), Leopard (VL-EPM-35), Komodo (VL-EPICs-36) and Mamba (VL-EBX-37) boards. This BSP has been modified to include DLL drivers for the 82574L/82541ER Ethernet device, GM45/GS45 graphics device, serial ports, etc. This BSP supports EBOOT/KITL for the 82574L/82541ER Ethernet devices in its default state.

3.0 PACKAGE CONTENTS

The BSP-CE6-MNTV-R2.00 [4] zip file contains the following items:

  1. C:\WINCE600\PLATFORM\Montevina - This folder contains the actual BSP source files.
  2. C:\WINCE600\PLATFORM\Montevina\SDK - This folder contains the SDK, Montevina.msi, for the project file mentioned below.
  3. C:\WINCE600\OSDesigns\MontevinaOSDesign\MontevinaOSDesign - This folder contains a "sample" project file, MontevinaOSDesign.pbxml, which we used to create the Windows CE 6.0 image (NK.bin) file.
  4. C:\WINCE600\3rdParty\82541 - This folder contains the driver files for the 82541ER Ethernet chip and the corresponding EBOOT.bin file. (Required only for Leopard)
  5. C:\WINCE600\3rdParty\82574 - This folder contains the driver files for the 82574L Ethernet chip and the corresponding EBOOT.bin file.
  6. C:\WINCE600\3rdParty\IEGD_MNTV - This folder contains the drivers for the Intel GM45/GS45 graphics chip.
  7. C:\WINCE600\3rdParty\CoreCon_v200_x86_WinCE600.msi - An installer for introducing a catalog item for establishing core connection from Visual Studio 2005 (VS 2005). Introduces a catalog item in your OS Design project: Third Party→CoreCon→CoreCon_v200_x86.
  8. C:\WINCE600\3rdParty\AutoLaunch_v200_x86_WinCE600.msi - An installer for auto-launching applications when CE boots. Introduces a catalog item in your OS Design project: Third Party→AutoLaunch→AutoLaunch_v200_x86.
  9. C:\WINCE600\3rdParty\Images - This folder contains the desktop Wallpaper that is set by the CE image. See the platform.reg file for the Wallpaper settings.
  10. C:\README_BSP-CE6-MNTV-R2.00.txt - Text version of this ReadMe file.
  11. C:\CHANGELOG_BSP-CE6-MNTV.txt - A brief history and summary of the version releases for this package.
  12. C:\WINCE600\PLATFORM\Montevina\MontevinaUserGuide_BSP_for_IA_platforms-WinCE50_60.pdf - Original BSP user guide as supplied by Intel.

4.0 PREREQUISITES

Host (Development Machine)

Target (Montevina Board)

Warning!We strongly recommend installing all of the updates for CE 6.0 if you haven't recently updated your CE 6.0 installation. Please see [1] for more information on how to download updates.

5.0 BUILD INSTRUCTIONS

Assumption

We are assuming that you are going to work from your C: drive and that your $(_WINCEROOT) = C:\WINCE600. If that is not the case, you will need to substitute the proper path as per your customized setup. If you installed CE 6.0 with default settings you should be set up already.

  1. Unzip the supplied zip file (BSP-CE6-MNTV-R2.00.zip) directly to the root of your C:\ directory and NOT to C:\BSP-CE6-MNTV-R2.00.
  2. Although this is an optional step, it is recommended if you are going to do application development. Install the core connection installer CoreCon_v200_x86_WinCE600.msi and the Auto Launch installer AutoLaunch_v200_x86_WinCE600.msi. This will create the following catalog items in your Platform Builder:
    Third Party→CoreCon→CoreCon_v200_x86
    Third Party→AutoLaunch→AutoLaunch_v200_x86
    See Section 3.0 (7,8) and Section 9.0 for more details.
  3. Open Visual Studio 2005 and go to the Platform Builder environment.
  4. Create a new project by going to File→New→Project→Platform Builder→OSDesign and give it a name like MontevinaOSDesign. For your reference, we have included our project file (MontevinaOSDesign.pbxml) in the supplied zip file at:
    C:\WINCE600\OSDesigns\MontevinaOSDesign\MontevinaOSDesign
  5. Select Montevina: X86 as your BSP.
  6. Select the design template (e.g. Industrial Device→Internet Appliance).
  7. By default, the Intel BSP does not include the DLL drivers for the 82574L/82541ER Ethernet chip or the Intel GM45/GS45 graphics chip. If you want Ethernet and native graphics support in your CE image, follow the steps in Section 7.0 (Adding Ethernet and Graphics Drivers) and then continue with the next step.
  8. Choose additional components or click Finish. See Section 6.0 for recommended components.
  9. Select Release build or Debug build from Build→Configuration Manager.
  10. Finally, build the solution by going to Build→Build Solution. Once the build process is complete, you will see files called NK.bin and EBOOT.bin in your project build directory:
    C:\WINCE600\OSDesigns\MontevinaOSDesign\MontevinaOSDesign\RelDir\Montevina_x86_Release
    Copy this NK.bin file on a CE 6.0 bootable media and boot from it. Alternatively, you can use EBOOT.bin to boot your NK.bin file over Ethernet.

6.0 RECOMMENDED COMPONENTS

Additional software/hardware components can be added to your image by clicking on the "Catalog Items View" from the left project pane. Some recommended components to be included are:

7.0 ADDING ETHERNET AND GRAPHICS DRIVERS

If you are using our supplied sample projet file (MontevinaOSDesign.pbxml), you do not need to perform these steps. However, we recommend that you still read this section for a better understanding of BSP modifications.

Adding 82574L Ethernet Driver

  1. The drivers are included in the ZIP file and should be extracted at the following location automatically:
    C:\WINCE600\3rdParty\82574
  2. From your project's Solution Explorer window, right-click on Project Name and go to Properties→Custom Build Actions→Pre-Make Image and add the following command:
    copy %_WINCEROOT%\3rdParty\82574\E1Q51CE6.dll %_FLATRELEASEDIR%\E1Q51CE6.dll
  3. Make sure you set the variable:
    CEPB_INTELE1Q_PCIE=1
    in your platform's batch file (Montevina.bat) located at:
    C:\WINCE600\PLATFORM\Montevina

Adding 82541ER Ethernet Driver (for Leopard only)

  1. The drivers are included in the zip file and should be extracted at the following location automatically:
    C:\WINCE600\3rdParty\82541
  2. From your project's Solution Explorer window, right-click on Project Name and go to Properties→Custom Build Actions→Pre-Make Image and add the following command:
    copy %_WINCEROOT%\3rdParty\82541\e1000ce6.dll %_FLATRELEASEDIR%\e1000ce6.dll
  3. Make sure you set the variable:
    set CEPB_INTELGBE_VL-E=1
    in your platform's batch file (Montevina.bat) located at:
    C:\WINCE600\PLATFORM\Montevina

Adding Graphics Driver (IEGD)

  1. The graphics drivers are included in the zip file and should be extracted at the following location automatically:
    C:\WINCE600\3rdParty\IEGD_MNTV
  2. From your project's Solution Explorer window, right-click on Project Name and go to Properties→Custom Build Actions→Pre-Make Image and add the following commands:
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\Driver\ddi_iegd.dll %_FLATRELEASEDIR%\ddi_iegd.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\Driver\iegd3dg3.dll %_FLATRELEASEDIR%\iegd3dg3.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\Driver\iegd3dg4.dll %_FLATRELEASEDIR%\iegd3dg4.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\Driver\iegd3dga.dll %_FLATRELEASEDIR%\iegd3dga.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\Driver\analog.dll %_FLATRELEASEDIR%\analog.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\Driver\lvds.dll %_FLATRELEASEDIR%\lvds.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\driver\libGLES_CM.dll %_FLATRELEASEDIR%\libGLES_CM.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\driver\libGLESv2.dll %_FLATRELEASEDIR%\libGLESv2.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\driver\libOpenGL.dll %_FLATRELEASEDIR%\libOpenGL.dll
    copy %_WINCEROOT%\3rdParty\IEGD_MNTV\driver\isr_iegd.dll %_FLATRELEASEDIR%\isr_iegd.dll
    If you require a graphics driver with a specific resolution and/or feature, you will need to generate your own CE 6.0 driver using Intel's IEGD utility [2]. By default, we supply the driver with the registry settings for 1024 x 768 resolution. We have also supplied a drive registry file for 1280 x 1024 resolution called iegd.reg.1280x768 at:
    C:\WINCE600\3rdParty\IEGD_MNTV
    To get 1280 x 1024 resolution on your CE image, just rename the above registry file to iegd.reg and select Advanced Build Commands→Rebuild Current BSP and Subprojects from Platform Builder.
  3. Make sure you set the variable:
    set BSP_DISPLAY_IEGD=1
    in your platform's batch file (Montevina.bat) located at:
    C:\WINCE600\PLATFORM\Montevina
    Note: The Wildcat (VL-EPMp-34) and Leopard (VL-EPM-35) are both based on the same CPU board; the difference is that the Leopard includes an additional I/O board for enhanced functionality.

8.0 SERVICES

If you are using the project file MontevinaOSDesign.pbxml supplied by VersaLogic at:

C:\WINCE600\OSDesigns\MontevinaOSDesign\MontevinaOSDesign

then the following services/servers are enabled by default:

  1. Telnet Server
  2. Web Server (HTTPD)
  3. FTP Server
  4. File Server (SMB/CIFS)
  5. Remote Display Application

Warning!You configure the settings for the above services/servers in the platform.reg file.

a) Using Telnet Server

You can access the target system using the telnet utility. After booting NK.bin on the target device, just launch a telnet command from any workstation (Windows, Linux, etc.) like this:

C:\Documents and Settings\User>telnet wince
-- or --
C:\Documents and Settings\User>telnet 192.168.0.136

where:

192.168.0.136 = IP address of the GeodeLX based target device
-- and --
wince = machine name of the target device which is defined in platform.reg file at:

C:\WINCE600\PLATFORM\Montevina\FILES

Now you should be able to see your familiar CE 6.0 console with the command prompt ready to take commands, like this:

Welcome to the Windows CE Telnet Service on WinCE

Pocket CMD v 6.00
\> dir

b) Using Web Server

Once your CE image boots on your target device, launch any web browser from any machine and type in:

http://wince
-- or --
http://192.168.0.136

and you will see the complete contents of the root (/) directory of your target device. To further manage the server remotely, give the following command:

http://192.168.0.136/RemoteAdmin

and then create a new password. After that, the device will reset and you will be asked to enter the default username (which is admin) and password (which you just created).

c) Using FTP Server

From any workstation give the following command:

C:\Documents and Settings\User>ftp wince
-- or --
C:\Documents and Settings\User>ftp 192.168.0.136

and enter the details as follows:

Connected to wince.
220 Service ready for new user.
User (wince:(none)): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in, proceed.
ftp>

d) Using File Server

To mount a shared windows folder which resides on a machine on your CE target device, give the following command on the target device:

net use winshare \\windowssharemachine\shareddocs

where:

windowssharemachine = is a Windows machine (example: Windows XP)
shareddocs = a shared folder on the above Windows machine
winshare = destination folder name under which the contents of shareddocs will be mounted (you can give any name you want)

After giving the above command, a username/password dialog box will pop-up. After entering the details you will be able to see the share on your CE target device at:

\Network\winshare

You can access the above from the My Device icon on the CE desktop.

Similarly, to mount a shared folder which resides on the CE target device on a Windows machine (example: Windows XP), give the following command from a Windows XP machine:

C:\Documents and Settings\User>net use q: \\wince\MYSHARE

where:

MYSHARE = name (alias) of the shared folder called Temp on the CE target device.
You can change the alias name and the folder to share in the platform.reg file.

9.0 APPLICATION DEVELOPMENT

Here we will discuss how to do remote application debug using the Core Connectivity method in VS 2005. The steps are heavily borrowed from [8]. Also we recommend that you use your sample project file to walk through these steps to minimize errors.

  1. Install the Core Connectivity setup file CoreCon_v200_x86_WinCE600.msi and select the following catalog items from Platform Builder:

    Third Party→CoreCon→CoreCon_v200_x86
    Core OS→CEBASE→CAB File Installer/Uninstaller

  2. Build your OSDesign solution to generate NK.bin and boot it on your target device.
  3. Install the SDK, Montevina.msi, from the following location:

    C:\WINCE600\PLATFORM\Montevina\SDK

  4. Create a simple test application:
    1. Launch VS 2005, from the VS 2005 IDE, select File→New→Project to bring up the New Project screen.
    2. On the left pane, expand Visual C# and Smart Device node to select Windows CE 5.0.
    3. On the right pane, select Device Application, enter HelloWorld as the project name and click OK.
    4. Create a form and add some labels, buttons, text.
    5. From the VS 2005 IDE, select Build→Build Solution to compile and generate executable binary for the project.
  5. Preparing VS 2005 for CoreCon (Core Connection) connectivity:
    1. To establish CoreCon connectivity between the VS2005 development workstation and target device, you first need to find out the target device’s IP address.
    2. From the VS 2005 IDE, set the target device to Montevina x86 Device (Optional).
    3. From VS 2005 IDE, select Tools→Options to bring up the device configuration screen.
    4. On the left pane, expand the Device Tools node and select Devices. On the right pane, select Montevina from the list of available platforms in the Show devices for platform combo text box.
    5. Click on the Properties button to bring up the Montevina x86 Device properties setting screen. Click on the Configure button to bring up the Configure TCP/IP Transport screen. Select Use specific IP address and enter the IP address for the target device. Click the OK button to save the device IP address setting. Click the OK button on the Montevina x86 Device properties screen to close the screen. Click the OK button on the Options screen to close the screen.
  6. Connecting Target Device to VS 2005 IDE with CoreCon
    1. To initiate CoreCon connectivity between VS2005 development workstation and target device, the CoreCon executable, ConmanClient2.exe, needs to be launched from the target device with CE running. The executable can be found in the \Windows folder on the target device.

      Warning!Each time the target device resets power and reboots, the ConmanClient2.exe executable needs to launch again.

    2. In addition to launching the ConmanClient2.exe, the CMaccept.exe executable also needs to be launched to override CE security temporarily to allow the VS2005 IDE to establish CoreCon connectivity to the CE target device. When CMaccept.exe is launched, the security is temporary disabled for 3 minutes. If the VS2005 IDE fails to establish the CoreCon connection within 3 minutes, the CMaccept.exe needs to be launched again. When the CoreCon_v200_x86 component is added to the OS design, in addition to including the necessary CoreCon files, the following registry entries are also added to disable security:

      [HKEY_LOCAL_MACHINE\System]
      "CoreConOverrideSecurity"=dword:1

      Since the CoreConOverrideSecurity entry in the registry disable security, the CMaccept.exe executable is not needed for this exercise.
    3. From the VS 2005 IDE, select Tools→Connect to device, select Montevina from the list of available platforms, make sure Montevina x86 Device is selected under Devices and click on the Connect button.
    4. When the connection is successfully established, the Connecting dialog box will display Connection succeeded to indicate a successful connection.
  7. Deploying Managed Code application on the Target Device:

    With the CoreCon Connectivity established, we are ready to deploy the managed code application to the CE target device. From the VS 2005 IDE, select Debug→Start Debugging and when asked select Montevina x86 Device and click on Deploy button to deploy the application to the target device. As the application is being deployed, a series of activities is shown on the VS 2005 IDE’s output tab. After deploying, the application is launched on the target device’s CE desktop.

10.0 FEATURES TESTED

The following features have been tested on this BSP:

  1. Serial ports
    • COM1, COM2, COM3 and COM4 @ 115200,8,N,1
  2. Keyboard and mouse
    • PS/2 and USB
  3. Video/Graphics
    • VGA up to 1280 x 1024 resolution
    • LVDS up to 1280 x 1024 resolution
  4. Ethernet
    • Intel 82574L (including EBOOT/KITL)
    • Intel 82541ER (including EBOOT/KITL)
  5. SATA
    • Hard drive
    • CD/DVD-ROM drive
  6. USB
    • Hard/flash drives, MiniBlade, CD-ROMs
    • Keyboard and mouse

11.0 SERIAL PORTS

Following are the BIOS/CMOS settings that you will need to set for the serial ports to function:

Name IOBASE IRQ Modes Tested Boards Tested
RS-232 RS-422 RS-485 Mamba Leopard Wildcat Komodo
COM1 0x3F8 4
COM2 0x2F8 3
COM3 0x3E8 5
COM4 0x2E8 7
COM5a 0x3F8 4
  1. The Wildcat has only one serial port referenced as Serial Port 5 in the BIOS. Basically, this port behaves exactly as COM1 on other Montevina boards.

The supplied platform.reg file is set up to reflect the above settings for the serial ports. Please refer to the corresponding board manual [3,4,5,6] for additional information on serial ports.

By default, Windows CE uses a Serial/COM port (typically COM1) with IOBASE=0x3F8 and IRQ=4 to send out debug messages. Note that this feature does not use the actual serial port CE driver com16550.dll, it just uses the serial port hardware to output debug messages at 38400,8,N,1 baud rate and hence the COM1 port should be available for use by your application. The supplied project file (MontevinaOSDesign.pbxml) is set up to enable all four serial ports. You can tweak the serial port settings (IO Base Address, IRQs, etc.) by modifying the platform.reg file as per your requirements. Please refer to the board manuals [3,4,5,6] for additional configuration information.

12.0 IMPORTANT NOTES

  1. Do not Enable the Features→Legacy Free Option→Legacy-Free option in the CMOS settings. If you do, your CE bootloader will mostly likely hang at the following message:
    Microsoft Windows CE BIOS Bootloader
  2. The EBOOT.bin generated in the Debug build hangs mostly because of its size, which does not fit in the allocated memory. The release build version has been verified to work. We have supplied a pre-built version of CE 6.0 EBOOT.bin in the following directories:
    C:\WINCE600\3rdParty\82574\
    C:\WINCE600\3rdParty\82541\
    Copy the EBOOT.bin file if you want to immediately begin building and booting Debug images over Ethernet.

    Warning!The EBOOT.bin file is exactly the same in both of the directories i.e. the EBOOT.bin will support both 82574L and 82541ER Ethernet.

  3. KITL is disabled in our supplied sample project file (MontevinaOSDesign.pbxml). If you want KITL support in your image, from your Solution Explorer window simply right-click on Project Name→Properties and check the box Enable KITL (no IMGNOKITL=1). Click Apply and then OK.
  4. This BSP does not currently contain audio support for the IDT HD audio codec present on the boards.

13.0 KNOWN ISSUES

  1. If you are using the Wildcat (VL-EPMp-34) board, make sure that you select the following catalog item in your project file:
    ProjectName→Device Drivers→Input Devices→Keyboard/Mouse→NOP (Stub) Keyboard/Mouse English
    Otherwise, the USB mouse and keyboard won't be functional when the CE desktop loads. The sample project file MontevinaOSDesign.pbxml does NOT have the above catalog item selected and therefore the image that you build from this project file will not have USB mouse and keyboard support.
  2. Sometimes a USB flash drive or MiniBlade partition may not be visible under My Devices in the CE image. Just remove it and plug it back in again and it should be visible.
  3. For EPICs-36S only: If you enable COM3 and COM4 in CMOS, NK.bin will hang during boot. You can work around this issue by:
    1. Setting the CPU Speed to 1867 MHz or less in the CMOS [7].
    2. -- or --
    3. By disabling the ICH IDE driver (you will lose access to SATA devices) in your BSP by un-setting the following variable in your platform.reg file:
      set BSP_STORAGE_ICHIDE=

14.0 REFERENCES

[1] http://msdn.microsoft.com/en-us/windowsembedded/ce/dd430902.aspx

[2] http://edc.intel.com/Software/Downloads/IEGD/

[3] https://www.versalogic.com/products/Manuals/MEPMP34.pdf

[4] https://www.versalogic.com/products/Manuals/MEPM35.pdf

[5] https://www.versalogic.com/products/Manuals/MEPICS36.pdf

[6] https://www.versalogic.com/products/Manuals/MEPM37.pdf

[7] EPICs-36 Komodo CMOS Setup Reference#SpeedMan

[8] http://www.embeddedpc.net/ebox3310amsjk/eBox3310A_CE60_JumpStart_Rev6.0.pdf

Copyright © 2010 VersaLogic Corp. All rights reserved.