0% found this document useful (0 votes)
366 views

WinCE Development Note

This document from DMP Electronics provides guidance for developers working with Windows CE. It outlines different CPU options and their compatibility with Windows CE. It also includes a table matching hardware to the appropriate BSP and instructions for selecting the correct eboot.bin file and installing bootloaders. The document discusses issues with hive-based registry on non-primary drives and using KITL for debugging boot issues. Developers can contact DMP's technical support for additional assistance.

Uploaded by

admred_quimicos
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
366 views

WinCE Development Note

This document from DMP Electronics provides guidance for developers working with Windows CE. It outlines different CPU options and their compatibility with Windows CE. It also includes a table matching hardware to the appropriate BSP and instructions for selecting the correct eboot.bin file and installing bootloaders. The document discusses issues with hive-based registry on non-primary drives and using KITL for debugging boot issues. Developers can contact DMP's technical support for additional assistance.

Uploaded by

admred_quimicos
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

DMP Electronics INC.

Windows CE Development Note

Windows CE Development Note


2010-07-23 This document will show embedded developers some note from our technical support. It may help you to solve most problems in your development.

DM&P CPU
Before identifying your hardware, know CPU difference clearly will be helpful: CPU Description M6117D It is i386 compatible CPU and can not run Windows CE. Vortex86 It is Pentium with MMX compatible CPU. Vega86 It is Pentimu with MMX, SSE and 3DNow. Vortex86SX It is i486 compatible CPU without FPU. Vortex86DX It is improved from Vortex86SX to add FPU. Can run Windows XP or Windows XP Embedded. Vortex86MX It is improved from Vortex86DX to built-in graphic chipset.

Select match BSP


This table will show you hardware information and BSP: Hardware CPU BSP ICOP VSX-61XX Vortex86SX http://www.dmp.com.tw/tech/vortex86sx/#wince ICOP VSX-63XX Vortex86DX http://www.dmp.com.tw/tech/vortex86dx/#wince ICOP-60XX Vortex86 http://www.dmp.com.tw/tech/os-wince ICOP-62XX Vega86 http://www.dmp.com.tw/tech/os-wince eBox-2300 Vortex86 http://www.dmp.com.tw/tech/os-wince eBox-2300SX Vortex86SX http://www.dmp.com.tw/tech/vortex86sx/#wince eBox-2300DX Vortex86DX http://www.dmp.com.tw/tech/vortex86dx/#wince eBox-3300 Vortex86DX http://www.dmp.com.tw/tech/vortex86dx/#wince eBox-3300MX Vortex86MX http://www.dmp.com.tw/tech/vortex86mx/#wince eBox-38XX VIA Eden-N Nano Not recommend for embedded users. eBox-43XX VIA Eden ULV Not recommend for embedded users. eBox-48XX VIA Esther Not recommend for embedded users.

Using eboot.bin to Boot Windows CE


If you can not use eboot.bin to load Windows CE from Platform Builder in Visual Studio 2005, please check thise: Select correct eboot.bin for your board. The Ethernet on Vortex86 and Vega86 is Realtek 81xx. Vortex86SX/DX/MX is using R6040 Ethernet. Find eboot.bin at \PLATFORM\<BSP_Name>\SRC \BOOTLoader\eboot\bin\eboot.bin. Make sure Enable eboot space in memory (IMGEBOOT) in build option of your project is checked. Disable firewall in your Windows XP/Vista to make sure BOOTME message from eboot.bin can be received in connectivity setup. Debug serial port parameters can be assigned from loadcepc.exe arguments or boot.ini for x86 BIOS loader. You also can get message from serial port (default: 38400/N/8/1) to check eboot.bin running status. 1 of 3

DMP Electronics INC.

Windows CE Development Note

Make Standalone Boot Image


To make standalone boot image, you have to disable KITL and CE target control (on Windows CE 5.0) in build option. Some developers do not disable KITL to boot CE image and get black screen. This is because CE image will try to connect to Platform Builder via KITL. (Build Options)

Install Boot Loader


There are two boot loader for x86 architecture: LoadCEPC.exe and X86 BIOS loader. Before installing loader, you need to make primary partition, set it as active and format the partition with FAT16 file system. Those steps are basic and we assume you know that. Or, search it from Google for more detail. Developers can make a bootable DOM/HDD to boot on target board and set your DOM as slave IDE device to install boot loader and copy Windows CE image. This method is more complexity that boot from USB. Refer to http://www.google.com/search?q=HP+USB+Boot+tool or Demo Images section in Operating System Support in http://www.dmp.com.tw/tech/vortex86sx. LoadCEPC.exe Locate \WINCE600\PLATFORM\CEPC\SRC\BOOTLOADER\DOS\BOOTDISK. Here are necessary files to load Windows CE from DOS via loadcepc.exe utility. 1. 2. Copy autoexec.bat, config.sys, himem.sys and loadcepc.exe from USB pen drive onto DOM. Developer can run format c: /s to transfer DOS boot files. Or, you need to run sys command for that. Also make sure the version himem.sys is the same as format/sys command. If your USB is boot from Windows 98 DOS, copy himem.sys from your Windows 98 system. If your USB or DOM is boot from MS-DOS 6.22, copy himem.sys from MS-DOS 6.22. As our test, the himem.sys in MS-DOS 5.0 will make Windows CE report error after image is loaded onto memory to run. 3. This is optional step. You can modify config.sys as:
device=himem.sys /testmem:off dos=high

