Advantech Embedded System Users Manual
This document describes the Windows CE 3.0 Based Embedded System, which is a compact, highly efficient, scalable operating system designed for a broad range of embedded systems and products. It is pre-configured for dedicated hardware and settings for on-board devices, and can be used to develop Windows CE applications.
Advertisement
Advertisement
Windows ® CE 3.0 Based
Embedded System
Users Manual
Important Note: Read Carefully
This product is protected by the "End-User License
Agreement"(EULA). Please read it carefully before using the product.
Copyright Notice
This document is copyrighted, 2000, by Advantech Co. Ltd. All rights are reserved. Advantech Co., Ltd. reserves the right to make improvements to the products described in this document at any time without notice.
No part of this document may be reproduced, copied, translated or transmitted in any form or by any means without the prior written permission of Advantech. Information provided in this document is intended to be accurate and reliable. However, Advantech assumes no responsibility for its use, nor for any infringements upon the rights of third parties which may result from its use.
Microsoft and Windows are registered trademarks of Microsoft
Corporation in the United States and/or other countries.
All brand and product names mentioned herein are trademarks or registered trademarks of their respective holders.
Part Number:
Table of Content
Introduction
Installation and Setting
Tutorial – Using Windows CE 3.0
Shut down the system
Command Prompt (CMD.EXE)
Advantech Registry Edit Utility
Protected Registry Keys and Values
Advantech Auto Launch Application Solution
VGA
Keyboard
Mouse
File system and Storage
Floppy
IDE Hard Disk/Flash Disk/CompactFlash Disk
Ethernet
Audio
USB
IrDA
Browser
Application Programming
Host and Target
Windows® CE eMbedded Visual Tools 3.0
Ethernet
Visual C++ Programming
Visual Basic Programming
Q&A
Appendix
Introduction
Microsoft Windows CE is a compact, highly efficient, scalable operating system that is designed for a broad range of embedded systems and products. Its multi-threaded, multi-tasking, fully preemptive OS environment is targeted specifically toward hardware with limited resources. It’s modular design enables embedded system and application developers to customize it for a variety of products, such as industrial controllers and embedded communication devices.
Using Windows CE, developers can leverage their existing
Windows-based programming skills. Windows CE supports subset of Microsoft Win32 APIs and several additional programming interfaces.
Advantech’s Windows CE based Embedded System
It comes with the pre-configured Windows CE OS Image and
Windows CE license. You don't need to waste time and energy on developing on-board device drivers or using the Platform
Builder to build the Windows CE Image, we've done that for you!
All you need to do is develop your Windows CE applications!
Advantech Enhancement for Windows CE
Advantech continues the effort to develop Windows ® CE optimized drivers, tools and components to further enhance
Microsoft Windows ® CE package. Followings are the key enhancements:
Auto Launch Application Function
Memory and Storage Setting Solution
IDE hard disk or Flash disk support
Enhanced Serial Port Driver
Enhanced Parallel Port Driver
Installation and Setting
Windows CE is an embedded operating system, not a general purpose desktop operating system. The Windows CE Image that comes with the product is pre-configured for the dedicated hardware and settings for on-board devices. So in most cases, you may not change the related BIOS, jumper, IRQ, DMA, I/O address and memory address settings for the on-board devices.
If you really need to change the settings, please write down the original setting before changing any settings.
DRAM Installation:
16MB DRAM is usually too small to run the full configuration
Windows CE Image (e.g. MAXALL configuration), you may encounter memory low message – “Program Memory is
Critically Low”. We recommend 32MB DRAM for most applications.
Currently the default system support up to 32MB for 486 platform and 128MB for pentium above platform.
Bigger Windows CE image file (nk.bin) will consume more memory and make booting time longer. In order to save resource, some utility programs are not in “Windows” directory.
It is available on CD or Floppy, You may copy it to the Flash disk when you need it.
The embedded system you get should have Windows CE software properly installed. Please be careful not to delete or modify the important systems files in the flash disk.
System files
Followings are the systems files in the root directory of Flash disk. Please don’t delete it or the system may not boot or work normally.
Configuration file: bootcepc.cnf
Boot loader needs this file to load image. Please don’t delete this file or change the default setting.
Boot logo .pcx file: bootcepc.pcx
You may replace the bootcepc.pcx with your own logo file, but the file name must be the same. Please backup this file before using your logo file. The resolution should be
640x480 and color depth should be 256 colors.
This is the Windows CE image file. Please don’t delete it or modify it.
Note: Microsoft Windows CE and Advantech software is protected by copyright laws. Please don’t make any illegal copy.
Tutorial – Using Windows CE 3.0
Shut down the system
Unlike other Windows Operating Systems, there is a shut down button. The Windows CE default shell is designed for Hand Held
PC, the Suspend button does not work for x86 Windows CE
Embedded System. To shut down the x86 Windows CE system, you have to close all applications. Then turn off of the power supply or reset the system. Advantech has developed the solution to use the Suspend button as the restart function.
When you push Suspend button, the system will close all device drivers and then restart safely.
Task Manager
Press Alt+Tab key to run Task Manager
Button description:
Switch To: You can use arrow keys to select the task.
End Task: You can stop the selected task.
Cancel: Exit Task Manager
Command Prompt (CMD.EXE)
The command Prompt provides similar commands as the
DOS prompt. You will be able to copy, delete, move and execute files.
Type Help for a list of commands.
Select Start > Programs > Command Prompt or just run cmd.exe.
Advantech Persistent Registry Solution & Setting
The default storage for Windows CE Registry is DRAM.
However, the x86 platform does not have a battery to backup the DRAM data after power off. So, the Registry settings will be gone after the power is off. You will find the
Registry settings will go back to the default value when you power-on again. To solve this problem, Advantech had developed the solution for x86 Persistent Registry.
Setting for Persistent Registry
The persistent registry solution needs a persistent storage
(Flash disk or hard drive) to store the backup registry
(registry.dat). Please go to control panel and double click
“Registry Settings”. Key in the path to store the registry.dat.
Example: Key in “\DiskOnChip” to store backup registry in
“\DiskOnChip\registry.dat”. If you don’t complete this setup, the system will prompt you when system start up every time.
How to change Registry settings?
1. Modify by Control Panel: Some registry settings can be modified in Control Panel.
2. Modify by Remote Registry tool in Microsoft eMbedded
Visual Tool.
3. Modify by Advantech Registry Edit Utility (regcedit.exe)
4. Write your own application to call Registry related APIs
Example APIs: RegOpenKeyEx, RegQueryValueEx,
RegSetValueEx and RegCloseKey.
How to backup the Registry into persistent storage?
Automaticly: Advantech’s utility will backup registry if you use Suspend button to restart system.
Manually: You may also manually use Advantech Registry backup utility (regsave.exe).
The Registry backup file (registry.dat): You may have to delete this file if you need to update or reinstall a new image (nk.bin).
Protected Registry Keys and Values
Windows CE prevents untrusted applications from changing registry keys or values in certain crucial registry directories.
These registry directories are protected and can only be modified by applications certified as trusted by the original equipment manufacturer (OEM). Untrusted applications are unable to modify keys or values in the following protected registry directories or in any of their subdirectories:
HKEY_LOCAL_MACHINE\Comm
HKEY_LOCAL_MACHINE\Drivers
HKEY_LOCAL_MACHINE\HARDWARE
HKEY_LOCAL_MACHINE\SYSTEM
HKEY_LOCAL_MACHINE\Init
HKEY_LOCAL_MACHINE\WDMDrivers
Untrusted applications receive the
ERROR_ACCESS_DENIED error code if they attempt to use the following registry functions in any of the above registry directories:
RegSetValueEx
RegCreateKeyEx
RegDeleteKey
RegDeleteValue
All applications, including unauthorized applications, will still be able to read any registry key or value.
Advantech Auto Launch Application Solution
The default way to launch applications during Windows CE booting is to put your applications in a special Registry key and rebuild the Windows CE Image. This is too complicated and not flexible for most application developers. To solve this problem, Advantech has developed the "Auto Launch" solution. With this solution, you can let the system run your applications without rebuilding the Windows CE
Image.
1. Go to Control Panel > Registry Settings.
2. Click “Auto Launch”
3. Click “New”
4. Add the applications with the full path name and arguments to the list. Example:
\Windows\cmd.exe /k dir
\Windows\pvbload.exe \DiskOnChip\my.vb
Note: You need to use pvbload.exe to run Visual Basic programs (.vb files).
Advantech Memory Adjust Solution
The Windows CE default setting for Storage Memory and
Program Memory ratio is fixed. Even you can change the setting, however, the setting will go back to the default after resetting the system. Because x86 platform does not have battery to backup the setting in DRAM, also the setting is not in Registry, so the Windows Image has to be rebuilt for the new setting.
Advantech has developed the solution and integrate into the pre-configured Windows CE Image. You only have to follow the procedure to change the setting.
1. Go to Control Panel > System
2. Click “Memory”
3. Move slider to the left for more memory to run programs,
move slider to the right for more storage room.
4. Restart the system
VGA Display Setting
1. Go to Control Panel > Display Resolution
2. Select the resolution and color depth
3. Restart the system
Note:
1. This utility is only for Flat display driver. This Flat display driver supports display chips with VESA 2.0 compatible
VGA BIOS. For the other display chip/driver, Advantech may develop special utility. In this case, please refer to the related document for more details.
2. Please don’t select the resolution and color depth which are not supported by the display chip. You may also need to update the VGA BIOS to support different resolution or LCD type. For more details, please check the hardware user manual.
If the target hardware does not come with the Touch screen, please skip this session. Touch screen is available as an option on most Panel PCs. For the other CPU board platforms, the default pre-configured Windows CE Image does not include Touch screen driver and the serial port is available for the other device. To add a Touch screen to the
Windows CE platform, the Windows CE Image needs to be rebuilt with the Touch screen driver. The touch screen calibration utility is in the Control Panel.
Calibration Utility
You need to calibrate at least once for each system. Here is the procedure:
1. Run the calibration utility for the touch screen
2. Following the instruction to calibrate.
3. Save the registry.
4. Reboot the system.
Keyboard
Most Embedded applications don’t need a keyboard. You may need to connect a standard keyboard to configure your Embedded system. After that, you may power off the system, remove the keyboard and reboot.
Run sipselect.exe, then there will be a “red pen” icon on the right of the shell bar.
To enable software keyboard, you may
1. Single click the icon, wait for the pop-up menu, then click “keyboard”. or
2. Double click the icon.
To hide the software keyboard, you may
1. Single click the icon, wait for the pop-up menu, then click “Hide input panel”. or
2. Double click the icon.
Mouse
PS/2 Mouse is the default Windows CE Mouse device. For the few platforms that do not support a PS/2 Mouse, a
Serial Mouse will be the pointing device. Like the keyboard, the system does not need a mouse for most Embedded applications.
Floppy
There is no drive letter (A:, B) in Windows CE. The directory name for Floppy drive is \Floppy. Windows CE is different from other Windows operating systems, the
Floppy must be mounted before using it.
Mount utility
Advantech has developed the driver and utility with auto mount feature. The system can periodically to check and mount the Floppy or mount by manual. You may use the
Floppy mount utility (flmount.exe) to change the polling interval or start/stop the polling.
Note: If there is problem to access the floppy, please check the BIOS setting and cable connection.
IDE Hard Disk/Flash Disk/CompactFlash Disk
If the target hardware does not support IDE device, please skip this session. The IDE driver built in for the pre-configured Windows CE Image supports the IDE
Interface Hard Drive, Flash disk and CompactFlash ™ Card.
Directory Name: There is no drive letter (C:, D: or E:) in
Windows CE. The directory name for the IDE disk is:
Primary Master: \DiskA
Primary Slave: \DiskB
Secondary Master: \DiskC
Secondary Slave: \DiskD
Note: For 256MB below Advantech PCD-100A, PCD-250A,
PCD-350A, PCD-1240V and PCD-1244H (CompactFlash and
IDE Flash disks), the BIOS setting must be “Normal” mode.
Or the system may not get the correct
Cylinder/Head/Sector data and cause errors.
DiskOnChip
The M-Systems DiskOnChip driver is built into the pre-configured Windows CE Image if the CPU board has onboard DiskOnChip socket. Please skip this session if the target hardware does not have DiskOnChip socket.
Note: You must not change the memory jumper setting for
DiskOnChip, or the system will not work.
Directory: There is no drive letter (A:, C: and D:) in
Windows CE. The directory name for DiskOnChip is
\DiskOnChip.
Serial
Serial Port Testing Procedure:
1. Prepare a Null Modem cable to test RS-232 ports.
2. Prepare another Windows 95/98/NT PC.
3. Start the HyperTerminal.exe (Hypertrm.exe) on
Windows 95/98/NT PC, set the baud rate.
4. On the Windows CE Target device
Start the pegterm.exe
Make a New Session
Input any number in the Telephone Number.
Select Force Local
Click Configure ...
Select Manual Dial in Port Settings.
Set the same baud rate as in 95/98/NT PC.
1. Type some characters on both keyboards to verify the connection.
Windows CE only comes with PCL printer driver. Most HP printers should support PCL. If your printer does not support PCL, then you have to develop the Windows CE printer driver.
To test the printer port, you may:
1. Connect a printer and use Advantech utility tstlpt.exe to print a simple plain text page.
2. Connect a PCL compatible printer and use the Browser to print out the web page.
Ethernet
Network Setting
If the hardware you have does not have network chip, please skip this session. Windows CE needs you to change the Device Name in the Control Panel before using the network functions.
Please follow the procedure below:
1. Go to Control Panel > Communications Properties.
2. Change the default "WinCE" to any other name. You have to select a unique name in the network.
3. You may change the Network and TCP/IP settings at this time.
(Go to Control Panel > Network) The default IP setting is to obtain an IP address via DHCP. You may change to static IP.
4. Run regsave.exe to save the Registry setting.
5. Reboot the system.
6. You can use net command and UNC to access Windows
95/98/
NT/2000 share directories and files. However, Windows CE does not support Windows 95/98/NT/2000 to view or access files on Windows CE device. You may develop an application, such as FTP applications to help out with this
solution. .
Microsoft UNC (Universal Naming Convention)
To access files on the network, you may need UNC. It is
"\\" +
Server Name + "\" + Share Name. For more details, please refer to
Microsoft document. net command
The net command is helpful to view or access files on
Windows
95/98/NT/2000.
The Help information is available by: net /? net view <computername> | /DOMAIN: <domainname> net use [<local name>|*] [<remote name>] [/user:<username>] [/ d]
Example: net view \\MyServer\MyShareDirectory cd “\\My Server\My Document” cd \\MyServer\MyShareDirectory
Audio
If the target hardware does not support audio function, please skip this session.
You may go to Control Panel > Volume & Sounds to control the volume or change the .WAV file for system events.
Advantech Audio Recorder Test Utility (record.exe)
1. Connect the microphone and speaker
2. Run record.exe
3. Select sample rate
4. Record your sound
5. Play the sound
Note: If there is any problem, please check the audio chip
IRQ, I/O and DMA BIOS or hardware settings are the same as the Registry settings. For Image size consideration, it may be provided in Floppy, CD rather than Windows CE
Image.
If the target hardware does not support Digital I/O function, please skip this session.
You may use _inp(),_inpw(),_outp() and _outpw() functions in your Windows CE application to access the I/O address directly.
Advantech I/O Port Test Utility (ioport.exe)
You may use the utility to read and write data of I/O ports and test the digital I/O functions.
If the target hardware does not support watchdog timer function, please skip this session.
You may use _inp(),_inpw(),_outp() and _outpw() function calls in your Windows CE application to access the I/O port to enable/disable the watchdog timer. Different CPU boards may have different ways to enable/disable watchdog timer.
For more details, please refer to hardware manual.
USB
If the target hardware does not support USB, please skip this session.
To enable USB, please follow the procedure:
1. Enable USB in BIOS setting
2. Power off the system
3. Power on the system
4. Plug in USB device like USB mouse
Note:
1. The pre-configured Windows CE Image only includes
USB mouse driver.
2. To enable other USB device, you need the Windows CE driver for the USB device. In most case, USB device vendor doesn’t provide Windows CE driver. That means you may have to develop the driver.
If the target hardware does not support IrDA function, please skip this session.
Please follow the procedure to enable IrDA:
1. Enable IrDA in BIOS setting. Make sure to select half duplex mode.
2. Connect an IrDA Adapter to the CPU board. Example:
ACTiSYS ACT-IR210L (http://www.actisys.com)
Advantech IrDA File Transfer Test Utility:
(IrDA_snd.exe and IrDA_rcv.exe)
Prepare two Windows CE Embedded Systems with IrDA adapters and IrDA function is enabled. Transfer file between two Windows CE devices.
Usage:
IrDA_snd.exe filename
IrDA_rcv.exe filename
Example:
Sending side: IrDA_snd.exe send.txt
Receiving side: IrDA_rcv.exe receive.txt
Note:
When you enable the IrDA, it will use one COM port resource. So the COM port will not be available to connect serial port devices.
Communication Programs
Select Start > Programs > Communication to run the programs. The on-line Help information is in Start > Help.
Select Remote Connections.
Remote Networking (remnet.exe): See Topics about
“Connecting to an ISP”, “Connection to a Network” and
“Adjusting Remote Connection Properties”.
Terminal (pegterm.exe): Select Using Terminal
Browser
The browser is from Platform Builder 3.0 IESample.
Microsoft provides it as a sample. Developers can refer to the sample code to customize the browser.
Note: The browser doesn’t support Java Applet.
For more information, see:
Microsoft Platform Builder 3.0 or
Programmer's Guide to Internet Explorer for Microsoft
Windows CE http://www.microsoft.com/windows/embedded/ce/develop er/applications/appdevelopment/iece30.asp
Telnet Server - Sample Windows CE Telnet Server
Windows CE 3.0 includes a sample telnet server (also referred to as telnetd) which allow remote administration through a standard telnet client.
Using the telnet sample, you can alter Windows CE exactly as if you were running the command prompt (cmd.exe) on the device itself. For example, this can be an extremely convenient way to administer Windows CE devices that do not have displays. You can use any of the built-in commands for cmd.exe when running telnet, such as copy, del, and dir. You can also run any executable program that does not create a Windowed UI through a telnet client. This sample telnet server only allows one connection at a time.
Base Registry Keys for Telnet
The protected registry contains named values for telnetd configuration.
Note: HKEY_LOCAL_MACHINE\COMM\TELNETD is a protected (access-restricted) registry key on some devices that run Windows CE 3.0 or later. Refer to the Windows CE
Platform Builder documentation for more information about the protected registry.
Value Description
IsEnabled: Set to 0 to disable the sample telnet server; otherwise, set to nonzero. If the telnet sample is started and this value is not present, this value defaults to accepting connections.
UseAuthentication: Set to nonzero to require a password check on the user; otherwise, set to 0. By default the telnet sample requires authentication. For more information, see Authentication and Security
Considerations.
UserList: List of users to grant or deny telnet access to.
Starting the Sample Telnet Server
To start the telnet server, make sure set the IsEnabled registry value to nonzero.
Stopping the Sample Telnet Serve
To stop the telnet server when running, it is necessary to set the IsEnabled registry value to 0.
Note: The telnet sample reads the values in the registry before servicing each request. Therefore, changes made to the registry take affect immediately and do not require the telnet sample to be stopped and restarted.
Authentication and Security Considerations
If authentication is required, a prompt requesting the user’s name and then password will be sent to the telnet client on establishing a connection. The password will not be echoed back to the client.
Note: In all versions of Windows CE that support the telnet sample, the password is sent in plain text across the network and is therefore vulnerable to packet snooping. A malicious user could obtain the password to the device by watching packets sent back and forth between the telnet sample and client during the authentication stage.
On Windows CE 3.0 and later devices, the password is checked using NTLM authentication using the domain controller specified in
HKEY_LOCAL_MACHINE\COMM\Redir\DefaultDomain
(Note: The password itself is still sent unencrypted between the telnet client to the server.)
Another potential risk of using the Windows CE telnet sample is that if a malicious user could log onto the device, they would have complete control over it. This could involve deleting or modifying key system files and the
registry.
Security Considerations
Because serious security risks, it is recommended you only run the telnet sample on an internal network, where you trust the users. It is highly recommended you do not put this sample Telnet server on a public network such as the
Internet.
How to enable Authentication?
1. Make sure you have a Windows NT Domain on the network
2. Key in the Domain name for registry key
HKEY_LOCAL_MACHINE\COMM\Redir\DefaultDomain
3. Key in the user name in the UserList (describe below)
4. Set UseAuthentication to nonzero to require a password check on the user.
User Lists for Telnet and web Server
It is possible to set access permissions on a per-virtual-root basis. In this way, specific users can be granted access to certain directories without allowing everyone access or having to add the users to the
Administrative groups.
To do this, set the UserList value for the appropriate virtual root with the list of users and groups who either have access to it or are denied access to it.
Examples:
UserList=“GladysL;AnnD;-KimYos;@SomeGroup;-@villains
” allows ‘GladysL’, ‘AnnD’, and the ‘SomeGroup’ group, but restricts the ‘KimYos’ user and the ‘villains’ group.
“ *” or “@*” allows all users, and “-*” or “-@*” denies all
users.
The string is interpreted sequentially; in other words, if
‘GladysL’ is member of the ‘Finance’ group, the following strings will allow GladysL:
GladysL
@ Finance
@ Finance;GladysL
GladysL;@ Finance
@ Admins;-GladysL
GladysL;-@ Finance
GladysL;-GladysL
*;-GladysL;-@ Finance
The following strings will restrict GladysL:
-GladysL
-@ Finance
-GladysL;@ Finance
-@ Finance;GladysL
-GladysL;GladysL
-GladysL;*
Note: ‘*’ is a group and it must be marked as such in the list. It is possible that parsers understand both ‘@*’ and ‘*’ syntax, but they always use ‘@*’ syntax. Note that
Administrators always have access to virtual roots with A set to 1, even if they are not on the UserList for that root and even if they are denied access explicitly in the
UserList value.
How to login the telnet server?
1. Use ipconfig.exe to detect the IP address of the
Windows CE device.
2. Run telnet client program on your desktop machine. For example: telnet.exe on Windows 98.
3. Use the ID and password that are belong to the NT
Domain and also listed on the User Lists to login.
Limitation
The Windows CE telnet sample supports only a small subset of the telnet session negotiation flags. Also, the telnet sample does not handle escape sequences such as
backspace or Control-C.
Some telnet clients only send a carriage return to signify a new line. You must configure your telnet client so that it sends both a carriage return and a line feed (a CRLF) to use the sample telnet server. See the documentation of your specific telnet client for information on how to do this.
Even there are many limitations of this sample telnet server, however, you may develop your own telnet server and using this Microsoft sample code as a starting point.
For more details, please refer to
Microsoft Platform Builder 3.0 online help Internet Services section.
Web Server (httpd)
Windows CE is targeted to be the embedded operating system for all sorts of devices and systems— telephones, vending machines, factory automation, home-security systems, and so on. A Hypertext Transfer Protocol (HTTP) server (or Web server) that is installed on any of these devices can be monitored, configured, controlled and managed remotely. Users need to have an Internet connection and a browser only.
Note:
1. The Windows CE Web Server does not provide proxy services.
2. The Web server implements a subset of the HTTP/1.0 protocol. It supports most of the same components as
IIS, but does not support CGI since ISAPI and ASP applications are more efficient.
3. The authentication and permissions checks that are performed by the Web server should not be confused with a secure connection. The Web server does not support any form of encrypted transmission, such as
Secure Sockets Layer (SSL). Therefore, all data (with the exception of Windows NT Challenge/Response (NTLM) passwords) that is sent between the client browser and the server is in plain text. Note that basic authentication is vulnerable to packet sniffing, so care should be taken when sending sensitive information to and from the server across a public or insecure network such as the
Internet.
Base Registry Keys
The protected registry contains named values for HTTPD configuration. The registry key name is
HKEY_LOCAL_MACHINE\COMM\HTTPD. If you change any value, you must stop the Web server and then restart it to enable the new settings.
The following shows the named values for the protected registry HTTPD-configuration parameters:
Note: Some of the keys are not existed by default. You may follow the example to add it or use regcedit.exe to add the keys and values.
Value Description
IsEnabled: Set to 0 to disable the Web server; otherwise, set to nonzero. Run “httpdsvce.exe –start” will create this key.
Port: The port that is used to receive http connections.
This default port setting is 80. Do not change the port setting.
Basic: If this value is nonzero, Web server uses Basic
Authentication for client connections.
NTLM: If this value is nonzero, the Web server uses NTLM
Authentication for client browser connections. Also, if this value is enabled, failure of Basic authentication forces
NTLM authentication.
DirBrowse: If this value is nonzero, directory browsing is allowed.
DefaultPage: List of DLL names, separated by commas, that specify the filters to use.
DefaultPage: List of page names, separated by semicolons, that specify file names interpreted by the web server to be default pages. When browsing a directory, the web server traverses this list looking for a file of the same name in the directory. If present, this file is sent to the client. If no matching file exists, the web server either
sends a directory listing or returns an error. (See also
DirBrowse above.) If more than one file name is matched, the web server uses the first matching filename.
Filter DLLs: List of DLL names, separated by commas, that specify the filters to use. If no value is present, default.htm and index.htm are used as the default pages.
AdminUsers: List of user names, separated by semicolons.
A user who has gained user access must be listed in this key to gain Administrator access.
LogFileDirectory: Name of the directory in which to put logging files. If the name is not set, logging files are placed in the \windows\www directory. If the directory that is specified is inaccessible, no logging is performed.
PostReadSize: Maximum number of bytes that the Web
Server reads when receiving POST data. To read more data, you must either use a raw data filter, or call ReadClient in an ISAPI Extension. The default value is 48K.
MaxLogSize: Maximum size that a log file can become before it is rolled over. If this value is not set, or if it is set to 0, no logging is performed.
MaxConnections: Maximum number of HTTP requests the web server will handle simultaneously. If this value is not set the default is 10. After the maximum number of connections are established, additional client requests will be sent a “503 – Server Too Busy” message.
How to start web server?
Run “httpdsvc –start”
It will create IsEnabled key if it is not existed.
How to stop web server
2. Run “httpdsvc –stop”
Authentication and remote management
You may use browser to remote manage the Windows CE web server. However, you have to take care of the authentication setting first.
Web server remote management
1. Run ipconfig.exe to get the Windows CE device IP.
2. Use any PC with browser to open http://CE-Machine/Admin URL to manage the web server.
Remember to use httpdsvc.exe to restart (stop and start) web server.
(e.g. http://172.16.5.23/Admin)
NTLM Authentication
1. Make sure you have a Windows NT Domain on the network
2. Key in the Domain name for registry key
HKEY_LOCAL_MACHINE\COMM\Redir\DefaultDomain
3. Make sure Basic key is “0” and NTLM key is “1” .
4. Use regcedit.exe to add the AdminUsers Key (Type:
REG_SZ) if it is not existed. Add administrator user names (must be NT Domain user) to AdminUsers key.
5. Stop web server and wait about 10 seconds
6. Start web server
7. Use the above Domain user name and password for remote login.
8. When you update the settings, it may create some keys.
Remember to restart (stop and start) the web server if you update the web server settings.
Virtual path and other web server settings
You may use the browser to remote change the web server settings.
Note: The web server or system will hang if you point virtual path to the \DiskOnChip or it’s sub directories. You
may point to IDE Flash disk directory (e.g. DiskA, DiskB and DiskC) or other storage’s directories to store the web pages.
For more information, see:
1. Online document: Microsoft Windows CE 3.0 Web Server http://msdn.microsoft.com/library/techart/webserver30.ht
m
2. MSDN Article: Windows CE Web Server - Using Web
Tools to Monitor and Manage Embedded Devices http://msdn.microsoft.com/msdnmag/issues/0500/wince/ wince.asp
3. Microsoft Platform Builder 3.0 online help Internet services section or MSDN web site http://msdn.microsoft.com/library/techart/webserver30.ht
m
Application Programming
Cross Development
For Windows 98/NT/2000 application programming, the development tool like Visual C++ and application can be on the same PC. So developer can develop, debug and test application on the same PC. However, this is impossible for most embedded system development. Because some embedded systems are headless (no display, keyboard or mouse) or the CPU is not powerful enough to install the development tool. Cross development is the solution. The cross development includes a powerful development host, target embedded system and the cable connection between two system.
Windows CE Application Cross-Development
Environment
Host: PC with development tools
Target: Your Windows CE Embedded System
Connection: Ethernet or serial port connection
1. Windows® CE eMbedded Visual Tools 3.0
You may purchase Microsoft eMbedded Visual Tools 3.0 from Microsoft online store or Microsoft local Embedded distributor. http://www.microsoft.com/windows/embedded/ce/tools/e mvt30order.asp
2. Advantech Platform SDK
To develop Windows CE application for Advantech platform, you need to install the SDK. There are two SDKs in the CD, one is for Visual C++ and the other is for Visual Basic.
Development Host System Requirement
1. PC with Pentium processor; Pentium 150 MHz or higher
2. Windows NT Workstation 4.0 with Service Pack 5 or later, or
Microsoft Windows 2000
Development Host Installation
1. Install Windows NT 4.0 + Service Pack 5 or later, or Windows
2000
2. Install Microsoft eMbedded Visual Tool 3.0
3. Install Advantech Platform SDKs (Visual Basic and Visual
C++)
Remote Connection between Host and Target
You may select Ethernet or serial port connection. However, you can only select one at a time for a target platform/device. If the platform has Ethernet, please select
Ethernet connection. Because Ethernet is much faster. Also if you use serial port connection on a platform with Ethernet, there will be network conflict issue between Ethernet and the serial connection. If the platform doesn’t have Ethernet, please select serial connection.
ActiveSync Serial Port Connection
1. Prepare a Null Modem serial cable. Please make sure the cable pin-out is exactly the same as in the Appendix. Use this cable to connect the development host PC and
Windows CE device.
2. On the Windows CE device: Run remnet.exe. Double click the “Make New Connection” icon. Enter a name for the connection (e.g. “My Connection”, click the “Direct
Connection” option. Then click “Next”. Select “Serial
Cable on COM2”. Click on the “Configure…” button. Set the Connection Preferences as follows:
Baud Rate: 19200 (or other speed)
Data Bits: 8
Parity: None
Stop Bits: 1
Flow Control: Hardware
Note: You have to make sure the your host PC has the same serial port setting (Baud Rate and others) as the above.
Click on the “OK” button to close the “Device
Properties” window. Click on the “OK” button to close the “Direct Connection” window. Close the
“remnet.exe” window. Open control panel. Double click the “Communication” icon. Select the “PC Connection”
Tab. Select the “Change…” button. Select the name chosen for the connection made above (e.g. “My
Connection”). Click the “OK” button to close the “Change
Connection” window. Close the “Communications
Properties” window. Close the “Control Panel” window.
Run regsave.exe to save the registry.
3. Download ActiveSync 3.1 from Microsoft web site to your
PC. www.microsoft.com/pocketpc/downloads/activesync.asp
4. Install ActiveSync 3.1 on your development host PC.
5. Run ActiveSync 3.1. When the “Get Connected” screen is shown on the host system. On the Windows CE system, click on the 'Start' then click on 'Run…' and type repllog
(but don’t hit ‘OK’)
6. On the Host system “Get Connected” screen, click
“Next”. Then click “OK” on the Windows CE device “Run” screen (a “connecting to...” box will appear)
7. When a serial connection has been established between the host system and the Windows CE device, the
“ActiveSync” icon on the Host PC task bar will turn green, and a “New Partnership” screen will appear.
8. Select the “No” option that states, 'I don't want to synchronize information. Note: If a partnership has been made by clicking “Yes” option in the “New Partnership” dialog box, to synchronize information it will NOT be possible to establish a connection between the host and
Windows CE device. To remove the partnership, select File,
Delete Partnership, then reconnect.
Configure Platform for ActiveSync Serial Connection
1. Run eMbedded Visual C++ 3.0
2. Run Tools > “Configure Platform Manager…”
3. Select the right platform/device (e.g. Advantech_X86) to configure
4. Click “Properties …”
5. Select “Microsoft ActiveSync”
6. Click “Advanced” button
7. Select “Microsoft ActiveSync” and press “OK” button
8. Press “Test” button to test the connection
Note: You have to change the “device name” in Windows CE control panel for every new ActiveSync connection, or there will be a duplicate name warning on Windows CE device.
9. Once connected, you can use remote tools (e.g. Remote
Registry Editor) on the eMbedded Visual Tool.
Ethernet Connection
1. Connect development host and Windows CE device to the network. (Make sure they both get the IP addresses)
2. Run eMbedded Visual C++ 3.0
3. Run Tools > “Configure Platform Manager…”
4. Select the right platform/device (e.g. Advantech_X86) to configure
5. Click “Properties …”
6. Select “TCP/IP Transport for Windows CE”
7. Click “Configure”
8. Select “Fixed Port” and press “OK” button
9. Click “Advanced” button
10. Select “Manual Server” and press “OK” button
11. Press “Test” button to test the connection
12. It shows following prompt, write down the long command line on paper. Press “OK”.
13. Enter the long command line on Windows CE device.
You may need to enter this long string very frequently for the future debugging. The best way is to write a .bat file and reuse it.
14. Once connected, you may use the remote tools like
“Remote Registry Editor”.
Visual C++ Programming
Win32 Programming
This sample shows you how to develop a simple Win32 Hello
World application.
Start eMbedded Visual C++ 3.0. Select New from the File menu, click on Projects and select WCE Application. Then enter the project name HelloW32, in the directory of your choice. Also select the proper platform (e.g. Win32 (WCE
x86) and Win32 (WCE x86em)). Click OK.
The WCE Application - Step 1 of 1 window is shown.
Select A typical "Hello World" application and click
Finish. This generates a Win32 application that displays... you know what by now. You can see in the left panel
(called the Workspace) some files being listed.
Select Build HelloW32.exe from the Build menu. The entire project is built in a few seconds and the executable
(HelloW32.exe) is copied to the target Windows CE device through serial ActiveSync or Ethernet connection you set before.
MFC Programming
This sample shows you how to develop a simple MFC application.
Start eMbedded Visual C++ 3.0. Select New from the File menu, click on Projects and select WCE MFC AppWizard
(exe). Then enter the project name HelloMFC, in the directory of your choice. Also select the proper platform
(e.g. Win32 (WCE x86) and Win32 (WCE x86em)). Click
OK.
You may use default settings for the reset of Wizard steps and click Finish.
Select Build HelloMFC.exe from the Build menu. The entire project is built in a few seconds and the executable
(HelloMFC.exe) is copied to the target Windows CE device through serial ActiveSync or Ethernet connection you set before.
Visual Basic Programming
1. Start eMbedded Visual Basic 3.0
2. Select the right platform/project (e.g. Windows CE
Advantech_X86 Project)
3. Select the Windows CE Visual Basic components for this project.
4. Write your Visual Basic code
5. Remote Debugging: Run > Start Debug
6. Make your program into .vb file. Download/Copy .vb file to target Windows CE device.
Q&A
Why are the Inbox and Pocket Word missing?
Because most of the Embedded applications do not need Inbox and Pocket Word. So, we choose Full version as the default
Windows CE license. For Microsoft Inbox and Pocket Word applications, the license " Professional Version License" is needed.
When I copied files to the root directory or \Windows directory and reset the system, they all disappeared.
Why?
The Windows CE uses the RAM based File system. So, directories such as Root and \Windows are actually loaded in
RAM. For x86 platform, there is no battery to backup the data in RAM. The data will be lost after power is off. If you need to store your files, you may have to copy them to the following storage devices:
Floppy, DiskOnChip or IDE Flash disk/CompactFlash ™
Card/Hard Drive
Does Advantech offer Windows CE system integration service?
Yes, we can provide the complete Windows ® CE Embedded
System based on your requirements. You simply choose the
Advantech hardware and Windows ® CE configuration, we build the customized Windows ® CE Image. The Windows ® CE
Embedded systems we ship to you will include Advantech hardware, Flash disk with pre-installed Windows ® CE Image and
Windows ® CE license.
Our Windows ® CE experience and strong customer focus enables us to understand your requirements and specifications.
By utilizing the core technology and intellectual property derived from our past projects, we may already have the solution to your toughest problems solved before we even start.
By using these proprietary technologies as a foundation to your
solution, we can minimize the actual custom work - saving you time and money.
With this total solution, you can focus on what is most important to you – your creative application.
What do I do to get a Windows CE device driver for my add-on module?
Windows CE is tied directly to the hardware, so many of the standard PC peripherals requiring drivers have been left out.
Advantech has developed hardware-specific drivers for on-board functions such as network, VGA, I/O ...of its specific single board computers. All these drivers are well ported into the Windows CE image file to be shipped together with the single board computer or Panel PC.
Windows CE is different than Windows 98 or NT in that you can get the driver from the chip or board vendors and install the device drivers. In most cases, the Windows CE image needs to be re-built with the add-on PC/104, ISA or PCI devices'
Windows CE drivers. Usually, the add-on devices do not come with a Windows CE driver. So, you may have to develop or purchase one from a third party.
Appendix
1. Null Modem Cable pin-out (DB-9 to DB-9)
1 and 6 short 4
2 3
3 2
4 1 and 6 short
5 5
7 8
8 7
Please make sure your Null Modem cable pin-out is correct, or the
ActiveSync connection will fail.
2. Windows CE 3.0 related links.
Microsoft Windows CE 3.0 Software Developer Documentation http://msdn.microsoft.com/library/wcedoc/wceintro/cestart.htm
Microsoft Windows CE Home Page http://www.microsoft.com/windows/embedded/ce/default.asp
Download
Advertisement
Key features
Windows CE 3.0 OS
VGA display
Touch screen
Keyboard
Mouse
File system and storage
Serial ports
Parallel port
Ethernet
Audio
Frequently asked questions
Unlike other Windows operating systems, there is no shut down button. To shut down the system, you need to close all applications and then turn off the power supply or reset the system. Advantech has developed a solution where the Suspend button serves as a restart function. When you push the Suspend button, the system will close all device drivers and then restart safely.
The Task Manager allows you to switch between tasks and stop running applications. You can access it by pressing Alt+Tab. The Task Manager provides buttons for switching to a specific task, ending a task, or canceling the Task Manager.
The Persistent Registry solution needs a persistent storage (Flash disk or hard drive) to store the backup registry (registry.dat). Go to the Control Panel and double click “Registry Settings”. Key in the path to store registry.dat. For example, key in “\DiskOnChip” to store the backup registry in “\DiskOnChip\registry.dat”. If you don’t complete this setup, the system will prompt you when the system starts every time.
To run applications during system boot, you can use the Advantech “Auto Launch” solution. Go to Control Panel > Registry Settings. Click “Auto Launch” then “New” and add the applications with the full path name and arguments. For example: \Windows\cmd.exe /k dir. Note: You need to use pvbload.exe to run Visual Basic programs (.vb files).
You need to calibrate the touch screen at least once for each system. To calibrate, run the calibration utility, follow the instructions, save the registry and reboot the system.
Windows CE systems do not use drive letters (A:, B). The directory name for the Floppy drive is \Floppy. The Floppy must be mounted before using it. Advantech has developed a driver and utility with an auto mount feature. The system can periodically check and mount the Floppy or mount it manually. You can use the Floppy mount utility (flmount.exe) to change the polling interval or start/stop the polling.
You can access files on the network using UNC (Universal Naming Convention). It’s \ + Server Name + \ + Share Name. You can also use the net command to view or access files on Windows 95/98/NT/2000. For more information on using the net command, type net /?. Example: net view \MyServer\MyShareDirectory.