4.

This is optional step. You can modify autoexec.bat as:


@echo off loadcepc.exe nk.bin

5. 6.

If step 3 and 4 are skipped, you have to select Boot CE/PC (local nk.bin) while DOM is booting. Copy your nk.bin onto DOM

X86 BIOS Loadef Locate WINCE600\PLATFORM\CEPC\SRC\BOOTLOADER\BIOSLOADER\DISKIMAGES\SETUPDISK. Here are necessary files to load Windows CE from X86 BIOS loader.

2 of 3

DMP Electronics INC. 1. 2. 3. 4. Run mkdisk c:. It will install x86 BIOS loader onto DOM.

Windows CE Development Note

Modify the boot.ini on DOM. Find the BinFile in boot.ini. If it is not BinFile=nk.bin, correct it. Copy nk.bin from your pen drive onto DOM Now, you DOM will boot without DOS and show splash BMX file to load Windows CE.

Refer to http://blogs.msdn.com/mikehall/archive/2007/07/11/splash-bmx-what-s-a-bmx-file.aspx to change boot logo for X86 BIOS loader.

IDE Issue with Hive-based Registry


Hive-based registry in Windows CE is for developers who need to save registry changes. Any registry change will be saved on to DOM/HDD (for example: home page of Internet Explorer). If Windows CE is boot from USB or DOM which is not primary master IDE device, Windows CE will hang at hive-based registry boot phase. eBox series will get this problem easily for boot from CF or SD card.

Using KITL
Some developers can not boot Windows CE image and use a lot of time to guess cause or try error. Windows CE development provides KITL for developer to trace and debug O/S. If your Windows CE can not boot or get black screen, you can try to enable KITL with debug mode to boot CE via eboot.bin. Windows CE will send boot message via Ethernet to debug window in Visual Studio. It can help you to know the boot procedure and status of Windows CE. Here are debug message example:
PB Debugger The Kernel Debugger has been disconnected successfully. PB Debugger The Kernel Debugger is waiting to connect with target. 4294767296 PID:0 TID:2 CEPC Firmware Init 4294767296 PID:0 TID:2 RTC - Status Reg B - 0x02 4294767296 PID:0 TID:2 g_dwCPUFeatures = 00000111 4294767296 PID:0 TID:2 Looking for rom chain 4294767296 PID:0 TID:2 Rom chain NOT found PB Debugger Kernel debugger connected. 4294767296 PID:0 TID:2 Firmware Init Done. 4294767296 PID:0 TID:2 Setting up softlog at 0x87cfc000 for 0x800 entries 4294767296 PID:0 TID:2 Booting Windows CE version 6.00 for (x86) 4294767296 PID:0 TID:2 &pTOC = 80db9f10, pTOC = 80d60630, pTOC->ulRamFree = 80dc2000, MemForPT = 00043000 4294767296 PID:0 TID:2 Old or invalid version stamp in kernel structures - starting clean! 4294767296 PID:0 TID:2 Configuring: Primary pages: 28392, Secondary pages: 0, Filesystem pages = 14196 4294767296 PID:0 TID:2 Booting kernel with clean memory configuration: 4294767296 PID:0 TID:2 Memory Sections: 4294767296 PID:0 TID:2 [0] : start: 80e06000, extension: 0000e000, length: 06ee8000 4294767296 PID:0 TID:2 X86Init done, OEMAddressTable = 80226d30, RAM mapped = 08000000. 4294767296 PID:0 TID:2 Windows CE KernelInit . . . 4294821245 PID:400002 TID:650002 This device has booted 2 times !!! 4294822745 PID:3b00002 TID:3b10002 DoImport Failed! Unable to import from Library 'ADVAPI32.dll' 4294822747 PID:3b00002 TID:3b10002 !! Process Import failed - Process 'explorer.exe' not started!! 4294822759 PID:3b70002 TID:3b80002 Initializating services for Services.exe 4294822761 PID:400002 TID:3b80002 DEVICE!RegReadActivationValues RegQueryValueEx(Services\Prefix) returned 2 4294822762 PID:400002 TID:3b80002 DEVICE!RegReadActivationValues RegQueryValueEx(Services\BusPrefix) returned 2

Technical Support
For more technical support, please visit http://www.dmp.com.tw/tech or mail to [email protected]. 3 of 3

You might also like