<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shai</id>
	<title>Compulab Mediawiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shai"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Special:Contributions/Shai"/>
	<updated>2026-04-17T09:28:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_SPI_Driver_API&amp;diff=964</id>
		<title>CM-X300: WinCE: SPI Driver API</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_SPI_Driver_API&amp;diff=964"/>
		<updated>2010-04-15T06:46:12Z</updated>

		<summary type="html">&lt;p&gt;Shai: added ssp1 referenece&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
This sample application demonstrates the SPI communication between CM-X300 and Maxim Semiconductor DS1722 thermometer. The DS1722 manual is available at: [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2766/t/al DS1722 manual].&lt;br /&gt;
&lt;br /&gt;
The Windows CE demo image includes the SPI driver, which allows direct access to SSP3 and SSP1 functionality. &lt;br /&gt;
= SPI Sample =&lt;br /&gt;
== Connecting the device to CM-X300 ==&lt;br /&gt;
* The SPI device can be connected to the SSP3 port available on connector P6 on SB-X300. The following table describes the connector pin-out:&lt;br /&gt;
{|cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|  '''Signal Name'''  || '''Pin Number'''&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_TXD || 5&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_RXD || 7&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_CLK || 3&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_SFRM || 1&lt;br /&gt;
|}&lt;br /&gt;
* Connect pin 6 (SERMODE) of DS1722 to VDD.&lt;br /&gt;
* Connect all remaining DS1722 pins to VDD and GND according to the device datasheet. &lt;br /&gt;
* Refer to [http://compulab.co.il/x300/download/x300-cm-man.pdf CM-X300-Man] for gpio mapping of SSP1.&lt;br /&gt;
&lt;br /&gt;
== SPI Sample ==&lt;br /&gt;
&lt;br /&gt;
The SPI Sample performs the following actions:&lt;br /&gt;
* Configure the SPI clock frequency (5KHz) and SFRM signal polarity.&lt;br /&gt;
* Read the temperature measurement.&lt;br /&gt;
* Write to the DS1722 configuration register.&lt;br /&gt;
* Read back from the configuration register.&lt;br /&gt;
&lt;br /&gt;
= SPI Driver =&lt;br /&gt;
== Overview ==&lt;br /&gt;
The CM-X300 SPI driver is a stream driver that may be accessed using the &amp;quot;SPI&amp;quot; prefix.&lt;br /&gt;
&lt;br /&gt;
== SPI Driver API ==&lt;br /&gt;
=== Data Types ===&lt;br /&gt;
{{Struct | HeadLevel = ==== | Structname = SPI_SLAVE_CONFIG |&lt;br /&gt;
Description = Device configuration structure|&lt;br /&gt;
Field1 = DWORD	dwDataSize |&lt;br /&gt;
Fieldexp1 = Size of each data frame in bits, allowed values: [4,32] |&lt;br /&gt;
Field2 = DWORD	dwClockRate|&lt;br /&gt;
Fieldexp2 = Frequency in KHz. Allowed values: [4,13*1024] |&lt;br /&gt;
Field3 = [[#POLARITY|POLARITY]]	ClockPol|&lt;br /&gt;
Fieldexp3 = Clock polarity |&lt;br /&gt;
Field4 = [[#POLARITY|POLARITY]]	ChipSelectPol |&lt;br /&gt;
Fieldexp4 = SFRM polarity |&lt;br /&gt;
Field5 = BOOL	bTxTristate |&lt;br /&gt;
Fieldexp5 = Tristate TX line when SFRM is de-asserted |&lt;br /&gt;
Field6 = BOOL	ClkPhaseHalfCycle|&lt;br /&gt;
Fieldexp6 = TRUE - CLK remains in its inactive/idle state until one-half clock cycle after the SFRM signal is asserted at the beginning of a frame.&amp;lt;br&amp;gt;&lt;br /&gt;
FALSE - CLK remains in its inactive/idle state until one full clock cycle after the SFRM signal is asserted at the beginning of a frame.&amp;lt;br&amp;gt;&lt;br /&gt;
Meaningless when bCSExternal = TRUE |&lt;br /&gt;
Field7 = BOOL	bCSExternal|&lt;br /&gt;
Fieldexp7 = SFRM is a GPIO |&lt;br /&gt;
Field8 = DWORD	dwGpioNum|&lt;br /&gt;
Fieldexp8 = GPIO number for SFRM |&lt;br /&gt;
Remarks = bCSExternal is not supported in CM-X300|&lt;br /&gt;
}}&lt;br /&gt;
{{Struct | HeadLevel = ==== | Structname = SPITRANS|&lt;br /&gt;
Description = Transaction data|&lt;br /&gt;
Field1 = DWORD mTransactions |&lt;br /&gt;
Fieldexp1 = Number of data frames in the transaction|&lt;br /&gt;
Field2 = DWORD *mWriteBuffer |&lt;br /&gt;
Fieldexp2 = Data to be written to the port|&lt;br /&gt;
Field3 = DWORD *mReadBuffer |&lt;br /&gt;
Fieldexp3 = Data that was read from the port|&lt;br /&gt;
Field4 = | Field5 = | Field6 = | Field7 = | Field8 = |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
{{Enum| HeadLevel = ==== | Enumname = POLARITY |&lt;br /&gt;
Description = Signals polarity enumeration|  &lt;br /&gt;
Field1 = LOW_INACTIVE |&lt;br /&gt;
Field2 = HIGH_INACTIVE |&lt;br /&gt;
Field3 = |&lt;br /&gt;
Field4 = |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
=== Functions ===&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = HANDLE SPIUserOpen() | &lt;br /&gt;
Description = Opens an instance of the SPI Bus Driver.  |  &lt;br /&gt;
Return =  Returns a handle that should be used to access the driver. Nonzero indicates success. |&lt;br /&gt;
Param1 = |&lt;br /&gt;
Param2 = |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = VOID SPIUserClose (HANDLE hDevice) | &lt;br /&gt;
Description = Closes the driver handle |  &lt;br /&gt;
Return = |&lt;br /&gt;
Param1 = *hDevice - Handle to an open SPI bus instance|&lt;br /&gt;
Param2 = |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = BOOL SPIUserSetConfiguration(HANDLE hDevice, [[#SPI_SLAVE_CONFIG|SPI_SLAVE_CONFIG]]* Settings) | &lt;br /&gt;
Description = Registers the configuration of the device.|  &lt;br /&gt;
Return = TRUE - indicates success.|&lt;br /&gt;
Param1 = *hDevice - Handle to an open SPI bus instance|&lt;br /&gt;
Param2 = *Settings - The SPI device configuration|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = The device specific configuration is passed to the SPI controller immediately before the transaction starts. The driver keeps the configuration between calls to this function or until the SPI bus handle is closed}}&lt;br /&gt;
&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = BOOL SPIUserTransact (HANDLE hDevice, [[#SPITRANS|SPITRANS]]* pTrans) | &lt;br /&gt;
Description = Submits SPI data transaction to the target device |  &lt;br /&gt;
Return = TRUE - indicates success.|&lt;br /&gt;
Param1 = *hDevice - Handle to an open SPI bus instance|&lt;br /&gt;
Param2 = *pTrans - pointer to data structures containing data buffers for the transaction&lt;br /&gt;
|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = The SPI transaction data buffers must be allocated and released by the user&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|SPI Sample ]]&lt;br /&gt;
[[Category:CM-X300|WinCE: SPI Sample ]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300_WinCE&amp;diff=963</id>
		<title>CM-X300 WinCE</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300_WinCE&amp;diff=963"/>
		<updated>2010-04-14T13:46:43Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information related to the Windows Embedded CE demo package for the CM-X300&lt;br /&gt;
&lt;br /&gt;
The Windows CE package by Compulab supports a ready to run demo image, an SDK that enables application development, and a BSP that allows you to customize the run-time image &lt;br /&gt;
|X300-cm-top-m.jpg|thumb}}&lt;br /&gt;
{{Resources_Windows&lt;br /&gt;
|* [[CM-X300: WinCE: Getting Started|Getting started]]&lt;br /&gt;
* [[CM-X300: WinCE: Demo Image|Using the Demo Image]]&lt;br /&gt;
* [[CM-X300: WinCE: Configuring Eboot|Configuring Eboot]]&lt;br /&gt;
|* [[WinCE: Application Development|Application Development]]&lt;br /&gt;
* [[WinCE: Platform Builder Installation | Platform Builder installation]]&lt;br /&gt;
* [[CM-X300: WinCE: OSDesign Configuration|OSDesign Configuration]]&lt;br /&gt;
* [[WinCE: OSDesign Development|OSDesign Creation]]&lt;br /&gt;
|*[[Support]]&lt;br /&gt;
* [[CM-X300: WinCE: Known Issues|Known Issues]]&lt;br /&gt;
}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{ChangelogRss| content=&lt;br /&gt;
===== 14-Apr-2010 =====&lt;br /&gt;
* General notes:&lt;br /&gt;
:- Built with QFE up to Jan 2010 R3 &lt;br /&gt;
:- This release works with Uboot version 5 and above&lt;br /&gt;
* Bug fixes:&lt;br /&gt;
:- Fixed Suspend/Resume cycle&lt;br /&gt;
:- Fixed IP address handling&lt;br /&gt;
:- Fixed power levels for the processor&lt;br /&gt;
:- Fixed gpio driver crash in Updater&lt;br /&gt;
:- Fixed external rtc driver&lt;br /&gt;
:- Fixed power handling of bluetooth and wifi&lt;br /&gt;
:- Fixed the wakeup service&lt;br /&gt;
:- Fixed freeze problems when suspending&lt;br /&gt;
:- Fixed interrupt mapping for FFUART&lt;br /&gt;
:- Fixed SDK&lt;br /&gt;
:- Changed thread priority for the UART&lt;br /&gt;
* Added/Changed features:&lt;br /&gt;
:- Added Sysconf read of alternate function&lt;br /&gt;
:- Enabled L2 cache&lt;br /&gt;
:- Changed LED heart bit rate&lt;br /&gt;
:- GPIO83 puts the system to suspend &lt;br /&gt;
:- Image does not set MAC address. Relies on address set by Uboot&lt;br /&gt;
:- Splash screen support&lt;br /&gt;
:- Added support for new Nand flashes&lt;br /&gt;
:- Enabled ONKEY functionality of the PMIC &lt;br /&gt;
:- Added kernel ioctl to sync with external rtc&lt;br /&gt;
:- Changed the SDHC indexes to be fixed&lt;br /&gt;
:- Added support for SSP1 controller&lt;br /&gt;
:- Changed the SPI driver internals. API is still the same&lt;br /&gt;
:- Adjusted Camera driver to agree with latest QFE&lt;br /&gt;
:- Added RTC/CTS to BTUART&lt;br /&gt;
:- Changed the update process to be more stable&lt;br /&gt;
:- Added a reboot option in Eboot&lt;br /&gt;
:- Frequency is set in Uboot&lt;br /&gt;
===== 22-Nov-2009 =====&lt;br /&gt;
* Fixed GPIO83 wakeup functionality&lt;br /&gt;
* Fixed GPIOExtender interrupt handling bug&lt;br /&gt;
* Fixed MAC Address not loaded from UBoot bug&lt;br /&gt;
* Fixed MPEG4 playback issue&lt;br /&gt;
* Added Eboot configuration through the image updater’s script mode&lt;br /&gt;
* Added a Control Panel Applet to choose USB functionality for PXA310&lt;br /&gt;
* Added a service that simulates user activity on resume to fix hang on resume bug&lt;br /&gt;
* Added automatic detection of revision number (for revision 1.3 and above)&lt;br /&gt;
* Added a “Run Once”-like mechanism on first boot&lt;br /&gt;
* Added a Silverlight Demo Application&lt;br /&gt;
* Generated a new SDK that supports Silverlight for embedded devices&lt;br /&gt;
* This release was built using Windows CE 6.0 R3 and has the following items:&lt;br /&gt;
:- Silverlight for Embedded devices&lt;br /&gt;
:- Adobe Flash Lite ActiveX control for Internet Explorer&lt;br /&gt;
:- Gestures support&lt;br /&gt;
===== 22-Sep-2009 ===== &lt;br /&gt;
* Added Bluetooth functionality support for PXA310&lt;br /&gt;
* Fixed Green LED functionality in Suspend mode&lt;br /&gt;
===== 08-Sep-2009 ===== &lt;br /&gt;
* In this release only changes relevant to PXA310 were made. No changes were made to the PXA300 image.&lt;br /&gt;
* Updated Uboot script to operate properly with PXA310&lt;br /&gt;
* Added USB device support for PXA310&lt;br /&gt;
* Added Eboot option to clean registry&lt;br /&gt;
* Added Eboot option to choose USB functionality&lt;br /&gt;
* Added an optional application to activate Wi-Fi power save mode&lt;br /&gt;
* Fixed backlight behavior after Suspend&lt;br /&gt;
===== 14-Aug-2009 ===== &lt;br /&gt;
* Corrected static libraries use	&lt;br /&gt;
* Added support for PXA310 (separate image)&lt;br /&gt;
* Added control of Touch sensitivity through the registry&lt;br /&gt;
* Added CAB file for Video Acceleration support&lt;br /&gt;
* Added a C# demo application&lt;br /&gt;
===== 1-Jul-2009 ===== &lt;br /&gt;
* Fixed minor bugs in LCDAdapt utility&lt;br /&gt;
* Fixed device power consumption in Sleep mode&lt;br /&gt;
* Fixed COM C and COM D functionality&lt;br /&gt;
* Fixed audio recording bug&lt;br /&gt;
* Added backlight driver&lt;br /&gt;
* Added SPI driver (for HW rev 1.2 and above)&lt;br /&gt;
* Added catalog item to the updater to support access to computers on a network&lt;br /&gt;
* Added a Battery driver&lt;br /&gt;
* Added GPIO as wakeup source from suspend mode&lt;br /&gt;
* Added preliminary support for QCI (Video Input)&lt;br /&gt;
===== 2-Apr-2009 ===== &lt;br /&gt;
* Added support for the Hynix 128 MB NAND flash&lt;br /&gt;
* Added support for DRAM size detection&lt;br /&gt;
* Fixed the functionality of RTC for HW revision 1.2&lt;br /&gt;
* Fixed the suspend/resume functionality for Wi-Fi&lt;br /&gt;
* Added a FailSafe mechanism to the image updater&lt;br /&gt;
* Added script mode support to the image updater&lt;br /&gt;
* Fixed the loading of the MAC address from U-BOOT&lt;br /&gt;
* Added a CF 3.5 catalog item&lt;br /&gt;
* Added a CAB installer catalog item&lt;br /&gt;
* Added touch screen support to the updater image&lt;br /&gt;
* Changed relocation table handling&lt;br /&gt;
* Added a U-BOOT script to set all environment variables&lt;br /&gt;
* Added an LCD Adaptation utility&lt;br /&gt;
===== 24-Sep-2008 =====&lt;br /&gt;
* Added Touch screen functionality&lt;br /&gt;
* Ethernet controller retrieves configuration from Eboot&lt;br /&gt;
* Added KeyPad support&lt;br /&gt;
* Fixed USB 2.0 Slave Suspend/Resume functionality&lt;br /&gt;
* Added LED functionality&lt;br /&gt;
* Wi-Fi and Bluetooth can be configured through Eboot&lt;br /&gt;
* Fixed Wireless Config applet to indicate devices’ true states&lt;br /&gt;
* Added Keypad configuration applet&lt;br /&gt;
* Fixed audio to play stereo&lt;br /&gt;
* Added relocation table creation to Eboot&lt;br /&gt;
* Added desktop side driver INF for ActiveSync by Marvell&lt;br /&gt;
* Added the following SubProjects:&lt;br /&gt;
:- A2dpMgr &lt;br /&gt;
:- TCPMP&lt;br /&gt;
:- RegEdit&lt;br /&gt;
:- AutoLaunch&lt;br /&gt;
:- TaskManager&lt;br /&gt;
:- LookAndFeel&lt;br /&gt;
:- KeypadAppLaunch&lt;br /&gt;
===== 28-Aug-2008 =====&lt;br /&gt;
* Initial Release of Windows CE package &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE]]&lt;br /&gt;
[[Category:CM-X300]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_OSDesign_Configuration&amp;diff=959</id>
		<title>CM-X300: WinCE: OSDesign Configuration</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_OSDesign_Configuration&amp;diff=959"/>
		<updated>2010-04-14T13:27:13Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* Build Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the Driver Package ==&lt;br /&gt;
* Close the Platform Builder Application if it is open.&lt;br /&gt;
* Copy the CM_X300_BSP directory to \WINCE600\Platform\&lt;br /&gt;
* Copy the CM_X300_CE6 directory to \WINCE600\OSDesigns\&lt;br /&gt;
* Launch VS2005 and open \WINCE600\OSDesigns\CM_X300_CE6\CM_X300_CE6.sln&lt;br /&gt;
&lt;br /&gt;
== Building the Platform Project ==&lt;br /&gt;
The CM_X300 Platform Project is used to build CompuLab Windows Embedded CE demo image. It includes many components and is highly recommended as a starting point for a new project. The demo image is relatively large, ~35 MB. Typical Windows CE images for a specific application are much smaller, 8-15 MB.&lt;br /&gt;
&lt;br /&gt;
To build the CM_X300 platform:&lt;br /&gt;
* select the {{MenuEntry|Open-&amp;gt;Project/Solution}} command from the File menu of the VS2005 and select the {{Filename|\WINCE600\OSDesigns\CM_X300_CE6\CM_X300_CE6.sln}} file. &lt;br /&gt;
* Check that the project is configured for Release. &lt;br /&gt;
* Perform {{Cmd|Rebuild Solution}} from the {{Cmd|Build}} menu (alternatively, perform {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}}). &lt;br /&gt;
&lt;br /&gt;
The build process takes about 15-20 minutes.&lt;br /&gt;
&lt;br /&gt;
=== CPU Type ===&lt;br /&gt;
The CM-X300 may be assembled with two CPU types:&lt;br /&gt;
* PXA300 - the C624 option&lt;br /&gt;
* PXA310 - the C624M option&lt;br /&gt;
&lt;br /&gt;
The default BSP configuration targets the PXA310 CPU.&lt;br /&gt;
&lt;br /&gt;
==== Choosing CPU Type ====&lt;br /&gt;
The CPU type is defined in {{Filename|CM_X300_BSP.BAT}} file in the platform directory. Ensure that the {{parameter|BSP_CPU_TYPE}} setting corresponds with the correct CPU type. Leave the appropriate line without the REM directive: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set BSP_CPU_TYPE=310&lt;br /&gt;
REM set BSP_CPU_TYPE=300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build Options ===&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Sysgen}} when adding Platform Builder components (Catalog items) to the project.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}} when removing Platform Builder components (Catalog items) from the project.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Build Current BSP and Subprojects}} when modifying Compulab BSP components that are included in the project or performing changes in the BSP files.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt; Rebuild Build Current BSP and Subprojects}} when adding/removing Compulab BSP components to/from the project.&lt;br /&gt;
{{Warning|1=Do not use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Build and Sysgen}} or {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Rebuild and Clean Sysgen}} that perform compilation and sysgen on the entire Platform Builder tree. &lt;br /&gt;
It is recommended to remove the two commands mentioned above from the menu permanently}}&lt;br /&gt;
&lt;br /&gt;
== Windows CE Image Customization ==&lt;br /&gt;
There are two ways to customize the Windows CE image:&lt;br /&gt;
# Recommended method: Add or remove BSP components from the demo CM_X300_CE6 project. &lt;br /&gt;
# Create a new platform project and then manually add all the necessary BSP components as described in the Platform Builder documentation. Refer to [[WinCE: OSDesign Development|Windows CE OSDesign Development]] page.&lt;br /&gt;
&lt;br /&gt;
=== BSP customization using batch files ===&lt;br /&gt;
The BSP is fully customizable and allows inclusion/exclusion of each component via BSP_NO environment variables. &lt;br /&gt;
&lt;br /&gt;
To exclude a certain driver, set the BSP_NO environment variables in {{Filename|CM_X300_BSP\CM_X300_BSP_COMMON.bat}} and rebuild the BSP with {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Rebuild Current BSP and Subprojects}}.&lt;br /&gt;
&lt;br /&gt;
The following table lists the BSP_NO environment variables that can be defined:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Variable'''&lt;br /&gt;
| '''Meaning'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOKEYPAD &lt;br /&gt;
| No Keypad driver and no support for keyboard &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NODISPLAY&lt;br /&gt;
| No Graphics&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NONAND &lt;br /&gt;
| No NAND Flash driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOSDHC&lt;br /&gt;
| No SDIO card driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOWLAN&lt;br /&gt;
| No WiFi driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOI2C&lt;br /&gt;
| No I2C driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSB20FN&lt;br /&gt;
| No Usb 2.0 Function driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSBFN&lt;br /&gt;
| No Usb 1.1 Function driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSBHOST&lt;br /&gt;
| No Usb Host driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOAUDIO&lt;br /&gt;
| No Audio driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOTOUCH&lt;br /&gt;
| No Touch screen driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOCODEC&lt;br /&gt;
| No Codec driver &lt;br /&gt;
| (no Touch and no Audio)&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOBLUETOOTH&lt;br /&gt;
| No BlueTooth Driver &lt;br /&gt;
| No Bluetooth stack as well&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Any environment variable defined in CM_X300_BSP\CM_X300_BSP_COMMON.bat will override the variables defined in Platform Builder project}}&lt;br /&gt;
&lt;br /&gt;
=== RAM-Based Registry support ===&lt;br /&gt;
The CM-X300 BSP is configured for HIVE-based registry with lazy flushing. The registry hive is located in the system NAND flash.&lt;br /&gt;
To support a RAM-Based registry, perform the following actions:&lt;br /&gt;
* Add the {{Filename|RAM-based Registry}} component to the project&lt;br /&gt;
* Disable the following variables in the {{filename|CM_X300_BSP\CM_X300_PRODUCTION.bat}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set PRJ_ENABLE_FSREGHIVE=1&lt;br /&gt;
set PRJ_ENABLE_REGFLUSH_THREAD=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Perform &amp;quot;Clean Sysgen&amp;quot; using {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}}&lt;br /&gt;
&lt;br /&gt;
=== Persistent File System ===&lt;br /&gt;
The CM-X300 BSP is configured to store the root directory in RAM, therefore the root filesystem is not persistent. To make the root and its subsequent folders persistent, change the Catalog item &amp;quot;ROM and RAM File System&amp;quot; to &amp;quot;ROM-Only file System&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Note|Any data saved to a non-persistent location is erased when the device resets. This includes the root directory (&amp;quot;\&amp;quot;).}}&lt;br /&gt;
&lt;br /&gt;
== CM-X300 BSP Subprojects ==&lt;br /&gt;
In addition to the drivers supplied with the BSP, there are a few useful utilities distributed as Subprojects. Subprojects allow adding software modules to the build without modifying the BSP source code located in the Platform source tree.&lt;br /&gt;
There are two Subproject types available with CM_X300_BSP:&lt;br /&gt;
* Subprojects that add optional functionality to the BSP are located in the {{Filename|\WINCE600\PLATFORM\CM_X300_BSP\Subprojects}} directory.&lt;br /&gt;
: These Subprojects are provided with the source code.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Project Name'''&lt;br /&gt;
| '''Functionality'''&lt;br /&gt;
|-&lt;br /&gt;
| ''SetPowerState''&lt;br /&gt;
| Command line utility that controls the system power state and is used for software reboot and suspend support&lt;br /&gt;
|-&lt;br /&gt;
| ''Regedit''&lt;br /&gt;
| Command line registry editor. Allows remote changes of the device registry via telnet connection.&lt;br /&gt;
|-&lt;br /&gt;
| ''CoreCon''&lt;br /&gt;
| Executables required for application level debugging over Ethernet in VS2005&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoLaunch''&lt;br /&gt;
| Executable that should be used for automatic launch of CoreCon (ConmanClient2.exe) at system startup. AutoLaunch.exe verifies IP address availability before loading ConmanClient2.exe. This is required because ConmanClient2 waits for incoming TCP/IP connections when communicating with VS 2005&lt;br /&gt;
|-&lt;br /&gt;
| ''SysConf''&lt;br /&gt;
| Command line utility for platform debugging&lt;br /&gt;
|-&lt;br /&gt;
| ''Tools''&lt;br /&gt;
| &lt;br /&gt;
* Command line RTC_CMD utility for RTC driven suspend/resume cycles&lt;br /&gt;
* CLTerm program for COM ports testing&lt;br /&gt;
|-&lt;br /&gt;
| ''BuildVer''&lt;br /&gt;
| This project adds a text file to the image specifying which revision was used to build the image. It requires a Tortoise Svn client installed on the desktop. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The Subprojects that add custom applications, control panel applets and registry settings to the demo image are located at {{Filename|\WINCE600\OSDesigns\CM_X300_CE6\Subprojects}} directory.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Project Name'''&lt;br /&gt;
| '''Functionality'''&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\WireLessCPL''&lt;br /&gt;
| Control panel applet that controls the power state (on/off) of wireless devices&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\KeypadConfigCPL''&lt;br /&gt;
| Control panel applet that customizes keypad buttons functionality&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\BacklightCPL''&lt;br /&gt;
| Control panel applet that controls the LCD backlight level&lt;br /&gt;
|-&lt;br /&gt;
| ''TCPMP''&lt;br /&gt;
| Open source Media player&lt;br /&gt;
|-&lt;br /&gt;
| ''TaskManager''&lt;br /&gt;
| Open source Task Manager&lt;br /&gt;
|-&lt;br /&gt;
| ''KeypadAppLaunch''&lt;br /&gt;
| A utility to capture application launching key presses&lt;br /&gt;
|-&lt;br /&gt;
| ''LookAndFeel''&lt;br /&gt;
| Look and feel of the demo image (background, theme, sounds, etc.) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== KITL Connection ==&lt;br /&gt;
Platform Builder communicates with a device using KITL protocol. For details about KITL refer to [http://www.microsoft.com/video/en/us/details/0a8d9767-a419-4f5e-9b37-4328b0993d1d Microsoft's KITL Broadcast] article.&lt;br /&gt;
&lt;br /&gt;
The following actions should be performed in order to setup a KITL connection between the CM-X300 and Platform Builder 6.0:&lt;br /&gt;
# Ensure that a serial terminal is connected to the CM-X300 as described in [[CM-X300: WinCE: Setting Up a Console|Setting up a console]]&lt;br /&gt;
# Ensure that an Ethernet cable is connected to the CM-X300 platform&lt;br /&gt;
# In Platform Builder, go to {{MenuEntry| Target-&amp;gt;Connectivity Options}}. &amp;lt;br&amp;gt;[[Image:Target Device Connectivity Options X300.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Click on {{Filename|Add Device}} and provide a device name (such as CM-X300).&amp;lt;br&amp;gt;[[Image:Target Device Connectivity Options Add Device X300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
# In {{Filename|Kernel Service Map}}, select {{Filename|Ethernet}} for Download and Transport options and {{Filename|KdStub}} for the Debugger.&lt;br /&gt;
# Press {{Filename|Download settings}} and at the same time, נoot the target device and press {{Filename|SPACE}} in the device console to get Eboot main menu.&lt;br /&gt;
# Type &amp;quot;D&amp;quot; to download the image from Platform Builder (results in a broadcast of BOOT ME messages). &lt;br /&gt;
# Platform Builder will show the target device unique name (e.g. CM_X30064242) in the {{Filename|Active Devices}}  area.&amp;lt;br&amp;gt;[[Image:Ethernet Download SettingsX300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Press Transport settings and select {{Filename|Use device name from bootloader}}. &amp;lt;br&amp;gt;[[Image:Ethernet KITL SettingsX300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the connection is configured, download and launch the newly created WinCE image:&lt;br /&gt;
# In Platform Builder Target toolbar, select the configured device and then select {{MenuEntry|Target-&amp;gt;Attach Device}}.&lt;br /&gt;
# Ensure that Eboot is ready for download (i.e. Sends Boot Me messages).&lt;br /&gt;
&lt;br /&gt;
== Image Debugging ==&lt;br /&gt;
=== Platform Debugging with RETAILMSG ===&lt;br /&gt;
Debug messages output to the serial port may be enabled for both Retail and Debug build types.&amp;lt;br&amp;gt;&lt;br /&gt;
To enable RETAILMSG output to COM-A serial port, set the &amp;quot;STUART Usage&amp;quot; option to &amp;quot;Debug Serial&amp;quot; in the BSP Configuration menu in [[CM-X300: WinCE: Configuring Eboot|Eboot]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Debugging over Ethernet ===&lt;br /&gt;
KITL allows platform debugging over Ethernet and enables use of [http://msdn.microsoft.com/en-us/library/ee479862.aspx VS2005 Remote Tools]. During debug session, KITL redirects all the serial output into VS2005 output window.&lt;br /&gt;
&lt;br /&gt;
* Choose the following platform options to enable platform debugging:&lt;br /&gt;
** Enable kernel debugger.&lt;br /&gt;
** Enable KITL.&lt;br /&gt;
* Perform {{MenuEntry|Build-&amp;gt;Advanced Build Commands -&amp;gt;Rebuild Current BSP and Subprojects}}.&lt;br /&gt;
* Start the debug session as described in [[#KITL_Connection|Setup Target for CM_X300 Image Evaluation]] section.&lt;br /&gt;
&lt;br /&gt;
{{Note|Run-time image built with the Kernel debugger and KITL dedicates CM-X300 Ethernet port to debug communication. This port cannot be used for application Ethernet traffic. The application Ethernet traffic can be routed through virtual VMINI adapter that should be enabled in [[CM-X300: WinCE:  Configuring Eboot|Eboot configuration]].}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[WinCE: OSDesign Development | Windows CE OSDesign Development]]&lt;br /&gt;
&lt;br /&gt;
[[CM-X300: WinCE: Hive Based Registry on SD card|Persisting the Registry to the SD Card]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|OSDesign Configuration]]&lt;br /&gt;
[[Category:CM-X300|OSDesign Configuration]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Known_Issues&amp;diff=960</id>
		<title>CM-X300: WinCE: Known Issues</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Known_Issues&amp;diff=960"/>
		<updated>2010-04-14T11:44:04Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following list is the known issues for the latest CM-X300 software package:&lt;br /&gt;
{{IssueCategory|Graphics|&lt;br /&gt;
* After using the overlay, there are visible artifacts when redrawing menu items and icons&lt;br /&gt;
* After installing the CAB file with the Codecs it is no longer possible to play MPEG1 movies&lt;br /&gt;
* There is no audio filter for MPEG2. This means that MPEG2 playback is done without audio&lt;br /&gt;
* There is a memory leak problem when using Marvell's codecs. The memory leaks appear when you destroy and recreate the graphs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{IssueCategory|Peripherals|&lt;br /&gt;
* CM-X300 rev 1.3 in conjunction with SB-X300 rev 1.1 does not have SD card detect and card protect&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Known Issues]]&lt;br /&gt;
[[Category:CM-X300|Known Issues]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Configuring_Eboot&amp;diff=961</id>
		<title>CM-X300: WinCE: Configuring Eboot</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Configuring_Eboot&amp;diff=961"/>
		<updated>2010-04-14T11:43:08Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* System Frequency Menu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
CM-X300 firmware for Windows CE consists of two components: U-Boot and Eboot. U-Boot initializes hardware and transfers control to Eboot - Windows CE loader. Eboot waits for 3 seconds (default setting) and then loads the Windows CE image from the NAND Flash. To interrupt the boot sequence, press any key other than ENTER during the first 3 seconds.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Press [ENTER] to launch image stored in flash or [SPACE] to cancel.&lt;br /&gt;
&lt;br /&gt;
Initiating image launch in 3 seconds.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the boot sequence is interrupted, Eboot enters menu-driven configuration mode.&lt;br /&gt;
&lt;br /&gt;
== Menu Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Main Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
 Eboot Main Menu&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
 [0] IP address: 0.0.0.0&lt;br /&gt;
 [1] Subnet Mask: 0.0.0.0&lt;br /&gt;
 [2] Boot delay: 3 seconds&lt;br /&gt;
 [3] DHCP: (Enabled)&lt;br /&gt;
 [5] Auto Download image at startup(Disable)&lt;br /&gt;
 [D] Download image now&lt;br /&gt;
 [L] Launch existing flash resident image now&lt;br /&gt;
 [S] Set BSP Configuration&lt;br /&gt;
 [R] Reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|Selection is not case sensitive}}&lt;br /&gt;
&lt;br /&gt;
* IP address &lt;br /&gt;
:- Configures the IP address of the device in case DHCP is not used&lt;br /&gt;
* Subnet Mask &lt;br /&gt;
:- Configures the Subnet Mask of the device in case DHCP is not used&lt;br /&gt;
* Boot delay&lt;br /&gt;
:- Specifies the delay in seconds before Auto Download/Launch of an image&lt;br /&gt;
* DHCP&lt;br /&gt;
:- Use DHCP to acquire an IP address during Windows CE boot&lt;br /&gt;
* Auto Download image at startup&lt;br /&gt;
:- Configures whether to launch an image from NAND or download an image using KITL:&lt;br /&gt;
:* {{cmd|Disable}} - launch an image from NAND&lt;br /&gt;
:* {{cmd|Enable}} - download an image using KITL&lt;br /&gt;
* Download image now&lt;br /&gt;
:- Download an image using KITL without making this the default option&lt;br /&gt;
* Launch existing flash resident image now&lt;br /&gt;
:- Load the image stored in the NAND flash without making this the default option&lt;br /&gt;
* Set BSP Configuration&lt;br /&gt;
:- Advanced configuration of the image. Discussed in the next section.&lt;br /&gt;
&lt;br /&gt;
=== Set BSP Configuration === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
 Set BSP Configuration&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
 [B] Bit Blit:  (Software optimized)&lt;br /&gt;
 [T] KITL(Image Download) Transport: (DM9000a)&lt;br /&gt;
 [K] Enable KITL: (Enabled)&lt;br /&gt;
 [L] Enable KITL Polling Mode: (Disabled)&lt;br /&gt;
 [I] Enable IMM driver: (Enabled)&lt;br /&gt;
 [V] Enable VBridge: (Disabled)&lt;br /&gt;
 [F] System frequency: IPM enable&lt;br /&gt;
 [D] Enable/Disable image drivers&lt;br /&gt;
 [U] USB Functionality: USB Host&lt;br /&gt;
 [A] STUART usage: (Debug Serial)&lt;br /&gt;
 [W] BT/WLAN Combo Card usage: (Both Disable)&lt;br /&gt;
 [C] Clean System Hive Registry: (Disabled)&lt;br /&gt;
 [E] Clean Users Hive Registry: (Disabled)&lt;br /&gt;
 [R] Reset to factory default configuration&lt;br /&gt;
 [S] Save configuration to FLASH&lt;br /&gt;
 [Q] Quit to Main menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Bit Blit&lt;br /&gt;
:- Open the Bit Blit menu. Only {{Filename|Software Optimized}} setting is supported &lt;br /&gt;
* KITL&lt;br /&gt;
:- The KITL transport setting. Only DM9000a Ethernet controller is supported&lt;br /&gt;
* Enable KITL&lt;br /&gt;
:- Enable or disable KITL in images that include it&lt;br /&gt;
* Enable KITL Polling Mode&lt;br /&gt;
* Enable IMM driver&lt;br /&gt;
:- Enable Marvell driver for SRAM handling. Do not change this option.&lt;br /&gt;
* Enable VBridge&lt;br /&gt;
:- Enable the VMINI virtual network adapter in images that include KITL&lt;br /&gt;
* System Frequency&lt;br /&gt;
:- Open the [[#System_Frequency_Menu|System frequency sub-menu]]&lt;br /&gt;
* Enable/Disable image drivers&lt;br /&gt;
:- Open the [[#Drivers_Menu|Drivers sub-menu]]&lt;br /&gt;
* STUART Usage&lt;br /&gt;
:- Enable/disable debug output via STUART &lt;br /&gt;
* BT/WLAN Combo Card usage&lt;br /&gt;
:- Open the [[#BT/WLAN_Menu|BT/WLAN submenu]]&lt;br /&gt;
* Clean System Hive Registry&lt;br /&gt;
:- Reset the System registry to the state stored in the {{filename|NK.bin}} file&lt;br /&gt;
* Clean Users Hive Registry&lt;br /&gt;
:- Reset the User registry to the state stored in the {{filename|NK.bin}} file&lt;br /&gt;
* Reset to factory default configuration&lt;br /&gt;
:- Reset Eboot configuration to the state stored in the {{filename|eboot.nb0}} image&lt;br /&gt;
* Save configuration to FLASH&lt;br /&gt;
&lt;br /&gt;
=== System Frequency Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
 System frequency: IPM enable (dynamic frequency)&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
 [1] Disable dynamic frequency changing&lt;br /&gt;
 [2] IPM enable (dynamic frequency)&lt;br /&gt;
 [Q] Quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable dynamic frequency changing&lt;br /&gt;
:- Disable the IPM driver. The frequency will be the one chosen in Uboot.&lt;br /&gt;
* IPM enable (dynamic frequency)&lt;br /&gt;
:- The Dynamic Frequency change driver (IPM) is enabled and controls the frequency.&lt;br /&gt;
&lt;br /&gt;
=== Drivers Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----------------------------------&lt;br /&gt;
 Enable/Disable image drivers&lt;br /&gt;
-----------------------------------&lt;br /&gt;
 [1] SPI Driver:  (Disabled)&lt;br /&gt;
 [2] Backlight Driver:  (Enabled)&lt;br /&gt;
 [3] Battery Driver: (Disabled)&lt;br /&gt;
 [4] Codec Driver: (Enabled)&lt;br /&gt;
 [5] BTUART Driver:  (Disabled)&lt;br /&gt;
 [6] FFUART Driver:  (Disabled)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Each option Disables/Enables the specified driver.&lt;br /&gt;
&amp;lt;br&amp;gt;The Codec driver is responsible for Audio and Touch functionality.&lt;br /&gt;
&lt;br /&gt;
=== BT/WLAN Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
 BT/WLAN Combo Card usage: (Both Disable)&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
 [1] Both Disable&lt;br /&gt;
 [2] Only Enable Bluetooth&lt;br /&gt;
 [3] Only Enable WiFi&lt;br /&gt;
 [4] Both Enable&lt;br /&gt;
 [Q] Quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Configuring Eboot]]&lt;br /&gt;
[[Category:CM-X300|Configuring Eboot]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Hive_Based_Registry_on_SD_card&amp;diff=932</id>
		<title>CM-X300: WinCE: Hive Based Registry on SD card</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Hive_Based_Registry_on_SD_card&amp;diff=932"/>
		<updated>2010-04-08T11:03:32Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Windows Embedded CE supports two types of registries: RAM-based and hive-based.&lt;br /&gt;
&lt;br /&gt;
The registry type is invisible to applications, but affects the persistence, boot sequence, boot time and memory consumption on a target device. &lt;br /&gt;
&lt;br /&gt;
For more information about registry types please refer to [http://msdn.microsoft.com/en-us/library/aa910532.aspx Registry Types] and [http://msdn.microsoft.com/en-us/library/aa911935.aspx Hive-Based Registry] MSDN articles.&lt;br /&gt;
&lt;br /&gt;
This page lists the required steps to set the hive based registry on the SD card.&lt;br /&gt;
&lt;br /&gt;
For a review of changing the registry type to RAM-Based, please refer to [[CM-X300: WinCE: OSDesign_Configuration#RAM-Based_Registry_support|Registry support]].&lt;br /&gt;
&lt;br /&gt;
== Persisting the Registry on SD card ==&lt;br /&gt;
&lt;br /&gt;
The CM-X300 BSP is configured for HIVE-based registry with lazy flushing. The registry hive is located in the system NAND flash.&lt;br /&gt;
In order to move registry hive location to SD Card, make the following changes to {{Filename|Platform.reg}}:&lt;br /&gt;
&lt;br /&gt;
* Apply the following values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]      &lt;br /&gt;
     &amp;quot;Flags&amp;quot;=dword:00010000&lt;br /&gt;
    &lt;br /&gt;
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]&lt;br /&gt;
     &amp;quot;BootPhase&amp;quot;=dword:1&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]&lt;br /&gt;
     &amp;quot;MountAsBootable&amp;quot;=dword:0&lt;br /&gt;
     &amp;quot;MountAsRoot&amp;quot;=dword:0&lt;br /&gt;
&lt;br /&gt;
; HIVE BOOT SECTION&lt;br /&gt;
&lt;br /&gt;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
; PMIC Driver (Power Management IC)&lt;br /&gt;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PI2C]&lt;br /&gt;
     &amp;quot;Prefix&amp;quot;=&amp;quot;PWR&amp;quot;&lt;br /&gt;
     &amp;quot;Dll&amp;quot;=&amp;quot;$(_TGTPLAT_PFX)_PI2C.dll&amp;quot;&lt;br /&gt;
     &amp;quot;Order&amp;quot;=dword:6  ; Must loading after MFP driver loading   &lt;br /&gt;
     &amp;quot;Flags&amp;quot;=dword:1000&lt;br /&gt;
&lt;br /&gt;
IF BSP_NOPMIC !&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PowerIC]&lt;br /&gt;
     &amp;quot;InterfaceType&amp;quot;=dword:0     ; Internal&lt;br /&gt;
     &amp;quot;Prefix&amp;quot;=&amp;quot;PIC&amp;quot;&lt;br /&gt;
     &amp;quot;Dll&amp;quot;=&amp;quot;$(_TGTPLAT_PFX)_PMIC.dll&amp;quot;&lt;br /&gt;
     &amp;quot;Flags&amp;quot;=dword:11000;  DEVFLAGS_TRUSTEDCALLERONLY&lt;br /&gt;
     &amp;quot;Order&amp;quot;=dword:7&lt;br /&gt;
     &amp;quot;IClass&amp;quot;=&amp;quot;{1B4091E0-9F41-4d4f-8702-8C02368F20B1}&amp;quot;&lt;br /&gt;
ENDIF BSP_NOPMIC !&lt;br /&gt;
&lt;br /&gt;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
; IPM - Marvell Power Manager&lt;br /&gt;
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
IF BSP_NOIPM !&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IPM]&lt;br /&gt;
    &amp;quot;Dll&amp;quot;=&amp;quot;$(_TGTPLAT_PFX)_ipm_main.dll&amp;quot;&lt;br /&gt;
    &amp;quot;Prefix&amp;quot;=&amp;quot;IPM&amp;quot;&lt;br /&gt;
    &amp;quot;IClass&amp;quot;=&amp;quot;{A32942B7-920C-486b-B0E6-92A702A99B35}&amp;quot;&lt;br /&gt;
    &amp;quot;Order&amp;quot;=dword:10&lt;br /&gt;
    &amp;quot;Flags&amp;quot;=dword:11000;  DEVFLAGS_TRUSTEDCALLERONLY&lt;br /&gt;
    &amp;quot;Priority256&amp;quot;=dword:00000010&lt;br /&gt;
     &amp;quot;EnableD0CSOP&amp;quot;=dword:00000001&lt;br /&gt;
     &amp;quot;EnableD0CSIDLE&amp;quot;=dword:00000001&lt;br /&gt;
     &amp;quot;EnableD1IDLE&amp;quot;=dword:00000000&lt;br /&gt;
     &amp;quot;EnableD2IDLE&amp;quot;=dword:00000001&lt;br /&gt;
ENDIF BSP_NOIPM !&lt;br /&gt;
; END HIVE BOOT SECTION&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|The above keys are already defined in the {{Filename|Platform.reg}} and only their values should be modified}}&lt;br /&gt;
&lt;br /&gt;
* Add the following entries to {{Filename|Platform.reg}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; @CESYSGEN IF FILESYS_FSREGHIVE&lt;br /&gt;
; HIVE BOOT SECTION&lt;br /&gt;
    &lt;br /&gt;
  [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]&lt;br /&gt;
      &amp;quot;Name&amp;quot;=&amp;quot;SD Memory Card&amp;quot;&lt;br /&gt;
      &amp;quot;Folder&amp;quot;=&amp;quot;&amp;quot;&lt;br /&gt;
      &amp;quot;MountAsBootable&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;MountAsRoot&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;MountBootable&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;LoadFlags&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;BootPhase&amp;quot;=dword:0&lt;br /&gt;
      &amp;quot;DefaultFileSystem&amp;quot;=&amp;quot;BINFS&amp;quot;&lt;br /&gt;
      &amp;quot;PartitionDriver&amp;quot;=&amp;quot;mspart.dll&amp;quot;&lt;br /&gt;
      &amp;quot;Order&amp;quot;=dword:4&lt;br /&gt;
      &amp;quot;AutoMount&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;AutoPart&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;AutoFormat&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;MountHidden&amp;quot;=dword:0&lt;br /&gt;
      &amp;quot;MountAsNetwork&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;MountPermanent&amp;quot;=dword:1&lt;br /&gt;
      &amp;quot;EnableWriteBack&amp;quot;=dword:1 &lt;br /&gt;
      &amp;quot;MountSystem&amp;quot;=dword:1&lt;br /&gt;
    &lt;br /&gt;
   [HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\ObjectStore]&lt;br /&gt;
      &amp;quot;MountAsBootable&amp;quot;=dword:0&lt;br /&gt;
      &amp;quot;MountAsRoot&amp;quot;=dword:0&lt;br /&gt;
&lt;br /&gt;
   [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\HDProfile]&lt;br /&gt;
      &amp;quot;MountAsBootable&amp;quot;=dword:0&lt;br /&gt;
&lt;br /&gt;
   [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GIO]&lt;br /&gt;
      &amp;quot;Prefix&amp;quot;=&amp;quot;GIO&amp;quot;&lt;br /&gt;
      &amp;quot;Dll&amp;quot;=&amp;quot;cm_x300_gpio.dll&amp;quot;&lt;br /&gt;
      &amp;quot;Order&amp;quot;=dword:6  ; Must load after MFP driver loads&lt;br /&gt;
      &amp;quot;Flags&amp;quot;=dword:00001000&lt;br /&gt;
&lt;br /&gt;
; @CESYSGEN IF CE_MODULES_SDBUS&lt;br /&gt;
	&lt;br /&gt;
   [HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]&lt;br /&gt;
      &amp;quot;Order&amp;quot;=dword:15&lt;br /&gt;
      &amp;quot;Dll&amp;quot;=&amp;quot;SDBus.dll&amp;quot;&lt;br /&gt;
      &amp;quot;Prefix&amp;quot;=&amp;quot;SDC&amp;quot;&lt;br /&gt;
      &amp;quot;ThreadPriority&amp;quot;=dword:64     ; default thread priority for dispatch thread&lt;br /&gt;
      &amp;quot;RequestListDepth&amp;quot;=dword:30   ; pre-allocated requests&lt;br /&gt;
      &amp;quot;Flags&amp;quot;=dword:10000 ; DEVFLAGS_TRUSTEDCALLERONLY&lt;br /&gt;
      &amp;quot;IClass&amp;quot;=multi_sz:&amp;quot;{20FA98A8-B298-4b32-8D72-C716AEE2FA84}=%b&amp;quot;,&amp;quot;{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b&amp;quot;&lt;br /&gt;
      &amp;quot;Flags&amp;quot;=dword:00011000&lt;br /&gt;
&lt;br /&gt;
   [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]&lt;br /&gt;
      &amp;quot;Dll&amp;quot;=&amp;quot;SDMemory.dll&amp;quot;&lt;br /&gt;
      &amp;quot;Prefix&amp;quot;=&amp;quot;DSK&amp;quot;&lt;br /&gt;
      &amp;quot;BlockTransferSize&amp;quot;=dword:40  ; send no more than 64 blocks of data per bus transfer&lt;br /&gt;
      &amp;quot;Order&amp;quot;=dword:16&lt;br /&gt;
      &amp;quot;Profile&amp;quot;=&amp;quot;SDMemory&amp;quot;&lt;br /&gt;
      &amp;quot;IClass&amp;quot;=multi_sz:&amp;quot;{A4E7EDDA-E575-4252-9D6B-4195D48BB865}&amp;quot;,&lt;br /&gt;
                        &amp;quot;{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}&amp;quot;&lt;br /&gt;
      &amp;quot;Flags&amp;quot;=dword:00001000&lt;br /&gt;
		&lt;br /&gt;
    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC]&lt;br /&gt;
        &amp;quot;Order&amp;quot;=dword:50&lt;br /&gt;
        &amp;quot;Flags&amp;quot;=dword:00001000&lt;br /&gt;
        &amp;quot;Dll&amp;quot;=&amp;quot;cm_x300_sdhc.dll&amp;quot;&lt;br /&gt;
        &amp;quot;Prefix&amp;quot;=&amp;quot;SDH&amp;quot;&lt;br /&gt;
        &amp;quot;SDHCIndex&amp;quot;=dword: 0&lt;br /&gt;
        &amp;quot;ControllerISTPriority&amp;quot;=dword:64&lt;br /&gt;
        &amp;quot;SlotNum&amp;quot;=dword:1 ;Number of slots connected to the controller&lt;br /&gt;
        &amp;quot;ClockAlwaysOn&amp;quot;=dword:0&lt;br /&gt;
        ; Indicate a power manageable interface&lt;br /&gt;
        &amp;quot;IClass&amp;quot;=&amp;quot;{A32942B7-920C-486b-B0E6-92A702A99B35}&amp;quot;&lt;br /&gt;
        &amp;quot;HotPluginNRemovable&amp;quot;=dword:1 ;Hex that specifies which slot can be HotPlugged&lt;br /&gt;
        &amp;quot;FastPathEnabled&amp;quot;=dword: 0&lt;br /&gt;
&lt;br /&gt;
    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_2]&lt;br /&gt;
        &amp;quot;Order&amp;quot;=dword:50&lt;br /&gt;
        &amp;quot;Flags&amp;quot;=dword:00001000&lt;br /&gt;
        &amp;quot;Dll&amp;quot;=&amp;quot;cm_x300_sdhc.dll&amp;quot;&lt;br /&gt;
        &amp;quot;Prefix&amp;quot;=&amp;quot;SDH&amp;quot;&lt;br /&gt;
        &amp;quot;SDHCIndex&amp;quot;=dword: 1&lt;br /&gt;
        &amp;quot;ControllerISTPriority&amp;quot;=dword:64&lt;br /&gt;
        &amp;quot;SlotNum&amp;quot;=dword:1&lt;br /&gt;
        &amp;quot;ClockAlwaysOn&amp;quot;=dword:1&lt;br /&gt;
        ; Indicate a power manageable interface&lt;br /&gt;
        &amp;quot;IClass&amp;quot;=&amp;quot;{A32942B7-920C-486b-B0E6-92A702A99B35}&amp;quot;&lt;br /&gt;
        &amp;quot;HotPluginNRemovable&amp;quot;=dword:0&lt;br /&gt;
        &amp;quot;FastPathEnabled&amp;quot;=dword: 0&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\SDIOStandardHC]&lt;br /&gt;
	&amp;quot;Dll&amp;quot;=&amp;quot;SDHC.dll&amp;quot;&lt;br /&gt;
	&amp;quot;Prefix&amp;quot;=&amp;quot;SHC&amp;quot;&lt;br /&gt;
	&amp;quot;IsrDll&amp;quot;=&amp;quot;giisr.dll&amp;quot;&lt;br /&gt;
	&amp;quot;IsrHandler&amp;quot;=&amp;quot;ISRHandler&amp;quot;&lt;br /&gt;
	&amp;quot;Class&amp;quot;=dword:08 ; General peripheral&lt;br /&gt;
	&amp;quot;SubClass&amp;quot;=dword:05 ; SD Host Controller&lt;br /&gt;
	&amp;quot;ProgIf&amp;quot;=dword:00 ; 00 Std host no DMA, 01 Std host DMA, 02 vendor unique&lt;br /&gt;
	&amp;quot;DefaultWakeupSources&amp;quot;=dword:06 ; Wake on insertion and removal&lt;br /&gt;
	&amp;quot;AllowWakeOnSDIOInterrupts&amp;quot;=dword:01&lt;br /&gt;
	&amp;quot;ObjectCreationProc&amp;quot;=&amp;quot;CreateSDHCPciObject&amp;quot;&lt;br /&gt;
	&amp;quot;Flags&amp;quot;=dword:00001000&lt;br /&gt;
	&amp;quot;Order&amp;quot;=dword:17&lt;br /&gt;
		&lt;br /&gt;
    [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\SDIOStandardHCWithDMA]&lt;br /&gt;
	&amp;quot;Dll&amp;quot;=&amp;quot;SDHC.dll&amp;quot;&lt;br /&gt;
	&amp;quot;Prefix&amp;quot;=&amp;quot;SHC&amp;quot;&lt;br /&gt;
	&amp;quot;IsrDll&amp;quot;=&amp;quot;giisr.dll&amp;quot;&lt;br /&gt;
	&amp;quot;IsrHandler&amp;quot;=&amp;quot;ISRHandler&amp;quot;&lt;br /&gt;
	&amp;quot;Class&amp;quot;=dword:08 ; General peripheral&lt;br /&gt;
	&amp;quot;SubClass&amp;quot;=dword:05 ; SD Host Controller&lt;br /&gt;
	&amp;quot;ProgIf&amp;quot;=dword:01 ; 00 Std host no DMA, 01 Std host DMA, 02 vendor unique&lt;br /&gt;
	&amp;quot;DefaultWakeupSources&amp;quot;=dword:06 ; Wake on insertion and removal&lt;br /&gt;
	&amp;quot;AllowWakeOnSDIOInterrupts&amp;quot;=dword:01&lt;br /&gt;
	&amp;quot;ObjectCreationProc&amp;quot;=&amp;quot;CreateSDHCPciObject&amp;quot;&lt;br /&gt;
	&amp;quot;Flags&amp;quot;=dword:00001000&lt;br /&gt;
	&amp;quot;Order&amp;quot;=dword:18&lt;br /&gt;
&lt;br /&gt;
; @CESYSGEN ENDIF CE_MODULES_SDBUS&lt;br /&gt;
; END HIVE BOOT SECTION&lt;br /&gt;
; @CESYSGEN ENDIF FILESYS_FSREGHIVE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note| The HIVE BOOT SECTION and cesysgen conditionals are not just a comments, do not forget to copy them also.}}&lt;br /&gt;
&lt;br /&gt;
* Rebuild the BSP.&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Hive Based Registry on SD]]&lt;br /&gt;
[[Category:CM-X300|Hive Based Registry on SD]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_OSDesign_Configuration&amp;diff=933</id>
		<title>CM-X300: WinCE: OSDesign Configuration</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_OSDesign_Configuration&amp;diff=933"/>
		<updated>2010-04-08T11:00:54Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* Platform Debugging over Ethernet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the Driver Package ==&lt;br /&gt;
* Close the Platform Builder Application if it is open.&lt;br /&gt;
* Copy the CM_X300_BSP directory to \WINCE600\Platform\&lt;br /&gt;
* Copy the CM_X300_CE6 directory to \WINCE600\OSDesigns\&lt;br /&gt;
* Launch VS2005 and open \WINCE600\OSDesigns\CM_X300_CE6\CM_X300_CE6.sln&lt;br /&gt;
&lt;br /&gt;
== Building the Platform Project ==&lt;br /&gt;
The CM_X300 Platform Project is used to build CompuLab Windows Embedded CE demo image. It includes many components and is highly recommended as a starting point for a new project. The demo image is relatively large, ~35 MB. Typical Windows CE images for a specific application are much smaller, 8-15 MB.&lt;br /&gt;
&lt;br /&gt;
To build the CM_X300 platform:&lt;br /&gt;
* select the {{MenuEntry|Open-&amp;gt;Project/Solution}} command from the File menu of the VS2005 and select the {{Filename|\WINCE600\OSDesigns\CM_X300_CE6\CM_X300_CE6.sln}} file. &lt;br /&gt;
* Check that the project is configured for Release. &lt;br /&gt;
* Perform {{Cmd|Rebuild Solution}} from the {{Cmd|Build}} menu (alternatively, perform {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}}). &lt;br /&gt;
&lt;br /&gt;
The build process takes about 15-20 minutes.&lt;br /&gt;
&lt;br /&gt;
=== CPU Type ===&lt;br /&gt;
The CM-X300 may be assembled with two CPU types:&lt;br /&gt;
* PXA300 - the C624 option&lt;br /&gt;
* PXA310 - the C624M option&lt;br /&gt;
&lt;br /&gt;
The default BSP configuration targets the PXA310 CPU.&lt;br /&gt;
&lt;br /&gt;
==== Choosing CPU Type ====&lt;br /&gt;
The CPU type is defined in {{Filename|CM_X300_BSP.BAT}} file in the platform directory. Ensure that the {{parameter|BSP_CPU_TYPE}} setting corresponds with the correct CPU type. Leave the appropriate line without the REM directive: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set BSP_CPU_TYPE=310&lt;br /&gt;
REM set BSP_CPU_TYPE=300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build Options ===&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Sysgen}} when adding Platform Builder components (Catalog items) to the project.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}} when removing Platform Builder components (Catalog items) from the project.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Build Current BSP and Subprojects}} when modifying Compulab BSP components that are included in the project or performing changes in the BSP files.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt; Rebuild Build Current BSP and Subprojects}} when adding/removing Compulab BSP components to/from the project.&lt;br /&gt;
{{Warning|Do not use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Build and Sysgen}} or {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Rebuild and Clean Sysgen}} that perform compilation and sysgen on the entire Platform Builder tree.&lt;br /&gt;
It is recommended to remove the two commands mentioned above from the menu permanently}}&lt;br /&gt;
&lt;br /&gt;
== Windows CE Image Customization ==&lt;br /&gt;
There are two ways to customize the Windows CE image:&lt;br /&gt;
# Recommended method: Add or remove BSP components from the demo CM_X300_CE6 project. &lt;br /&gt;
# Create a new platform project and then manually add all the necessary BSP components as described in the Platform Builder documentation. Refer to [[WinCE: OSDesign Development|Windows CE OSDesign Development]] page.&lt;br /&gt;
&lt;br /&gt;
=== BSP customization using batch files ===&lt;br /&gt;
The BSP is fully customizable and allows inclusion/exclusion of each component via BSP_NO environment variables. &lt;br /&gt;
&lt;br /&gt;
To exclude a certain driver, set the BSP_NO environment variables in {{Filename|CM_X300_BSP\CM_X300_BSP_COMMON.bat}} and rebuild the BSP with {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Rebuild Current BSP and Subprojects}}.&lt;br /&gt;
&lt;br /&gt;
The following table lists the BSP_NO environment variables that can be defined:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Variable'''&lt;br /&gt;
| '''Meaning'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOKEYPAD &lt;br /&gt;
| No Keypad driver and no support for keyboard &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NODISPLAY&lt;br /&gt;
| No Graphics&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NONAND &lt;br /&gt;
| No NAND Flash driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOSDHC&lt;br /&gt;
| No SDIO card driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOWLAN&lt;br /&gt;
| No WiFi driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOI2C&lt;br /&gt;
| No I2C driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSB20FN&lt;br /&gt;
| No Usb 2.0 Function driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSBFN&lt;br /&gt;
| No Usb 1.1 Function driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSBHOST&lt;br /&gt;
| No Usb Host driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOAUDIO&lt;br /&gt;
| No Audio driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOTOUCH&lt;br /&gt;
| No Touch screen driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOCODEC&lt;br /&gt;
| No Codec driver &lt;br /&gt;
| (no Touch and no Audio)&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOBLUETOOTH&lt;br /&gt;
| No BlueTooth Driver &lt;br /&gt;
| No Bluetooth stack as well&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Any environment variable defined in CM_X300_BSP\CM_X300_BSP_COMMON.bat will override the variables defined in Platform Builder project}}&lt;br /&gt;
&lt;br /&gt;
=== RAM-Based Registry support ===&lt;br /&gt;
The CM-X300 BSP is configured for HIVE-based registry with lazy flushing. The registry hive is located in the system NAND flash.&lt;br /&gt;
To support a RAM-Based registry, perform the following actions:&lt;br /&gt;
* Add the {{Filename|RAM-based Registry}} component to the project&lt;br /&gt;
* Disable the following variables in the {{filename|CM_X300_BSP\CM_X300_PRODUCTION.bat}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set PRJ_ENABLE_FSREGHIVE=1&lt;br /&gt;
set PRJ_ENABLE_REGFLUSH_THREAD=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Perform &amp;quot;Clean Sysgen&amp;quot; using {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}}&lt;br /&gt;
&lt;br /&gt;
=== Persistent File System ===&lt;br /&gt;
The CM-X300 BSP is configured to store the root directory in RAM, therefore the root filesystem is not persistent. To make the root and its subsequent folders persistent, change the Catalog item &amp;quot;ROM and RAM File System&amp;quot; to &amp;quot;ROM-Only file System&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Note|Any data saved to a non-persistent location is erased when the device resets. This includes the root directory (&amp;quot;\&amp;quot;).}}&lt;br /&gt;
&lt;br /&gt;
== CM-X300 BSP Subprojects ==&lt;br /&gt;
In addition to the drivers supplied with the BSP, there are a few useful utilities distributed as Subprojects. Subprojects allow adding software modules to the build without modifying the BSP source code located in the Platform source tree.&lt;br /&gt;
There are two Subproject types available with CM_X300_BSP:&lt;br /&gt;
* Subprojects that add optional functionality to the BSP are located in the {{Filename|\WINCE600\PLATFORM\CM_X300_BSP\Subprojects}} directory.&lt;br /&gt;
: These Subprojects are provided with the source code.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Project Name'''&lt;br /&gt;
| '''Functionality'''&lt;br /&gt;
|-&lt;br /&gt;
| ''SetPowerState''&lt;br /&gt;
| Command line utility that controls the system power state and is used for software reboot and suspend support&lt;br /&gt;
|-&lt;br /&gt;
| ''Regedit''&lt;br /&gt;
| Command line registry editor. Allows remote changes of the device registry via telnet connection.&lt;br /&gt;
|-&lt;br /&gt;
| ''CoreCon''&lt;br /&gt;
| Executables required for application level debugging over Ethernet in VS2005&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoLaunch''&lt;br /&gt;
| Executable that should be used for automatic launch of CoreCon (ConmanClient2.exe) at system startup. AutoLaunch.exe verifies IP address availability before loading ConmanClient2.exe. This is required because ConmanClient2 waits for incoming TCP/IP connections when communicating with VS 2005&lt;br /&gt;
|-&lt;br /&gt;
| ''SysConf''&lt;br /&gt;
| Command line utility for platform debugging&lt;br /&gt;
|-&lt;br /&gt;
| ''Tools''&lt;br /&gt;
| &lt;br /&gt;
* Command line RTC_CMD utility for RTC driven suspend/resume cycles&lt;br /&gt;
* CLTerm program for COM ports testing&lt;br /&gt;
|-&lt;br /&gt;
| ''BuildVer''&lt;br /&gt;
| This project adds a text file to the image specifying which revision was used to build the image. It requires a Tortoise Svn client installed on the desktop. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The Subprojects that add custom applications, control panel applets and registry settings to the demo image are located at {{Filename|\WINCE600\OSDesigns\CM_X300_CE6\Subprojects}} directory.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Project Name'''&lt;br /&gt;
| '''Functionality'''&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\WireLessCPL''&lt;br /&gt;
| Control panel applet that controls the power state (on/off) of wireless devices&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\KeypadConfigCPL''&lt;br /&gt;
| Control panel applet that customizes keypad buttons functionality&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\BacklightCPL''&lt;br /&gt;
| Control panel applet that controls the LCD backlight level&lt;br /&gt;
|-&lt;br /&gt;
| ''TCPMP''&lt;br /&gt;
| Open source Media player&lt;br /&gt;
|-&lt;br /&gt;
| ''TaskManager''&lt;br /&gt;
| Open source Task Manager&lt;br /&gt;
|-&lt;br /&gt;
| ''KeypadAppLaunch''&lt;br /&gt;
| A utility to capture application launching key presses&lt;br /&gt;
|-&lt;br /&gt;
| ''LookAndFeel''&lt;br /&gt;
| Look and feel of the demo image (background, theme, sounds, etc.) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== KITL Connection ==&lt;br /&gt;
Platform Builder communicates with a device using KITL protocol. For details about KITL refer to [http://www.microsoft.com/video/en/us/details/0a8d9767-a419-4f5e-9b37-4328b0993d1d Microsoft's KITL Broadcast] article.&lt;br /&gt;
&lt;br /&gt;
The following actions should be performed in order to setup a KITL connection between the CM-X300 and Platform Builder 6.0:&lt;br /&gt;
# Ensure that a serial terminal is connected to the CM-X300 as described in [[CM-X300: WinCE: Setting Up a Console|Setting up a console]]&lt;br /&gt;
# Ensure that an Ethernet cable is connected to the CM-X300 platform&lt;br /&gt;
# In Platform Builder, go to {{MenuEntry| Target-&amp;gt;Connectivity Options}}. &amp;lt;br&amp;gt;[[Image:Target Device Connectivity Options X300.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Click on {{Filename|Add Device}} and provide a device name (such as CM-X300).&amp;lt;br&amp;gt;[[Image:Target Device Connectivity Options Add Device X300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
# In {{Filename|Kernel Service Map}}, select {{Filename|Ethernet}} for Download and Transport options and {{Filename|KdStub}} for the Debugger.&lt;br /&gt;
# Press {{Filename|Download settings}} and at the same time, נoot the target device and press {{Filename|SPACE}} in the device console to get Eboot main menu.&lt;br /&gt;
# Type &amp;quot;D&amp;quot; to download the image from Platform Builder (results in a broadcast of BOOT ME messages). &lt;br /&gt;
# Platform Builder will show the target device unique name (e.g. CM_X30064242) in the {{Filename|Active Devices}}  area.&amp;lt;br&amp;gt;[[Image:Ethernet Download SettingsX300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Press Transport settings and select {{Filename|Use device name from bootloader}}. &amp;lt;br&amp;gt;[[Image:Ethernet KITL SettingsX300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the connection is configured, download and launch the newly created WinCE image:&lt;br /&gt;
# In Platform Builder Target toolbar, select the configured device and then select {{MenuEntry|Target-&amp;gt;Attach Device}}.&lt;br /&gt;
# Ensure that Eboot is ready for download (i.e. Sends Boot Me messages).&lt;br /&gt;
&lt;br /&gt;
== Image Debugging ==&lt;br /&gt;
=== Platform Debugging with RETAILMSG ===&lt;br /&gt;
Debug messages output to the serial port may be enabled for both Retail and Debug build types.&amp;lt;br&amp;gt;&lt;br /&gt;
To enable RETAILMSG output to COM-A serial port, set the &amp;quot;STUART Usage&amp;quot; option to &amp;quot;Debug Serial&amp;quot; in the BSP Configuration menu in [[CM-X300: WinCE: Configuring Eboot|Eboot]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Debugging over Ethernet ===&lt;br /&gt;
KITL allows platform debugging over Ethernet and enables use of [http://msdn.microsoft.com/en-us/library/ee479862.aspx VS2005 Remote Tools]. During debug session, KITL redirects all the serial output into VS2005 output window.&lt;br /&gt;
&lt;br /&gt;
* Choose the following platform options to enable platform debugging:&lt;br /&gt;
** Enable kernel debugger.&lt;br /&gt;
** Enable KITL.&lt;br /&gt;
* Perform {{MenuEntry|Build-&amp;gt;Advanced Build Commands -&amp;gt;Rebuild Current BSP and Subprojects}}.&lt;br /&gt;
* Start the debug session as described in [[#KITL_Connection|Setup Target for CM_X300 Image Evaluation]] section.&lt;br /&gt;
&lt;br /&gt;
{{Note|Run-time image built with the Kernel debugger and KITL dedicates CM-X300 Ethernet port to debug communication. This port cannot be used for application Ethernet traffic. The application Ethernet traffic can be routed through virtual VMINI adapter that should be enabled in [[CM-X300: WinCE:  Configuring Eboot|Eboot configuration]].}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[WinCE: OSDesign Development | Windows CE OSDesign Development]]&lt;br /&gt;
&lt;br /&gt;
[[CM-X300: WinCE: Hive Based Registry on SD card|Persisting the Registry to the SD Card]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|OSDesign Configuration]]&lt;br /&gt;
[[Category:CM-X300|OSDesign Configuration]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Demo_Image&amp;diff=934</id>
		<title>CM-X300: WinCE: Demo Image</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Demo_Image&amp;diff=934"/>
		<updated>2010-04-08T10:56:50Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Windows Embedded CE Demo for CM-X300 is based on the standard {{WindowsCEVer}}.&lt;br /&gt;
== CM-X300 Features Supported ==&lt;br /&gt;
The CM-X300 Demo image supports the following features:&lt;br /&gt;
* NAND Flash Disk&lt;br /&gt;
* TFT LCD (pre configured for Toppoly TD035STEE1 TFT 480x640)&lt;br /&gt;
* Audio (input/output)&lt;br /&gt;
* Wi-Fi 801.11b/g&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Suspend / Resume&lt;br /&gt;
* USB 1.1 Host / Salve&lt;br /&gt;
* USB 2.0 Slave&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Serial ports&lt;br /&gt;
* SD/MMC CARD&lt;br /&gt;
* GPIO access&lt;br /&gt;
* I2C/SPI bus&lt;br /&gt;
* Touch screen&lt;br /&gt;
* Keypad&lt;br /&gt;
* RTC (H/W rev. 1.2 and up)&lt;br /&gt;
* Backlight&lt;br /&gt;
* Battery management&lt;br /&gt;
* VIP / Quick capture interface (currently with limited functionality)&lt;br /&gt;
&lt;br /&gt;
== Demo Image Contents ==&lt;br /&gt;
The following standard Windows Embedded CE components are included in this demo image:&lt;br /&gt;
* File system Explorer&lt;br /&gt;
* ActiveSync&lt;br /&gt;
* AYGShell&lt;br /&gt;
* Internet Explorer XAML UI Sample Browser&lt;br /&gt;
* Gestures Support&lt;br /&gt;
* Flash Lite ActiveX control&lt;br /&gt;
* Windows Media Player&lt;br /&gt;
* Telnet Server&lt;br /&gt;
* TCPMP Player&lt;br /&gt;
* ItaskMgr  (a PC-like task manager)&lt;br /&gt;
* All MS Bluetooth Profiles&lt;br /&gt;
&lt;br /&gt;
{{Note|For a complete list of the components included in the image refer to the [[media:CM-X300-ComponentList-WinCE.zip|Components list]].}}&lt;br /&gt;
&lt;br /&gt;
== Get Connected with ActiveSync ==&lt;br /&gt;
ActiveSync enables data synchronization between a desktop computer and the CM-X300. You must install ActiveSync on your PC before connecting it to the CM-X300.&lt;br /&gt;
&lt;br /&gt;
=== On the Host PC ===&lt;br /&gt;
==== Hosts running Windows XP ====&lt;br /&gt;
* Download  and Install [http://www.microsoft.com/windowsmobile/en-us/downloads/microsoft/activesync-download.mspx ActiveSync] from Microsoft website.&lt;br /&gt;
* ActiveSync may experience connection problems caused by Windows desktop firewall applications. Read the [http://www.microsoft.com/windowsmobile/en-us/help/synchronize/activesync-usb.mspx ActiveSync Troubleshooting Guide] for host PC configuration instructions.&lt;br /&gt;
* Ensure that ActiveSync synchronization via USB is enabled in the Connection Settings dialog box&lt;br /&gt;
:[[Image:ActiveSync connection settings window.jpg]]&lt;br /&gt;
===== Installing ActiveSync driver for the CM-X300 =====&lt;br /&gt;
:* On the first connection the &amp;quot;New hardware found&amp;quot; wizard appears. Please follow the selections depicted below:  &lt;br /&gt;
: [[image:Active Sync driver step1.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step2.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step3.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step4.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step5.jpg]]&lt;br /&gt;
:* If the following confirmation dialog pops up, choose &amp;quot;No&amp;quot;:&lt;br /&gt;
: [[image:Active Sync Driver step6.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step7.jpg]]&lt;br /&gt;
:* Now ActiveSync setup is complete.&lt;br /&gt;
&lt;br /&gt;
==== Hosts running Windows Vista/7 ====&lt;br /&gt;
* Download and install the latest version of [http://www.microsoft.com/windowsmobile/en-us/downloads/microsoft/device-center-download.mspx Windows Mobile Device Center (WMDC) for Windows 7] from Microsoft website&lt;br /&gt;
* Ensure that the CM-X300 registry has {{parameter|[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]}} key with the following value:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]&lt;br /&gt;
     &amp;quot;idVendor&amp;quot;=dword:045E&lt;br /&gt;
     &amp;quot;idProduct&amp;quot;=dword:00ce&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:- A dedicated Vendor ID should be purchased and used for mass production.&lt;br /&gt;
:- CM-X300 registry may be altered as described in the [[#RegEdit|RegEdit]] section.&lt;br /&gt;
&lt;br /&gt;
=== On the Target (CM-X300) ===&lt;br /&gt;
==== PXA300 processor (C624 option) ====&lt;br /&gt;
* Connect a USB cable to the USB 2.0 port (connector P8 on SB-X300) or to the USB 1.1 slave port (connector P10 on SB-X300).&lt;br /&gt;
* USB 2.0 is the default configuration. &lt;br /&gt;
&lt;br /&gt;
==== PXA310 processor (C624M option) ====&lt;br /&gt;
* Configure the USB port to function as Slave as described in [[#USB|USB section]].&lt;br /&gt;
* Connect a USB cable to the connector P10 on SB-X300.&lt;br /&gt;
&lt;br /&gt;
== Demo Image Componentes ==&lt;br /&gt;
The demo image is packed into the raw NK.bin file that is stored in the CM-X300 NAND flash during installation. &lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
The CM-X300 supplied with the evaluation kit is equipped with 128MB of RAM. The demo image requires approximately 40MB and leaves 88MB for application use.&lt;br /&gt;
&lt;br /&gt;
=== NAND Flash ===&lt;br /&gt;
The CM-X300 supplied with the evaluation kit is equipped with 512MB NAND flash.&lt;br /&gt;
U-Boot and Eboot bootloaders are stored in the NAND flash.&lt;br /&gt;
&lt;br /&gt;
During demo image installation, the NAND flash is automatically partitioned and space is reserved for the runtime image, which is stored in the NAND flash unpartitioned space.&lt;br /&gt;
&lt;br /&gt;
Space for a second runtime image is reserved to facilitate a fail-safe update mechanism.&lt;br /&gt;
&lt;br /&gt;
Approximately 400 MB of free space is available for data storage on the NAND. Data may be stored in the NAND directory (&amp;quot;\nandflash&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Persistent Registry ===&lt;br /&gt;
The demo image is built with a &amp;quot;Hive-Based Registry&amp;quot; option. This means that the system registry is stored in the NAND flash data partition, making registry entries persistent when the device is powered off.The demo image is configured with a &amp;quot;Lazy Flush&amp;quot; registry policy. The registry settings are stored in RAM and are flushed into the NAND Flash every 30 seconds. After changing registry settings, allow 30 seconds before turning off the power or performing a hardware reset. This will ensure that the changes are saved into the NAND flash.&lt;br /&gt;
&lt;br /&gt;
The flush period may be changed through the following registry value:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\System\ObjectStore\RegFlush]&lt;br /&gt;
        &amp;quot;FlushPeriod&amp;quot;=dword:7530 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
The following network interfaces are supported in the demo image:&lt;br /&gt;
* CM-X300 Ethernet - Full-featured 10/100 Ethernet interface. Implemented with the Davicom DA9000A Ethernet controller on the CM-X300 module.&lt;br /&gt;
* Wireless LAN - incorporates full-featured 802.11 b/g capabilities. Implemented with the Wi2Wi W2SW0001 WLAN controller on the CM-X300 module.&lt;br /&gt;
&lt;br /&gt;
The demo image image is configured to use a DHCP server to obtain network settings for the two network adapters. Network settings may be changed in the Windows CE Control Panel.&lt;br /&gt;
==== Defining static IP address ====&lt;br /&gt;
It is possible to configure a static IP address by modifying the registry.&lt;br /&gt;
&lt;br /&gt;
For example, the following registry settings disable DHCP and define the static IP 10.1.1.144 for the CM-X300 Ethernet controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\TcpIp]&lt;br /&gt;
    &amp;quot;EnableDHCP&amp;quot;=dword:0&lt;br /&gt;
    &amp;quot;IpAddress&amp;quot;=&amp;quot;10.1.1.44&amp;quot;&lt;br /&gt;
    &amp;quot;Subnetmask&amp;quot;=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
    &amp;quot;DefaultGateway&amp;quot;=&amp;quot;10.1.1.1&amp;quot;&lt;br /&gt;
    &amp;quot;UseZeroBroadcast&amp;quot;=dword:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A static IP may be assigned to the Ethernet interface using Eboot configuration menu. For further details please refer to [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]] article.&lt;br /&gt;
&lt;br /&gt;
=== USB ===&lt;br /&gt;
==== PXA300 ====&lt;br /&gt;
* Connector P10 on SB-X300 provides a USB host port that operates at full/low speed.&lt;br /&gt;
:- The port may be configured in Eboot to operate as a device port at full/low speed. See [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]].&lt;br /&gt;
* Connector P8 on SB-X300 provides a USB device port (used mainly for ActiveSync).&lt;br /&gt;
&lt;br /&gt;
==== PXA310 ====&lt;br /&gt;
* Connector P10 on SB-X300 provides a USB host port that operates at full/low speed.&lt;br /&gt;
: The port may also function as high speed device. The USB port configuration may be changed in the Windows CE Control Panel. Use {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;USB Functionality Chooser}} to switch between USB host and USB device functionality. The CM-X300 system should be restarted to activate the new settings.&lt;br /&gt;
&lt;br /&gt;
=== SD card ===&lt;br /&gt;
* The SB-X300 evaluation board features an SD socket (connector P14). &lt;br /&gt;
* When an SD card is inserted it is mounted automatically as “Storage Card” under “My Device”. &lt;br /&gt;
* The demo image has been tested successfully with the following types of SD cards: SanDisk Ultra III 2Gb, Kingston 2Gb, SanDisk 1Gb, and Kingston Micro SDHC 4Gb.&lt;br /&gt;
&lt;br /&gt;
=== Touch Screen ===&lt;br /&gt;
The demo image is calibrated for the Toppoly TD035STEE1 LCD touch screen.&lt;br /&gt;
To fine-tune the calibration, run the touch screen calibrator on the first boot by tapping&lt;br /&gt;
{{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Stylus-&amp;gt;Calibration}}.&lt;br /&gt;
For further details about touch screen calibrator registry settings refer to the [http://msdn.microsoft.com/en-us/library/ms926952.aspx Touch Screen (Stylus) Registry Settings] MSDN article.&lt;br /&gt;
&lt;br /&gt;
The Touch Screen sensitivity is controlled by the {{RegKey|HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH}} registry key:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]&lt;br /&gt;
      &amp;quot;Sensitivity&amp;quot;=dword:30&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;quot;Sensitivity&amp;quot; value is a hexadecimal number between {{cmd|1}} and {{cmd|3F}}. The lower values correspond to higher panel sensitivity. &lt;br /&gt;
&lt;br /&gt;
Reboot the device after a change.&lt;br /&gt;
&lt;br /&gt;
=== Keypad ===&lt;br /&gt;
The demo image is configured to support the 3x3 keypad provided with the CM-X300 evaluation kit.&lt;br /&gt;
&lt;br /&gt;
The default key mappings are listed below:&lt;br /&gt;
* &amp;quot;Left&amp;quot;, &amp;quot;Right&amp;quot;, &amp;quot;Up&amp;quot;, &amp;quot;Down&amp;quot; buttons control cursor movement (SW3, SW7, SW4, SW6 respectively)&lt;br /&gt;
* &amp;quot;SW5&amp;quot; button acts as &amp;quot;Enter&amp;quot; key&lt;br /&gt;
* &amp;quot;SW1&amp;quot; (Func1) button launches Internet Explorer&lt;br /&gt;
* &amp;quot;SW2&amp;quot; (Func2) button launches Media Player&lt;br /&gt;
* &amp;quot;SW8&amp;quot; (Func3) button launches ItaskMgr&lt;br /&gt;
* &amp;quot;SW9&amp;quot; (Func4) button launches Windows Explorer&lt;br /&gt;
&lt;br /&gt;
The application assignment to particular keys is defined in the following registry settings:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SOFTWARE\Compulab\KeyPad]&lt;br /&gt;
	&amp;quot;APP1&amp;quot;= &amp;quot;\\Windows\\iesample.exe&amp;quot;&lt;br /&gt;
	&amp;quot;APP2&amp;quot;= &amp;quot;\\Windows\\ceplayer.exe&amp;quot;&lt;br /&gt;
	&amp;quot;APP3&amp;quot;= &amp;quot;\\Windows\\itaskmgr.exe&amp;quot;&lt;br /&gt;
	&amp;quot;APP4&amp;quot;= &amp;quot;\\Windows\\explorer.exe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Display Subsystem ===&lt;br /&gt;
The demo image is configured for a Toppoly TD035STEE1 TFT LCD.&lt;br /&gt;
The default resolution is 480x640 with 16-bit color depth and portrait display.&lt;br /&gt;
&lt;br /&gt;
==== Using custom display settings ====&lt;br /&gt;
The  LCDAdapt utility included in the [http://www.compulab.co.il/x300/download/x300-wince6-img.zip Windows CE 6 run-time image package] allows easy configuration of LCD timing parameters. &lt;br /&gt;
The LCDAdapt utility runs on the host PC and connects to the CM-X300 device using the ActiveSync. &lt;br /&gt;
&lt;br /&gt;
* The necessary values are extracted from the specification of the display. &lt;br /&gt;
* Hovering with the mouse pointer over each field will display a tool tip with an explanation. &lt;br /&gt;
* Press the &amp;quot;Connect&amp;quot; button to connect to the device. &lt;br /&gt;
* The LCDAdapt will read the current settings on the device and display them. &lt;br /&gt;
* Use LCD parameters extracted from the display specification to fill in the settings &lt;br /&gt;
* Press the &amp;quot;Send Settings&amp;quot; button. The LCDAdapt utility will configure the LCD controller on the CM-X300 and restart it.&lt;br /&gt;
: [[image:LCDAdapt-ScreenShot-X300.jpg]]&lt;br /&gt;
&lt;br /&gt;
The program changes the following registry settings on the device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\Display\GPE]&lt;br /&gt;
        &amp;quot;HorizontalSize&amp;quot;=dword:1E0&lt;br /&gt;
        &amp;quot;VerticalSize&amp;quot;=dword:280&lt;br /&gt;
        &amp;quot;Bpp&amp;quot;=dword:10	; Bytes per pixel&lt;br /&gt;
        &amp;quot;BLW&amp;quot;=dword:7	; Timing&lt;br /&gt;
        &amp;quot;ELW&amp;quot;=dword:17	; Timing&lt;br /&gt;
        &amp;quot;HSW&amp;quot;=dword:8	; Timing&lt;br /&gt;
        &amp;quot;BFW&amp;quot;=dword:2	; Timing&lt;br /&gt;
        &amp;quot;EFW&amp;quot;=dword:4	; Timing&lt;br /&gt;
        &amp;quot;VSW&amp;quot;=dword:2	; Timing&lt;br /&gt;
        &amp;quot;104M&amp;quot;=dword:4	; PCD&lt;br /&gt;
        &amp;quot;156M&amp;quot;=dword:6	; PCD&lt;br /&gt;
        &amp;quot;208M&amp;quot;=dword:9	; PCD&lt;br /&gt;
        &amp;quot;39M&amp;quot;=dword:0	; PCD&lt;br /&gt;
        &amp;quot;D0CS&amp;quot;=dword:2	; PCD&lt;br /&gt;
        &amp;quot;OEP&amp;quot;=dword:0	; Polarity&lt;br /&gt;
        &amp;quot;PCP&amp;quot;=dword:1	; Polarity&lt;br /&gt;
        &amp;quot;HSP&amp;quot;=dword:1	; Polarity&lt;br /&gt;
        &amp;quot;VSP&amp;quot;=dword:1	; Polarity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|The LCDAdapt utility requires .Net 3.x framework installed on the host PC}}&lt;br /&gt;
For additional details about CompuLab LCD adaptation services, please refer to [http://www.compulab.co.il/x300/html/x300-lcd.htm LCD Panel support].&lt;br /&gt;
&lt;br /&gt;
==== Video Playback ====&lt;br /&gt;
The package supports playback of the following video formats:&lt;br /&gt;
* MPEG4&lt;br /&gt;
* H.264&lt;br /&gt;
* MPEG2&lt;br /&gt;
* 3GP &lt;br /&gt;
&lt;br /&gt;
Media playback requires installation of codec pack available in the {{filename|Utilities\GraphicAcceleration\Graphics\Cab\HWCodecsCMX300}} CAB archive.&lt;br /&gt;
&lt;br /&gt;
The project that generates the CAB file is located in the same directory.&lt;br /&gt;
&lt;br /&gt;
The rest of the graphics examples are located in {{filename|Utilities\GraphicAcceleration\Graphics}} and there is no documentation available for them.&lt;br /&gt;
&lt;br /&gt;
=== Backlight ===&lt;br /&gt;
The CM-X300 supports seven levels of backlight brightness.&lt;br /&gt;
&lt;br /&gt;
The backlight level can be modified in the Windows CE Control Panel. Use {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt; Backlight Level}} to adjust the brightness.&lt;br /&gt;
The backlight level altered directly via the {{RegKey|HKEY_CURRENT_USER\ControlPanel\BackLight}} registry key:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_CURRENT_USER\ControlPanel\BackLight]&lt;br /&gt;
       &amp;quot;BacklightLevel&amp;quot;=dword:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Battery and Charging ===&lt;br /&gt;
The CM-X300 evaluation kit is shipped with a 3000mAh Li battery. For detailed instructions about the battery connection please refer to the SB-X300 manual.&lt;br /&gt;
&lt;br /&gt;
Monitor the battery power by tapping {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Power}}.&lt;br /&gt;
&lt;br /&gt;
The CM-X300 / SB-X300 supports battery charging using the power cable supplied with the evaluation kit. For detailed instructions about the battery connection refer to the SB-X300 manual.The charging mechanism utilizes fast charging method with a charge current of 1000mA.&lt;br /&gt;
&lt;br /&gt;
The battery driver must be enabled in the Eboot menu. Refer to [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]] article.&lt;br /&gt;
&lt;br /&gt;
=== Suspend / Resume ===&lt;br /&gt;
The CM-X300 Windows CE demo image enters suspend mode upon one of the following events:&lt;br /&gt;
* {{filename|Start-&amp;gt;Suspend}} menu entry activation.&lt;br /&gt;
* Rising edge detection on GPIO83.&lt;br /&gt;
*{{cmd|Rtc_cmd.exe}} invocation. {{cmd|Rtc_cmd.exe}} is a console application with the following syntax: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rtc_cmd [time before sleep in seconds] &amp;lt;sleep time in seconds&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The system wakes up upon one of the following events:&lt;br /&gt;
* Rising edge detection on GPIO83.&lt;br /&gt;
* RTC timer (set by {{cmd|Rtc_cmd.exe}}) expiration.&lt;br /&gt;
&lt;br /&gt;
=== Serial Ports ===&lt;br /&gt;
The demo image supports three serial ports. The serial ports mapping is summarized below:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! UART&lt;br /&gt;
! Connector&lt;br /&gt;
on SB-X300&lt;br /&gt;
! COM-port&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| STUART&lt;br /&gt;
| P16&lt;br /&gt;
| COM4&lt;br /&gt;
| Used for diagnostic messages. Please refer to [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]] for configuration &lt;br /&gt;
|-&lt;br /&gt;
| BTUART&lt;br /&gt;
| P6&lt;br /&gt;
| COM5&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FFUART&lt;br /&gt;
| P4&lt;br /&gt;
| COM1&lt;br /&gt;
| Not available with PXA310 CPU ('''C624M''' option)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The serial ports operate at baud rates up to 3.6M. For more details please refer to the [http://www.marvell.com/products/processors/applications/pxa_3xx/PXA3xx_Developers_Manual.zip PXA3xx developers manual].&lt;br /&gt;
&lt;br /&gt;
=== Wireless Interface Control ===&lt;br /&gt;
Bluetooth and WiFi power state is controlled by the Control Panel, {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Wireless Config}}.&lt;br /&gt;
&lt;br /&gt;
The initial state of the wireless devices may be configured in Eboot as described at [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]].&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
The demo image includes the following Microsoft Bluetooth profiles:&lt;br /&gt;
* Object Push Profile (OBEX)&lt;br /&gt;
* File Transfer Profile&lt;br /&gt;
* Human Interface Device Profile&lt;br /&gt;
* LAN Access Profile&lt;br /&gt;
* Personal Area Network Profile&lt;br /&gt;
* Hands-free and headset Profiles&lt;br /&gt;
&lt;br /&gt;
The CM-X300 Bluetooth connectivity was verified with Motorola HT820 Bluetooth Stereo Headphones with A2DP profile.&lt;br /&gt;
&lt;br /&gt;
Bluetooth Manager located at {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Bluetooth Device Properties}} allows to scan for remote Bluetooth devices and pair with them.&lt;br /&gt;
Bluetooth Audio connection {{cmd|AdpMgr}} sample is available at {{filename|Start-&amp;gt;Programs-&amp;gt;A2dpMgr}}.&lt;br /&gt;
&lt;br /&gt;
=== Reboot ===&lt;br /&gt;
Use the &amp;quot;Software Reboot&amp;quot; shortcut on the desktop to reboot the system. The &amp;quot;Software Reboot&amp;quot; ensures proper system shutdown and registry flush.&lt;br /&gt;
&lt;br /&gt;
=== Run Once Functionality ===&lt;br /&gt;
Run Once functionality allows addition of custom files and registry modifications after Windows CE image installation.&lt;br /&gt;
&lt;br /&gt;
During the first boot the Windows CE image searches for {{filename|RunOnceCab.cab}} archive on SD card and USB flash drive. If the archive is found, it is loaded and executed. The Run Once functionality is disabled after the first boot is complete.&lt;br /&gt;
&lt;br /&gt;
=== Running custom applications on startup ===&lt;br /&gt;
In order to run a custom application on the system startup, use the AutoLaunch utility integrated into the demo image.&lt;br /&gt;
&lt;br /&gt;
The AutoLaunch utility extends the functionality of the {{RegKey |HKEY_LOCAL_MACHINE\Init}} registry key and allowing configurable launch delay for each application.  &lt;br /&gt;
AutoLaunch monitors the following registry keys and values:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Startup]&lt;br /&gt;
	“Process0” =”Application.exe param1 param2”&lt;br /&gt;
	“Process0Delay”=dword:delay ;in milliseconds&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Startup\ApplicationName]&lt;br /&gt;
	“Process0” =”Application.exe param1 param2”&lt;br /&gt;
	“Process0Delay”=dword:delay ;in milliseconds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Usage example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Startup\ceplayer]&lt;br /&gt;
	&amp;quot;Process0” =”ceplayer.exe \windows\sound2.wav”&lt;br /&gt;
	“Process0Delay”= dword:1388 ;5000 in decimal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The above example launches CEPlayer five seconds after boot completion. The additional &amp;quot;\windows\Sound2.wav&amp;quot; parameter is used by CEPlayer to play the specified file.&lt;br /&gt;
&lt;br /&gt;
== Sample Applications ==&lt;br /&gt;
The Windows CE demo image package includes demo applications that demonstrate how to use common interfaces such as SPI, I2C and GPIO.&lt;br /&gt;
They applications are located at the {{Filename|Demo Applications}} directory. &lt;br /&gt;
==== GPIO Sample ====&lt;br /&gt;
This application demonstrates how to use the GPIO driver in order to control the state of GPIO pins. &lt;br /&gt;
&lt;br /&gt;
For further details, please refer to [[CM-X300: WinCE: GPIOs Programming | GPIOs Programming]].&lt;br /&gt;
====  I2C Sample ==== &lt;br /&gt;
The I2C sample demonstrates how to use the I2C driver.&lt;br /&gt;
&lt;br /&gt;
Fur further reading refer to [[CM-X300: WinCE: I2C Programming|I2C Programming]].&lt;br /&gt;
&lt;br /&gt;
====  SPI Sample ==== &lt;br /&gt;
The SPI_Thermometer sample included in the WinCE demo image package, demonstrates how to use the SPI driver.&lt;br /&gt;
&lt;br /&gt;
For further details, please refer to [[CM-X300: WinCE: SPI Driver API|SPI Programming]].&lt;br /&gt;
&lt;br /&gt;
==== C# ==== &lt;br /&gt;
The COMPortTester sample demonstrates a simple C# application that interfaces with the COM ports.&lt;br /&gt;
==== SilverlightPlayerExample ====&lt;br /&gt;
The SilverlightPlayerExample sample demonstrates basic use of Silverlight.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Utilities ==&lt;br /&gt;
=== SetPowerState ===&lt;br /&gt;
A command line utility that performs global system power state transitions.&lt;br /&gt;
Syntax:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SetPowerState.exe &amp;lt;State&amp;gt; [HexStateFlags [HexOptions]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: {{cmd|State}} - the system power state defined in the registry. Possible values are: {{parameter|Reboot}} and {{parameter|Suspend}}.&lt;br /&gt;
: {{cmd|StateFlags}} - specifies hexadecimal state flags, e.g. 200000 (POWER_STATE_SUSPEND).&lt;br /&gt;
: {{cmd|Options}} - specifies  hexadecimal options, e.g. 1000 (POWER_FORCE).&lt;br /&gt;
&lt;br /&gt;
The most useful transitions are:&lt;br /&gt;
: {{filename|SetPowerState reboot}} - performs watchdog reboot of the CM-X300.&lt;br /&gt;
: {{filename|SetPowerState suspend}} - puts the CM-X300 into the suspend mode.&lt;br /&gt;
{{Note|Before each power state transition, the registry is flushed to the NAND flash}}&lt;br /&gt;
&lt;br /&gt;
=== SysConf ===&lt;br /&gt;
A command line utility that allows easier debugging of the platform. For further details please refer to [[WinCE: Sysconf|Sysconf]] article.&lt;br /&gt;
&lt;br /&gt;
=== A2DP Demo Application ===&lt;br /&gt;
Th A2DP utility allows the user to pair with a BlueTooth device and activate the A2DP BlueTooth profile. &lt;br /&gt;
The program is available with full source code.&lt;br /&gt;
&lt;br /&gt;
=== RegEdit ===&lt;br /&gt;
An embedded registry editor able to write/read/delete registry values.&lt;br /&gt;
Syntax:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
reg.exe &amp;lt;(-)Registry Key&amp;gt; (h) &amp;lt;Value&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;quot;-&amp;quot; before a Registry Key deletes the value&lt;br /&gt;
: &amp;quot;h&amp;quot; modifier should be used for hexadecimal values&lt;br /&gt;
&lt;br /&gt;
An OnDevice registry editor is available at: [http://geekswithblogs.net/BruceEitman/archive/2009/07/27/window-ce-simple-little-registry-editor.aspx Bruce Eitman's Blog].&lt;br /&gt;
&lt;br /&gt;
=== SetWiFiPowerMode ===&lt;br /&gt;
The SetWiFiPowerMode utility activates WiFi power-saving mode. This significantly reduces the WiFi power consumption, however WiFi performance is degraded in this mode.&lt;br /&gt;
&lt;br /&gt;
This program is located at {{filename|\Utilities\SetWiFiPowerMode}}&lt;br /&gt;
{{Note|This utility is not included in the NK.bin itself}}&lt;br /&gt;
&lt;br /&gt;
=== LCDAdapt ===&lt;br /&gt;
This utility helps to integrate a custom LCD display. Please refer to [[#Using_custom_display_settings| Using custom display settings]].&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[CM-X300: WinCE: Getting Started|Getting started with Windows CE on CM-X300]]&lt;br /&gt;
* [[WinCE: Application Development|Application Development for CM-X300 modules]]&lt;br /&gt;
* [[WinCE: OSDesign Development|Windows CE OSDesign Development for CM-X300 modules]]&lt;br /&gt;
* [[CM-X300: WinCE: OSDesign Configuration|OSDesign Configuration]]&lt;br /&gt;
* [[CM-X300: WinCE: Configuring Eboot|Configuring Eboot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Demo Image]]&lt;br /&gt;
[[Category:CM-X300|Demo Image]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Configuring_Eboot&amp;diff=914</id>
		<title>CM-X300: WinCE: Configuring Eboot</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Configuring_Eboot&amp;diff=914"/>
		<updated>2010-03-25T11:39:48Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* Main Menu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
CM-X300 firmware for Windows CE consists of two components: U-Boot and Eboot. U-Boot initializes hardware and transfers control to Eboot - Windows CE loader. Eboot waits for 3 seconds (default setting) and then loads the Windows CE image from the NAND Flash. To interrupt the boot sequence, press any key other than ENTER during the first 3 seconds.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Press [ENTER] to launch image stored in flash or [SPACE] to cancel.&lt;br /&gt;
&lt;br /&gt;
Initiating image launch in 3 seconds.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the boot sequence is interrupted, Eboot enters menu-driven configuration mode.&lt;br /&gt;
&lt;br /&gt;
== Menu Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Main Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
 Eboot Main Menu&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
 [0] IP address: 0.0.0.0&lt;br /&gt;
 [1] Subnet Mask: 0.0.0.0&lt;br /&gt;
 [2] Boot delay: 3 seconds&lt;br /&gt;
 [3] DHCP: (Enabled)&lt;br /&gt;
 [5] Auto Download image at startup(Disable)&lt;br /&gt;
 [D] Download image now&lt;br /&gt;
 [L] Launch existing flash resident image now&lt;br /&gt;
 [S] Set BSP Configuration&lt;br /&gt;
 [R] Reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|Selection is not case sensitive}}&lt;br /&gt;
&lt;br /&gt;
* IP address &lt;br /&gt;
:- Configures the IP address of the device in case DHCP is not used&lt;br /&gt;
* Subnet Mask &lt;br /&gt;
:- Configures the Subnet Mask of the device in case DHCP is not used&lt;br /&gt;
* Boot delay&lt;br /&gt;
:- Specifies the delay in seconds before Auto Download/Launch of an image&lt;br /&gt;
* DHCP&lt;br /&gt;
:- Use DHCP to acquire an IP address during Windows CE boot&lt;br /&gt;
* Auto Download image at startup&lt;br /&gt;
:- Configures whether to launch an image from NAND or download an image using KITL:&lt;br /&gt;
:* {{cmd|Disable}} - launch an image from NAND&lt;br /&gt;
:* {{cmd|Enable}} - download an image using KITL&lt;br /&gt;
* Download image now&lt;br /&gt;
:- Download an image using KITL without making this the default option&lt;br /&gt;
* Launch existing flash resident image now&lt;br /&gt;
:- Load the image stored in the NAND flash without making this the default option&lt;br /&gt;
* Set BSP Configuration&lt;br /&gt;
:- Advanced configuration of the image. Discussed in the next section.&lt;br /&gt;
&lt;br /&gt;
=== Set BSP Configuration === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
 Set BSP Configuration&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
 [B] Bit Blit:  (Software optimized)&lt;br /&gt;
 [T] KITL(Image Download) Transport: (DM9000a)&lt;br /&gt;
 [K] Enable KITL: (Enabled)&lt;br /&gt;
 [L] Enable KITL Polling Mode: (Disabled)&lt;br /&gt;
 [I] Enable IMM driver: (Enabled)&lt;br /&gt;
 [V] Enable VBridge: (Disabled)&lt;br /&gt;
 [F] System frequency: IPM enable&lt;br /&gt;
 [D] Enable/Disable image drivers&lt;br /&gt;
 [U] USB Functionality: USB Host&lt;br /&gt;
 [A] STUART usage: (Debug Serial)&lt;br /&gt;
 [W] BT/WLAN Combo Card usage: (Both Disable)&lt;br /&gt;
 [C] Clean System Hive Registry: (Disabled)&lt;br /&gt;
 [E] Clean Users Hive Registry: (Disabled)&lt;br /&gt;
 [R] Reset to factory default configuration&lt;br /&gt;
 [S] Save configuration to FLASH&lt;br /&gt;
 [Q] Quit to Main menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Bit Blit&lt;br /&gt;
:- Open the Bit Blit menu. Only {{Filename|Software Optimized}} setting is supported &lt;br /&gt;
* KITL&lt;br /&gt;
:- The KITL transport setting. Only DM9000a Ethernet controller is supported&lt;br /&gt;
* Enable KITL&lt;br /&gt;
:- Enable or disable KITL in images that include it&lt;br /&gt;
* Enable KITL Polling Mode&lt;br /&gt;
* Enable IMM driver&lt;br /&gt;
:- Enable Marvell driver for SRAM handling. Do not change this option.&lt;br /&gt;
* Enable VBridge&lt;br /&gt;
:- Enable the VMINI virtual network adapter in images that include KITL&lt;br /&gt;
* System Frequency&lt;br /&gt;
:- Open the [[#System_Frequency_Menu|System frequency sub-menu]]&lt;br /&gt;
* Enable/Disable image drivers&lt;br /&gt;
:- Open the [[#Drivers_Menu|Drivers sub-menu]]&lt;br /&gt;
* STUART Usage&lt;br /&gt;
:- Enable/disable debug output via STUART &lt;br /&gt;
* BT/WLAN Combo Card usage&lt;br /&gt;
:- Open the [[#BT/WLAN_Menu|BT/WLAN submenu]]&lt;br /&gt;
* Clean System Hive Registry&lt;br /&gt;
:- Reset the System registry to the state stored in the {{filename|NK.bin}} file&lt;br /&gt;
* Clean Users Hive Registry&lt;br /&gt;
:- Reset the User registry to the state stored in the {{filename|NK.bin}} file&lt;br /&gt;
* Reset to factory default configuration&lt;br /&gt;
:- Reset Eboot configuration to the state stored in the {{filename|eboot.nb0}} image&lt;br /&gt;
* Save configuration to FLASH&lt;br /&gt;
&lt;br /&gt;
=== System Frequency Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------------------------------------&lt;br /&gt;
 System frequency: IPM enable&lt;br /&gt;
-------------------------------------------------------&lt;br /&gt;
 [1] Ring Oscillator Mode(Some device will not work)&lt;br /&gt;
 [2] 208 Mhz&lt;br /&gt;
 [3] 416 Mhz Turbo&lt;br /&gt;
 [4] 624 Mhz Turbo&lt;br /&gt;
 [I] IPM enable&lt;br /&gt;
 [Q] Quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ring Oscillator&lt;br /&gt;
:- Not supported by Compulab&lt;br /&gt;
* 208 - 624&lt;br /&gt;
:- Set the CPU frequency to a constant value. &lt;br /&gt;
:  Constant CPU frequency setting causes output of IPM error messages to the debug console. These messages can be safely disregarded.&lt;br /&gt;
* IPM enable&lt;br /&gt;
:- The Dynamic Frequency change driver (IPM) is enabled.&lt;br /&gt;
&lt;br /&gt;
=== Drivers Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----------------------------------&lt;br /&gt;
 Enable/Disable image drivers&lt;br /&gt;
-----------------------------------&lt;br /&gt;
 [1] SPI Driver:  (Disabled)&lt;br /&gt;
 [2] Backlight Driver:  (Enabled)&lt;br /&gt;
 [3] Battery Driver: (Disabled)&lt;br /&gt;
 [4] Codec Driver: (Enabled)&lt;br /&gt;
 [5] BTUART Driver:  (Disabled)&lt;br /&gt;
 [6] FFUART Driver:  (Disabled)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Each option Disables/Enables the specified driver.&lt;br /&gt;
&amp;lt;br&amp;gt;The Codec driver is responsible for Audio and Touch functionality.&lt;br /&gt;
&lt;br /&gt;
=== BT/WLAN Menu ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
 BT/WLAN Combo Card usage: (Both Disable)&lt;br /&gt;
--------------------------------------------&lt;br /&gt;
 [1] Both Disable&lt;br /&gt;
 [2] Only Enable Bluetooth&lt;br /&gt;
 [3] Only Enable WiFi&lt;br /&gt;
 [4] Both Enable&lt;br /&gt;
 [Q] Quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Configuring Eboot]]&lt;br /&gt;
[[Category:CM-X300|Configuring Eboot]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Demo_Image&amp;diff=915</id>
		<title>CM-X300: WinCE: Demo Image</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Demo_Image&amp;diff=915"/>
		<updated>2010-03-16T16:18:30Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Windows Embedded CE Demo for CM-X300 is based on the standard {{WindowsCEVer}}.&lt;br /&gt;
== CM-X300 Features Supported ==&lt;br /&gt;
The CM-X300 Demo image supports the following features:&lt;br /&gt;
* NAND Flash Disk&lt;br /&gt;
* TFT LCD (pre configured for Toppoly TD035STEE1 TFT 480x640)&lt;br /&gt;
* Audio (input/output)&lt;br /&gt;
* Wi-Fi 801.11b/g&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Suspend / Resume&lt;br /&gt;
* USB 1.1 Host / Salve&lt;br /&gt;
* USB 2.0 Slave&lt;br /&gt;
* Ethernet&lt;br /&gt;
* Serial ports&lt;br /&gt;
* SD/MMC CARD&lt;br /&gt;
* GPIO access&lt;br /&gt;
* I2C/SPI bus&lt;br /&gt;
* Touch screen&lt;br /&gt;
* Keypad&lt;br /&gt;
* RTC (H/W rev. 1.2 and up)&lt;br /&gt;
* Backlight&lt;br /&gt;
* Battery management&lt;br /&gt;
* VIP / Quick capture interface (currently with limited functionality)&lt;br /&gt;
&lt;br /&gt;
== Demo Image Contents ==&lt;br /&gt;
The following standard Windows Embedded CE components are included in this demo image:&lt;br /&gt;
* File system Explorer&lt;br /&gt;
* ActiveSync&lt;br /&gt;
* AYGShell&lt;br /&gt;
* Internet Explorer XAML UI Sample Browser&lt;br /&gt;
* Gestures Support&lt;br /&gt;
* Flash Lite ActiveX control&lt;br /&gt;
* Windows Media Player&lt;br /&gt;
* Telnet Server&lt;br /&gt;
* TCPMP Player&lt;br /&gt;
* ItaskMgr  (a PC-like task manager)&lt;br /&gt;
* All MS Bluetooth Profiles&lt;br /&gt;
&lt;br /&gt;
{{Note|For a complete list of the components included in the image refer to the [[media:CM-X300-ComponentList-WinCE.zip|Components list]].}}&lt;br /&gt;
&lt;br /&gt;
== Get Connected with ActiveSync ==&lt;br /&gt;
ActiveSync enables data synchronization between a desktop computer and the CM-X300. You must install ActiveSync on your PC before connecting it to the CM-X300.&lt;br /&gt;
&lt;br /&gt;
=== On the Host PC ===&lt;br /&gt;
==== Hosts running Windows XP ====&lt;br /&gt;
* Download  and Install [http://www.microsoft.com/windowsmobile/en-us/downloads/microsoft/activesync-download.mspx ActiveSync] from Microsoft website.&lt;br /&gt;
* ActiveSync may experience connection problems caused by Windows desktop firewall applications. Read the [http://www.microsoft.com/windowsmobile/en-us/help/synchronize/activesync-usb.mspx ActiveSync Troubleshooting Guide] for host PC configuration instructions.&lt;br /&gt;
* Ensure that ActiveSync synchronization via USB is enabled in the Connection Settings dialog box&lt;br /&gt;
:[[Image:ActiveSync connection settings window.jpg]]&lt;br /&gt;
===== Installing ActiveSync driver for the CM-X300 =====&lt;br /&gt;
:* On the first connection the &amp;quot;New hardware found&amp;quot; wizard appears. Please follow the selections depicted below:  &lt;br /&gt;
: [[image:Active Sync driver step1.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step2.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step3.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step4.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step5.jpg]]&lt;br /&gt;
:* If the following confirmation dialog pops up, choose &amp;quot;No&amp;quot;:&lt;br /&gt;
: [[image:Active Sync Driver step6.jpg]]&lt;br /&gt;
: [[image:Active Sync Driver step7.jpg]]&lt;br /&gt;
:* Now ActiveSync setup is complete.&lt;br /&gt;
&lt;br /&gt;
==== Hosts running Windows Vista/7 ====&lt;br /&gt;
* Download and install the latest version of [http://www.microsoft.com/windowsmobile/en-us/downloads/microsoft/device-center-download.mspx Windows Mobile Device Center (WMDC) for Windows 7] from Microsoft website&lt;br /&gt;
* Ensure that the CM-X300 registry has {{parameter|[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]}} key with the following value:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]&lt;br /&gt;
     &amp;quot;idVendor&amp;quot;=dword:045E&lt;br /&gt;
     &amp;quot;idProduct&amp;quot;=dword:00ce&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:- A dedicated Vendor ID should be purchased and used for mass production.&lt;br /&gt;
:- CM-X300 registry may be altered as described in the [[#RegEdit|RegEdit]] section.&lt;br /&gt;
&lt;br /&gt;
=== On the Target (CM-X300) ===&lt;br /&gt;
==== PXA300 processor (C624 option) ====&lt;br /&gt;
* Connect a USB cable to the USB 2.0 port (connector P8 on SB-X300) or to the USB 1.1 slave port (connector P10 on SB-X300).&lt;br /&gt;
* USB 2.0 is the default configuration. &lt;br /&gt;
&lt;br /&gt;
==== PXA310 processor (C624M option) ====&lt;br /&gt;
* Configure the USB port to function as Slave as described in [[#USB|USB section]].&lt;br /&gt;
* Connect a USB cable to the connector P10 on SB-X300.&lt;br /&gt;
&lt;br /&gt;
== Demo Image Componentes ==&lt;br /&gt;
The demo image is packed into the raw NK.bin file that is stored in the CM-X300 NAND flash during installation. &lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
The CM-X300 supplied with the evaluation kit is equipped with 128MB of RAM. The demo image requires approximately 40MB and leaves 88MB for application use.&lt;br /&gt;
&lt;br /&gt;
=== NAND Flash ===&lt;br /&gt;
The CM-X300 supplied with the evaluation kit is equipped with 512MB NAND flash.&lt;br /&gt;
U-Boot and Eboot bootloaders are stored in the NAND flash.&lt;br /&gt;
&lt;br /&gt;
During demo image installation, the NAND flash is automatically partitioned and space is reserved for the runtime image, which is stored in the NAND flash unpartitioned space.&lt;br /&gt;
&lt;br /&gt;
Space for a second runtime image is reserved to facilitate a fail-safe update mechanism.&lt;br /&gt;
&lt;br /&gt;
Approximately 400 MB of free space is available for data storage on the NAND. Data may be stored in the NAND directory (&amp;quot;\nandflash&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Persistent Registry ===&lt;br /&gt;
The demo image is built with a &amp;quot;Hive-Based Registry&amp;quot; option. This means that the system registry is stored in the NAND flash data partition, making registry entries persistent when the device is powered off.The demo image is configured with a &amp;quot;Lazy Flush&amp;quot; registry policy. The registry settings are stored in RAM and are flushed into the NAND Flash every 30 seconds. After changing registry settings, allow 30 seconds before turning off the power or performing a hardware reset. This will ensure that the changes are saved into the NAND flash.&lt;br /&gt;
&lt;br /&gt;
The flush period may be changed through the following registry value:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\System\ObjectStore\RegFlush]&lt;br /&gt;
        &amp;quot;FlushPeriod&amp;quot;=dword:7530 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
The following network interfaces are supported in the demo image:&lt;br /&gt;
* CM-X300 Ethernet - Full-featured 10/100 Ethernet interface. Implemented with the Davicom DA9000A Ethernet controller on the CM-X300 module.&lt;br /&gt;
* Wireless LAN - incorporates full-featured 802.11 b/g capabilities. Implemented with the Wi2Wi W2SW0001 WLAN controller on the CM-X300 module.&lt;br /&gt;
&lt;br /&gt;
The demo image image is configured to use a DHCP server to obtain network settings for the two network adapters. Network settings may be changed in the Windows CE Control Panel.&lt;br /&gt;
==== Defining static IP address ====&lt;br /&gt;
It is possible to configure a static IP address by modifying the registry.&lt;br /&gt;
&lt;br /&gt;
For example, the following registry settings disable DHCP and define the static IP 10.1.1.144 for the CM-X300 Ethernet controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\TcpIp]&lt;br /&gt;
    &amp;quot;EnableDHCP&amp;quot;=dword:0&lt;br /&gt;
    &amp;quot;IpAddress&amp;quot;=&amp;quot;10.1.1.44&amp;quot;&lt;br /&gt;
    &amp;quot;Subnetmask&amp;quot;=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
    &amp;quot;DefaultGateway&amp;quot;=&amp;quot;10.1.1.1&amp;quot;&lt;br /&gt;
    &amp;quot;UseZeroBroadcast&amp;quot;=dword:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A static IP may be assigned to the Ethernet interface using Eboot configuration menu. For further details please refer to [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]] article.&lt;br /&gt;
&lt;br /&gt;
=== USB ===&lt;br /&gt;
==== PXA300 ====&lt;br /&gt;
* Connector P10 on SB-X300 provides a USB host port that operates at full/low speed.&lt;br /&gt;
:- The port may be configured in Eboot to operate as a device port at full/low speed. See [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]].&lt;br /&gt;
* Connector P8 on SB-X300 provides a USB device port (used mainly for ActiveSync).&lt;br /&gt;
&lt;br /&gt;
==== PXA310 ====&lt;br /&gt;
* Connector P10 on SB-X300 provides a USB host port that operates at full/low speed.&lt;br /&gt;
: The port may also function as high speed device. The USB port configuration may be changed in the Windows CE Control Panel. Use {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;USB Functionality Chooser}} to switch between USB host and USB device functionality. The CM-X300 system should be restarted to activate the new settings.&lt;br /&gt;
&lt;br /&gt;
=== SD card ===&lt;br /&gt;
* The SB-X300 evaluation board features an SD socket (connector P14). &lt;br /&gt;
* When an SD card is inserted it is mounted automatically as “Storage Card” under “My Device”. &lt;br /&gt;
* The demo image has been tested successfully with the following types of SD cards: SanDisk Ultra III 2Gb, Kingston 2Gb, SanDisk 1Gb, and Kingston Micro SDHC 4Gb.&lt;br /&gt;
&lt;br /&gt;
=== Touch Screen ===&lt;br /&gt;
The demo image is calibrated for the Toppoly TD035STEE1 LCD touch screen.&lt;br /&gt;
To fine-tune the calibration, run the touch screen calibrator on the first boot by tapping&lt;br /&gt;
{{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Stylus-&amp;gt;Calibration}}.&lt;br /&gt;
For further details about touch screen calibrator registry settings refer to the [http://msdn.microsoft.com/en-us/library/ms926952.aspx Touch Screen (Stylus) Registry Settings] MSDN article.&lt;br /&gt;
&lt;br /&gt;
The Touch Screen sensitivity is controlled by the {{RegKey|HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH}} registry key:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]&lt;br /&gt;
      &amp;quot;Sensitivity&amp;quot;=dword:30&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;quot;Sensitivity&amp;quot; value is a hexadecimal number between {{cmd|1}} and {{cmd|3F}}. The lower values correspond to higher panel sensitivity. &lt;br /&gt;
&lt;br /&gt;
Reboot the device after a change.&lt;br /&gt;
&lt;br /&gt;
=== Keypad ===&lt;br /&gt;
The demo image is configured to support the 3x3 keypad provided with the CM-X300 evaluation kit.&lt;br /&gt;
&lt;br /&gt;
The default key mappings are listed below:&lt;br /&gt;
* &amp;quot;Left&amp;quot;, &amp;quot;Right&amp;quot;, &amp;quot;Up&amp;quot;, &amp;quot;Down&amp;quot; buttons control cursor movement (SW3, SW7, SW4, SW6 respectively)&lt;br /&gt;
* &amp;quot;SW5&amp;quot; button acts as &amp;quot;Enter&amp;quot; key&lt;br /&gt;
* &amp;quot;SW1&amp;quot; (Func1) button launches Internet Explorer&lt;br /&gt;
* &amp;quot;SW2&amp;quot; (Func2) button launches Media Player&lt;br /&gt;
* &amp;quot;SW8&amp;quot; (Func3) button launches ItaskMgr&lt;br /&gt;
* &amp;quot;SW9&amp;quot; (Func4) button launches Windows Explorer&lt;br /&gt;
&lt;br /&gt;
The application assignment to particular keys is defined in the following registry settings:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SOFTWARE\Compulab\KeyPad]&lt;br /&gt;
	&amp;quot;APP1&amp;quot;= &amp;quot;\\Windows\\iesample.exe&amp;quot;&lt;br /&gt;
	&amp;quot;APP2&amp;quot;= &amp;quot;\\Windows\\ceplayer.exe&amp;quot;&lt;br /&gt;
	&amp;quot;APP3&amp;quot;= &amp;quot;\\Windows\\itaskmgr.exe&amp;quot;&lt;br /&gt;
	&amp;quot;APP4&amp;quot;= &amp;quot;\\Windows\\explorer.exe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Display Subsystem ===&lt;br /&gt;
The demo image is configured for a Toppoly TD035STEE1 TFT LCD.&lt;br /&gt;
The default resolution is 480x640 with 16-bit color depth and portrait display.&lt;br /&gt;
&lt;br /&gt;
==== Using custom display settings ====&lt;br /&gt;
The  LCDAdapt utility included in the [http://www.compulab.co.il/x300/download/x300-wince6-img.zip Windows CE 6 run-time image package] allows easy configuration of LCD timing parameters. &lt;br /&gt;
The LCDAdapt utility runs on the host PC and connects to the CM-X300 device using the ActiveSync. &lt;br /&gt;
&lt;br /&gt;
* The necessary values are extracted from the specification of the display. &lt;br /&gt;
* Hovering with the mouse pointer over each field will display a tool tip with an explanation. &lt;br /&gt;
* Press the &amp;quot;Connect&amp;quot; button to connect to the device. &lt;br /&gt;
* The LCDAdapt will read the current settings on the device and display them. &lt;br /&gt;
* Use LCD parameters extracted from the display specification to fill in the settings &lt;br /&gt;
* Press the &amp;quot;Send Settings&amp;quot; button. The LCDAdapt utility will configure the LCD controller on the CM-X300 and restart it.&lt;br /&gt;
: [[image:LCDAdapt-ScreenShot-X300.jpg]]&lt;br /&gt;
&lt;br /&gt;
The program changes the following registry settings on the device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Drivers\Display\GPE]&lt;br /&gt;
        &amp;quot;HorizontalSize&amp;quot;=dword:1E0&lt;br /&gt;
        &amp;quot;VerticalSize&amp;quot;=dword:280&lt;br /&gt;
        &amp;quot;Bpp&amp;quot;=dword:10	; Bytes per pixel&lt;br /&gt;
        &amp;quot;BLW&amp;quot;=dword:7	; Timing&lt;br /&gt;
        &amp;quot;ELW&amp;quot;=dword:17	; Timing&lt;br /&gt;
        &amp;quot;HSW&amp;quot;=dword:8	; Timing&lt;br /&gt;
        &amp;quot;BFW&amp;quot;=dword:2	; Timing&lt;br /&gt;
        &amp;quot;EFW&amp;quot;=dword:4	; Timing&lt;br /&gt;
        &amp;quot;VSW&amp;quot;=dword:2	; Timing&lt;br /&gt;
        &amp;quot;104M&amp;quot;=dword:4	; PCD&lt;br /&gt;
        &amp;quot;156M&amp;quot;=dword:6	; PCD&lt;br /&gt;
        &amp;quot;208M&amp;quot;=dword:9	; PCD&lt;br /&gt;
        &amp;quot;39M&amp;quot;=dword:0	; PCD&lt;br /&gt;
        &amp;quot;D0CS&amp;quot;=dword:2	; PCD&lt;br /&gt;
        &amp;quot;OEP&amp;quot;=dword:0	; Polarity&lt;br /&gt;
        &amp;quot;PCP&amp;quot;=dword:1	; Polarity&lt;br /&gt;
        &amp;quot;HSP&amp;quot;=dword:1	; Polarity&lt;br /&gt;
        &amp;quot;VSP&amp;quot;=dword:1	; Polarity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|The LCDAdapt utility requires .Net 3.x framework installed on the host PC}}&lt;br /&gt;
For additional details about CompuLab LCD adaptation services, please refer to [http://www.compulab.co.il/x300/html/x300-lcd.htm LCD Panel support].&lt;br /&gt;
&lt;br /&gt;
==== Video Playback ====&lt;br /&gt;
The package supports playback of the following video formats:&lt;br /&gt;
* MPEG4&lt;br /&gt;
* H.264&lt;br /&gt;
* MPEG2&lt;br /&gt;
* 3GP &lt;br /&gt;
&lt;br /&gt;
Media playback requires installation of codec pack available in the {{filename|Utilities\GraphicAcceleration\Graphics\Cab\HWCodecsCMX300}} CAB archive.&lt;br /&gt;
&lt;br /&gt;
The project that generates the CAB file is located in the same directory.&lt;br /&gt;
&lt;br /&gt;
The rest of the graphics examples are located in {{filename|Utilities\GraphicAcceleration\Graphics}} and there is no documentation available for them.&lt;br /&gt;
&lt;br /&gt;
=== Backlight ===&lt;br /&gt;
The CM-X300 supports seven levels of backlight brightness.&lt;br /&gt;
&lt;br /&gt;
The backlight level can be modified in the Windows CE Control Panel. Use {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt; Backlight Level}} to adjust the brightness.&lt;br /&gt;
The backlight level altered directly via the {{RegKey|HKEY_CURRENT_USER\ControlPanel\BackLight}} registry key:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_CURRENT_USER\ControlPanel\BackLight]&lt;br /&gt;
       &amp;quot;BacklightLevel&amp;quot;=dword:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Battery and Charging ===&lt;br /&gt;
The CM-X300 evaluation kit is shipped with a 3000mAh Li battery. For detailed instructions about the battery connection please refer to the SB-X300 manual.&lt;br /&gt;
&lt;br /&gt;
Monitor the battery power by tapping {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Power}}.&lt;br /&gt;
&lt;br /&gt;
The CM-X300 / SB-X300 supports battery charging using the power cable supplied with the evaluation kit. For detailed instructions about the battery connection refer to the SB-X300 manual.The charging mechanism utilizes fast charging method with a charge current of 1000mA.&lt;br /&gt;
&lt;br /&gt;
The battery driver must be enabled in the Eboot menu. Refer to [[CM-X300:_WinCE:_Configuring_Eboot|Configuring Eboot]] article.&lt;br /&gt;
&lt;br /&gt;
=== Suspend / Resume ===&lt;br /&gt;
The CM-X300 Windows CE demo image enters suspend mode upon one of the following events:&lt;br /&gt;
* {{filename|Start-&amp;gt;Suspend}} menu entry activation.&lt;br /&gt;
* Rising edge detection on GPIO83.&lt;br /&gt;
*{{cmd|Rtc_cmd.exe}} invocation. {{cmd|Rtc_cmd.exe}} is a console application with the following syntax: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rtc_cmd [time before sleep in seconds] &amp;lt;sleep time in seconds&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The system wakes up upon one of the following events:&lt;br /&gt;
* Rising edge detection on GPIO83.&lt;br /&gt;
* RTC timer (set by {{cmd|Rtc_cmd.exe}}) expiration.&lt;br /&gt;
&lt;br /&gt;
=== Serial Ports ===&lt;br /&gt;
The demo image supports three serial ports. The serial ports mapping is summarized below:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! UART&lt;br /&gt;
! Connector&lt;br /&gt;
on SB-X300&lt;br /&gt;
! COM-port&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| STUART&lt;br /&gt;
| P16&lt;br /&gt;
| COM4&lt;br /&gt;
| Used for diagnostic messages. Please refer to [[Configuring_Eboot_(CM-X300)|Configuring Eboot]] for configuration &lt;br /&gt;
|-&lt;br /&gt;
| BTUART&lt;br /&gt;
| P6&lt;br /&gt;
| COM5&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| FFUART&lt;br /&gt;
| P4&lt;br /&gt;
| COM1&lt;br /&gt;
| Not available with PXA310 CPU ('''C624M''' option)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The serial ports operate at baud rates up to 3.6M. For more details please refer to the [http://www.marvell.com/products/processors/applications/pxa_3xx/PXA3xx_Developers_Manual.zip PXA3xx developers manual].&lt;br /&gt;
&lt;br /&gt;
=== Wireless Interface Control ===&lt;br /&gt;
Bluetooth and WiFi power state is controlled by the Control Panel, {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Wireless Config}}.&lt;br /&gt;
&lt;br /&gt;
The initial state of the wireless devices may be configured in Eboot as described at [[Configuring_Eboot_(CM-X300)|Configuring Eboot]].&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
The demo image includes the following Microsoft Bluetooth profiles:&lt;br /&gt;
* Object Push Profile (OBEX)&lt;br /&gt;
* File Transfer Profile&lt;br /&gt;
* Human Interface Device Profile&lt;br /&gt;
* LAN Access Profile&lt;br /&gt;
* Personal Area Network Profile&lt;br /&gt;
* Hands-free and headset Profiles&lt;br /&gt;
&lt;br /&gt;
The CM-X300 Bluetooth connectivity was verified with Motorola HT820 Bluetooth Stereo Headphones with A2DP profile.&lt;br /&gt;
&lt;br /&gt;
Bluetooth Manager located at {{MenuEntry|Start-&amp;gt;Settings-&amp;gt;Control Panel-&amp;gt;Bluetooth Device Properties}} allows to scan for remote Bluetooth devices and pair with them.&lt;br /&gt;
Bluetooth Audio connection {{cmd|AdpMgr}} sample is available at {{filename|Start-&amp;gt;Programs-&amp;gt;A2dpMgr}}.&lt;br /&gt;
&lt;br /&gt;
=== Reboot ===&lt;br /&gt;
Use the &amp;quot;Software Reboot&amp;quot; shortcut on the desktop to reboot the system. The &amp;quot;Software Reboot&amp;quot; ensures proper system shutdown and registry flush.&lt;br /&gt;
&lt;br /&gt;
=== Run Once Functionality ===&lt;br /&gt;
Run Once functionality allows addition of custom files and registry modifications after Windows CE image installation.&lt;br /&gt;
&lt;br /&gt;
During the first boot the Windows CE image searches for {{filename|RunOnceCab.cab}} archive on SD card and USB flash drive. If the archive is found, it is loaded and executed. The Run Once functionality is disabled after the first boot is complete.&lt;br /&gt;
&lt;br /&gt;
=== Running custom applications on startup ===&lt;br /&gt;
In order to run a custom application on the system startup, use the AutoLaunch utility integrated into the demo image.&lt;br /&gt;
&lt;br /&gt;
The AutoLaunch utility extends the functionality of the {{RegKey |HKEY_LOCAL_MACHINE\Init}} registry key and allowing configurable launch delay for each application.  &lt;br /&gt;
AutoLaunch monitors the following registry keys and values:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Startup]&lt;br /&gt;
	“Process0” =”Application.exe param1 param2”&lt;br /&gt;
	“Process0Delay”=dword:delay ;in milliseconds&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Startup\ApplicationName]&lt;br /&gt;
	“Process0” =”Application.exe param1 param2”&lt;br /&gt;
	“Process0Delay”=dword:delay ;in milliseconds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Usage example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[HKEY_LOCAL_MACHINE\Startup\ceplayer]&lt;br /&gt;
	&amp;quot;Process0” =”ceplayer.exe \windows\sound2.wav”&lt;br /&gt;
	“Process0Delay”= dword:1388 ;5000 in decimal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The above example launches CEPlayer five seconds after boot completion. The additional &amp;quot;\windows\Sound2.wav&amp;quot; parameter is used by CEPlayer to play the specified file.&lt;br /&gt;
&lt;br /&gt;
== Sample Applications ==&lt;br /&gt;
The Windows CE demo image package includes demo applications that demonstrate how to use common interfaces such as SPI, I2C and GPIO.&lt;br /&gt;
They applications are located at the {{Filename|Demo Applications}} directory. &lt;br /&gt;
==== GPIO Sample ====&lt;br /&gt;
This application demonstrates how to use the GPIO driver in order to control the state of GPIO pins. &lt;br /&gt;
&lt;br /&gt;
For further details, please refer to [[CM-X300: WinCE: GPIOs Programming | GPIOs Programming]].&lt;br /&gt;
====  I2C Sample ==== &lt;br /&gt;
The I2C sample demonstrates how to use the I2C driver.&lt;br /&gt;
&lt;br /&gt;
Fur further reading refer to [[CM-X300: WinCE: I2C Programming|I2C Programming]].&lt;br /&gt;
&lt;br /&gt;
====  SPI Sample ==== &lt;br /&gt;
The SPI_Thermometer sample included in the WinCE demo image package, demonstrates how to use the SPI driver.&lt;br /&gt;
&lt;br /&gt;
For further details, please refer to [[CM-X300: WinCE: SPI Driver API|SPI Programming]].&lt;br /&gt;
&lt;br /&gt;
==== C# ==== &lt;br /&gt;
The COMPortTester sample demonstrates a simple C# application that interfaces with the COM ports.&lt;br /&gt;
==== SilverlightPlayerExample ====&lt;br /&gt;
The SilverlightPlayerExample sample demonstrates basic use of Silverlight.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Utilities ==&lt;br /&gt;
=== SetPowerState ===&lt;br /&gt;
A command line utility that performs global system power state transitions.&lt;br /&gt;
Syntax:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SetPowerState.exe &amp;lt;State&amp;gt; [HexStateFlags [HexOptions]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: {{cmd|State}} - the system power state defined in the registry. Possible values are: {{parameter|Reboot}} and {{parameter|Suspend}}.&lt;br /&gt;
: {{cmd|StateFlags}} - specifies hexadecimal state flags, e.g. 200000 (POWER_STATE_SUSPEND).&lt;br /&gt;
: {{cmd|Options}} - specifies  hexadecimal options, e.g. 1000 (POWER_FORCE).&lt;br /&gt;
&lt;br /&gt;
The most useful transitions are:&lt;br /&gt;
: {{filename|SetPowerState reboot}} - performs watchdog reboot of the CM-X300.&lt;br /&gt;
: {{filename|SetPowerState suspend}} - puts the CM-X300 into the suspend mode.&lt;br /&gt;
{{Note|Before each power state transition, the registry is flushed to the NAND flash}}&lt;br /&gt;
&lt;br /&gt;
=== SysConf ===&lt;br /&gt;
A command line utility that allows easier debugging of the platform. For further details please refer to [[WinCE: Sysconf|Sysconf]] article.&lt;br /&gt;
&lt;br /&gt;
=== A2DP Demo Application ===&lt;br /&gt;
Th A2DP utility allows the user to pair with a BlueTooth device and activate the A2DP BlueTooth profile. &lt;br /&gt;
The program is available with full source code.&lt;br /&gt;
&lt;br /&gt;
=== RegEdit ===&lt;br /&gt;
An embedded registry editor able to write/read/delete registry values.&lt;br /&gt;
Syntax:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
reg.exe &amp;lt;(-)Registry Key&amp;gt; (h) &amp;lt;Value&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: &amp;quot;-&amp;quot; before a Registry Key deletes the value&lt;br /&gt;
: &amp;quot;h&amp;quot; modifier should be used for hexadecimal values&lt;br /&gt;
&lt;br /&gt;
An OnDevice registry editor is available at: [http://geekswithblogs.net/BruceEitman/archive/2009/07/27/window-ce-simple-little-registry-editor.aspx Bruce Eitman's Blog].&lt;br /&gt;
&lt;br /&gt;
=== SetWiFiPowerMode ===&lt;br /&gt;
The SetWiFiPowerMode utility activates WiFi power-saving mode. This significantly reduces the WiFi power consumption, however WiFi performance is degraded in this mode.&lt;br /&gt;
&lt;br /&gt;
This program is located at {{filename|\Utilities\SetWiFiPowerMode}}&lt;br /&gt;
{{Note|This utility is not included in the NK.bin itself}}&lt;br /&gt;
&lt;br /&gt;
=== LCDAdapt ===&lt;br /&gt;
This utility helps to integrate a custom LCD display. Please refer to [[#Using_custom_display_settings| Using custom display settings]].&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Getting started with Windows CE on CM-X300]]&lt;br /&gt;
* [[WinCE: Application Development|Application Development for CM-X300 modules]]&lt;br /&gt;
* [[WinCE: OSDesign Development|Windows CE OSDesign Development for CM-X300 modules]]&lt;br /&gt;
* [[CM-X300: WinCE: OSDesign Configuration|OSDesign Configuration]]&lt;br /&gt;
* [[CM-X300: WinCE: Configuring Eboot|Configuring Eboot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Demo Image]]&lt;br /&gt;
[[Category:CM-X300|Demo Image]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_OSDesign_Configuration&amp;diff=921</id>
		<title>CM-X300: WinCE: OSDesign Configuration</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_OSDesign_Configuration&amp;diff=921"/>
		<updated>2010-03-16T16:16:53Z</updated>

		<summary type="html">&lt;p&gt;Shai: /* Image Debugging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the Driver Package ==&lt;br /&gt;
* Close the Platform Builder Application if it is open.&lt;br /&gt;
* Copy the CM_X300_BSP directory to \WINCE600\Platform\&lt;br /&gt;
* Copy the CM_X300_CE6 directory to \WINCE600\OSDesigns\&lt;br /&gt;
* Launch VS2005 and open \WINCE600\OSDesigns\CM_X300_CE6\CM_X300_CE6.sln&lt;br /&gt;
&lt;br /&gt;
== Building the Platform Project ==&lt;br /&gt;
The CM_X300 Platform Project is used to build CompuLab Windows Embedded CE demo image. It includes many components and is highly recommended as a starting point for a new project. The demo image is relatively large, ~35 MB. Typical Windows CE images for a specific application are much smaller, 8-15 MB.&lt;br /&gt;
&lt;br /&gt;
To build the CM_X300 platform:&lt;br /&gt;
* select the {{MenuEntry|Open-&amp;gt;Project/Solution}} command from the File menu of the VS2005 and select the {{Filename|\WINCE600\OSDesigns\CM_X300_CE6\CM_X300_CE6.sln}} file. &lt;br /&gt;
* Check that the project is configured for Release. &lt;br /&gt;
* Perform {{Cmd|Rebuild Solution}} from the {{Cmd|Build}} menu (alternatively, perform {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}}). &lt;br /&gt;
&lt;br /&gt;
The build process takes about 15-20 minutes.&lt;br /&gt;
&lt;br /&gt;
=== CPU Type ===&lt;br /&gt;
The CM-X300 may be assembled with two CPU types:&lt;br /&gt;
* PXA300 - the C624 option&lt;br /&gt;
* PXA310 - the C624M option&lt;br /&gt;
&lt;br /&gt;
The default BSP configuration targets the PXA310 CPU.&lt;br /&gt;
&lt;br /&gt;
==== Choosing CPU Type ====&lt;br /&gt;
The CPU type is defined in {{Filename|CM_X300_BSP.BAT}} file in the platform directory. Ensure that the {{parameter|BSP_CPU_TYPE}} setting corresponds with the correct CPU type. Leave the appropriate line without the REM directive: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set BSP_CPU_TYPE=310&lt;br /&gt;
REM set BSP_CPU_TYPE=300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build Options ===&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Sysgen}} when adding Platform Builder components (Catalog items) to the project.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}} when removing Platform Builder components (Catalog items) from the project.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Build Current BSP and Subprojects}} when modifying Compulab BSP components that are included in the project or performing changes in the BSP files.&lt;br /&gt;
* Use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt; Rebuild Build Current BSP and Subprojects}} when adding/removing Compulab BSP components to/from the project.&lt;br /&gt;
{{Warning|Do not use {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Build and Sysgen}} or {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Rebuild and Clean Sysgen}} that perform compilation and sysgen on the entire Platform Builder tree.&lt;br /&gt;
It is recommended to remove the two commands mentioned above from the menu permanently}}&lt;br /&gt;
&lt;br /&gt;
== Windows CE Image Customization ==&lt;br /&gt;
There are two ways to customize the Windows CE image:&lt;br /&gt;
# Recommended method: Add or remove BSP components from the demo CM_X300_CE6 project. &lt;br /&gt;
# Create a new platform project and then manually add all the necessary BSP components as described in the Platform Builder documentation. Refer to [[WinCE: OSDesign Development|Windows CE OSDesign Development]] page.&lt;br /&gt;
&lt;br /&gt;
=== BSP customization using batch files ===&lt;br /&gt;
The BSP is fully customizable and allows inclusion/exclusion of each component via BSP_NO environment variables. &lt;br /&gt;
&lt;br /&gt;
To exclude a certain driver, set the BSP_NO environment variables in {{Filename|CM_X300_BSP\CM_X300_BSP_COMMON.bat}} and rebuild the BSP with {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Rebuild Current BSP and Subprojects}}.&lt;br /&gt;
&lt;br /&gt;
The following table lists the BSP_NO environment variables that can be defined:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Variable'''&lt;br /&gt;
| '''Meaning'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOKEYPAD &lt;br /&gt;
| No Keypad driver and no support for keyboard &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NODISPLAY&lt;br /&gt;
| No Graphics&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NONAND &lt;br /&gt;
| No NAND Flash driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOSDHC&lt;br /&gt;
| No SDIO card driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOWLAN&lt;br /&gt;
| No WiFi driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOI2C&lt;br /&gt;
| No I2C driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSB20FN&lt;br /&gt;
| No Usb 2.0 Function driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSBFN&lt;br /&gt;
| No Usb 1.1 Function driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOUSBHOST&lt;br /&gt;
| No Usb Host driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOAUDIO&lt;br /&gt;
| No Audio driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOTOUCH&lt;br /&gt;
| No Touch screen driver&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOCODEC&lt;br /&gt;
| No Codec driver &lt;br /&gt;
| (no Touch and no Audio)&lt;br /&gt;
|-&lt;br /&gt;
| BSP_NOBLUETOOTH&lt;br /&gt;
| No BlueTooth Driver &lt;br /&gt;
| No Bluetooth stack as well&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Any environment variable defined in CM_X300_BSP\CM_X300_BSP_COMMON.bat will override the variables defined in Platform Builder project}}&lt;br /&gt;
&lt;br /&gt;
=== RAM-Based Registry support ===&lt;br /&gt;
The CM-X300 BSP is configured for HIVE-based registry with lazy flushing. The registry hive is located in the system NAND flash.&lt;br /&gt;
To support a RAM-Based registry, perform the following actions:&lt;br /&gt;
* Add the {{Filename|RAM-based Registry}} component to the project&lt;br /&gt;
* Disable the following variables in the {{filename|CM_X300_BSP\CM_X300_PRODUCTION.bat}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set PRJ_ENABLE_FSREGHIVE=1&lt;br /&gt;
set PRJ_ENABLE_REGFLUSH_THREAD=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Perform &amp;quot;Clean Sysgen&amp;quot; using {{MenuEntry|Build-&amp;gt;Advanced Build Commands-&amp;gt;Clean Sysgen}}&lt;br /&gt;
&lt;br /&gt;
=== Persistent File System ===&lt;br /&gt;
The CM-X300 BSP is configured to store the root directory in RAM, therefore the root filesystem is not persistent. To make the root and its subsequent folders persistent, change the Catalog item &amp;quot;ROM and RAM File System&amp;quot; to &amp;quot;ROM-Only file System&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Note|Any data saved to a non-persistent location is erased when the device resets. This includes the root directory (&amp;quot;\&amp;quot;).}}&lt;br /&gt;
&lt;br /&gt;
== CM-X300 BSP Subprojects ==&lt;br /&gt;
In addition to the drivers supplied with the BSP, there are a few useful utilities distributed as Subprojects. Subprojects allow adding software modules to the build without modifying the BSP source code located in the Platform source tree.&lt;br /&gt;
There are two Subproject types available with CM_X300_BSP:&lt;br /&gt;
* Subprojects that add optional functionality to the BSP are located in the {{Filename|\WINCE600\PLATFORM\CM_X300_BSP\Subprojects}} directory.&lt;br /&gt;
: These Subprojects are provided with the source code.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Project Name'''&lt;br /&gt;
| '''Functionality'''&lt;br /&gt;
|-&lt;br /&gt;
| ''SetPowerState''&lt;br /&gt;
| Command line utility that controls the system power state and is used for software reboot and suspend support&lt;br /&gt;
|-&lt;br /&gt;
| ''Regedit''&lt;br /&gt;
| Command line registry editor. Allows remote changes of the device registry via telnet connection.&lt;br /&gt;
|-&lt;br /&gt;
| ''CoreCon''&lt;br /&gt;
| Executables required for application level debugging over Ethernet in VS2005&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoLaunch''&lt;br /&gt;
| Executable that should be used for automatic launch of CoreCon (ConmanClient2.exe) at system startup. AutoLaunch.exe verifies IP address availability before loading ConmanClient2.exe. This is required because ConmanClient2 waits for incoming TCP/IP connections when communicating with VS 2005&lt;br /&gt;
|-&lt;br /&gt;
| ''SysConf''&lt;br /&gt;
| Command line utility for platform debugging&lt;br /&gt;
|-&lt;br /&gt;
| ''Tools''&lt;br /&gt;
| &lt;br /&gt;
* Command line RTC_CMD utility for RTC driven suspend/resume cycles&lt;br /&gt;
* CLTerm program for COM ports testing&lt;br /&gt;
|-&lt;br /&gt;
| ''BuildVer''&lt;br /&gt;
| This project adds a text file to the image specifying which revision was used to build the image. It requires a Tortoise Svn client installed on the desktop. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The Subprojects that add custom applications, control panel applets and registry settings to the demo image are located at {{Filename|\WINCE600\OSDesigns\CM_X300_CE6\Subprojects}} directory.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Project Name'''&lt;br /&gt;
| '''Functionality'''&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\WireLessCPL''&lt;br /&gt;
| Control panel applet that controls the power state (on/off) of wireless devices&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\KeypadConfigCPL''&lt;br /&gt;
| Control panel applet that customizes keypad buttons functionality&lt;br /&gt;
|-&lt;br /&gt;
| ''CPLApplets\BacklightCPL''&lt;br /&gt;
| Control panel applet that controls the LCD backlight level&lt;br /&gt;
|-&lt;br /&gt;
| ''TCPMP''&lt;br /&gt;
| Open source Media player&lt;br /&gt;
|-&lt;br /&gt;
| ''TaskManager''&lt;br /&gt;
| Open source Task Manager&lt;br /&gt;
|-&lt;br /&gt;
| ''KeypadAppLaunch''&lt;br /&gt;
| A utility to capture application launching key presses&lt;br /&gt;
|-&lt;br /&gt;
| ''LookAndFeel''&lt;br /&gt;
| Look and feel of the demo image (background, theme, sounds, etc.) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== KITL Connection ==&lt;br /&gt;
Platform Builder communicates with a device using KITL protocol. For details about KITL refer to [http://www.microsoft.com/video/en/us/details/0a8d9767-a419-4f5e-9b37-4328b0993d1d Microsoft's KITL Broadcast] article.&lt;br /&gt;
&lt;br /&gt;
The following actions should be performed in order to setup a KITL connection between the CM-X300 and Platform Builder 6.0:&lt;br /&gt;
# Ensure that a serial terminal is connected to the CM-X300 as described in [[CM-X300: WinCE: Setting Up a Console|Setting up a console]]&lt;br /&gt;
# Ensure that an Ethernet cable is connected to the CM-X300 platform&lt;br /&gt;
# In Platform Builder, go to {{MenuEntry| Target-&amp;gt;Connectivity Options}}. &amp;lt;br&amp;gt;[[Image:Target Device Connectivity Options X300.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Click on {{Filename|Add Device}} and provide a device name (such as CM-X300).&amp;lt;br&amp;gt;[[Image:Target Device Connectivity Options Add Device X300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
# In {{Filename|Kernel Service Map}}, select {{Filename|Ethernet}} for Download and Transport options and {{Filename|KdStub}} for the Debugger.&lt;br /&gt;
# Press {{Filename|Download settings}} and at the same time, נoot the target device and press {{Filename|SPACE}} in the device console to get Eboot main menu.&lt;br /&gt;
# Type &amp;quot;D&amp;quot; to download the image from Platform Builder (results in a broadcast of BOOT ME messages). &lt;br /&gt;
# Platform Builder will show the target device unique name (e.g. CM_X30064242) in the {{Filename|Active Devices}}  area.&amp;lt;br&amp;gt;[[Image:Ethernet Download SettingsX300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Press Transport settings and select {{Filename|Use device name from bootloader}}. &amp;lt;br&amp;gt;[[Image:Ethernet KITL SettingsX300.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the connection is configured, download and launch the newly created WinCE image:&lt;br /&gt;
# In Platform Builder Target toolbar, select the configured device and then select {{MenuEntry|Target-&amp;gt;Attach Device}}.&lt;br /&gt;
# Ensure that Eboot is ready for download (i.e. Sends Boot Me messages).&lt;br /&gt;
&lt;br /&gt;
== Image Debugging ==&lt;br /&gt;
=== Platform Debugging with RETAILMSG ===&lt;br /&gt;
Debug messages output to the serial port may be enabled for both Retail and Debug build types.&amp;lt;br&amp;gt;&lt;br /&gt;
To enable RETAILMSG output to COM-A serial port, set the &amp;quot;STUART Usage&amp;quot; option to &amp;quot;Debug Serial&amp;quot; in the BSP Configuration menu in [[CM-X300: WinCE: Configuring Eboot|Eboot]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Debugging over Ethernet ===&lt;br /&gt;
KITL allows platform debugging over Ethernet and enables use of [http://msdn.microsoft.com/en-us/library/ee479862.aspx VS2005 Remote Tools]. During debug session, KITL redirects all the serial output into VS2005 output window.&lt;br /&gt;
&lt;br /&gt;
* Choose the following platform options to enable platform debugging:&lt;br /&gt;
** Enable kernel debugger.&lt;br /&gt;
** Enable KITL.&lt;br /&gt;
* Perform {{MenuEntry|Build-&amp;gt;Advanced Build Commands -&amp;gt;Rebuild Current BSP and Subprojects}}.&lt;br /&gt;
* Start the debug session as described in [[#Connecting to the device using KITL|Setup Target for CM_X300 Image Evaluation]] section.&lt;br /&gt;
&lt;br /&gt;
{{Note|Run-time image built with the Kernel debugger and KITL dedicates CM-X300 Ethernet port to debug communication. This port cannot be used for application Ethernet traffic. The application Ethernet traffic can be routed through virtual VMINI adapter that should be enabled in [[CM-X300: WinCE:  Configuring Eboot|Eboot configuration]].}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[WinCE: OSDesign Development | Windows CE OSDesign Development]]&lt;br /&gt;
&lt;br /&gt;
[[CM-X300: WinCE: Hive Based Registry on SD card|Persisting the Registry to the SD Card]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|OSDesign Configuration]]&lt;br /&gt;
[[Category:CM-X300|OSDesign Configuration]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:MenuEntry&amp;diff=926</id>
		<title>Template:MenuEntry</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:MenuEntry&amp;diff=926"/>
		<updated>2010-03-16T16:13:12Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: &amp;lt;span style=&amp;quot;background-color:#C0C0C0;&amp;quot;&amp;gt; '''{{{1}}}''' &amp;lt;/span&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;background-color:#C0C0C0;&amp;quot;&amp;gt; '''{{{1}}}''' &amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:Struct&amp;diff=929</id>
		<title>Template:Struct</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:Struct&amp;diff=929"/>
		<updated>2010-03-16T15:19:17Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__ &amp;lt;noinclude&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{{HeadLevel}}} &amp;lt;span style=&amp;quot;color: #0000FF;&amp;quot;&amp;gt; {{{Structname}}}&amp;lt;/span&amp;gt; {{{HeadLevel}}}&lt;br /&gt;
{{#if: {{{Description}}} |&lt;br /&gt;
{{{Description}}} |&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Field1}}} | &lt;br /&gt;
={{{HeadLevel}}} Fields {{{HeadLevel}}}= |&lt;br /&gt;
}}&lt;br /&gt;
{|cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;0&amp;quot; style=&amp;quot;border: 0px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
{{#if: {{{Field1|}}}|&lt;br /&gt;
! &amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt; Name &amp;lt;/div&amp;gt; !! &amp;lt;div style=&amp;quot;text-align:left;&amp;quot;&amp;gt; Description &amp;lt;/div&amp;gt;&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field1}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp1}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field2|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field2}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp2}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field3|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field3}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp3}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field4|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field4}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp4}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field5|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field5}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp5}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field6|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field6}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp6}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field7|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field7}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp7}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{#if: {{{Field8|}}}|&lt;br /&gt;
{{!}}- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
{{!}} {{{Field8}}} {{!!}} &amp;lt;span style=&amp;quot;font-style:italic; color: #686868;&amp;quot;&amp;gt; {{{Fieldexp8}}} &amp;lt;/span&amp;gt;|}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
{{#if: {{{Remarks|}}} | &lt;br /&gt;
={{{HeadLevel}}} Remarks {{{HeadLevel}}}=&lt;br /&gt;
:{{{Remarks}}} |&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_GPIOs_Programming&amp;diff=916</id>
		<title>CM-X300: WinCE: GPIOs Programming</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_GPIOs_Programming&amp;diff=916"/>
		<updated>2010-03-15T11:46:28Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GPIO Sample Application ==&lt;br /&gt;
=== Overview ===&lt;br /&gt;
This GPIOSample application demonstrates basic functionality of CM-X300 GPIOs under Windows CE:&lt;br /&gt;
* How to configure a GPIO pin as output and manipulate it.&lt;br /&gt;
* How to configure a GPIO pin as input and respond to changes in signal level.&lt;br /&gt;
* How to setup an edge triggered event. &lt;br /&gt;
&lt;br /&gt;
=== Application Behavior ===&lt;br /&gt;
The GPIOSample manipulates the following GPIOs:&lt;br /&gt;
* GPIO 122 (pin 12 of connector P13 on the SB-X300) - Set as output&lt;br /&gt;
* GPIO 124 (pin 14 of connector P13 on the SB-X300) - Set as input&lt;br /&gt;
* GPIO 128 (Pin 24 of connector P11 on the SB-X300) - Set as input. (pin 0 on GPIO extender 0)&lt;br /&gt;
&lt;br /&gt;
GPIO122 voltage level may be monitored with a DVM or an oscilloscope. GPIO124 and GPIO128 may be controlled by an external switch or button. &lt;br /&gt;
&lt;br /&gt;
The GPIOSample performs the following actions: &lt;br /&gt;
* Edge detection on GPIO124 (cpu GPIO). Event handler is registered with [[#BOOL_GPIOUnRegisterInterrupt.28HANDLE_hDevice.2C_DWORD_num.29|GPIORegisterInterrupt]]. The handler calls [[#VOID_GPIOInterruptDone.28HANDLE_hDevice.2C_DWORD_num.29|GPIOInterruptDone]] to indicate interrupt completion. &lt;br /&gt;
* Edge detection on GPIO128 (GPIO extender). Event handler is registered with [[#BOOL_GPIOUnRegisterInterrupt.28HANDLE_hDevice.2C_DWORD_num.29|GPIORegisterInterrupt]]. The handler calls [[#VOID_GPIOInterruptDone.28HANDLE_hDevice.2C_DWORD_num.29|GPIOInterruptDone]] to indicate interrupt completion.&lt;br /&gt;
* Clock simulation on GPIO122 with a period of 3 seconds. &lt;br /&gt;
* Input voltage level monitoring on GPIO122.&lt;br /&gt;
&lt;br /&gt;
== GPIO Driver API ==&lt;br /&gt;
=== Data Types ===&lt;br /&gt;
{{Enum| HeadLevel = ==== | Enumname = GPIO_VALUE |&lt;br /&gt;
Description = GPIO state enumeration|  &lt;br /&gt;
Field1 = GPIO_LOW |&lt;br /&gt;
Field2 = GPIO_HIGH |&lt;br /&gt;
Field3 = |&lt;br /&gt;
Field4 = |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Enum| HeadLevel = ==== | Enumname = GPIO_EDGE_SETTINGS |&lt;br /&gt;
Description = |  &lt;br /&gt;
Field1 = GPIO_REACT_ON_FALLING |&lt;br /&gt;
Field2 = GPIO_REACT_ON_RISING |&lt;br /&gt;
Field3 = GPIO_REACT_ON_BOTH |&lt;br /&gt;
Field4 = GPIO_DONT_REACT |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Struct| HeadLevel = ==== | Structname = GPIO_INTERRUPT |&lt;br /&gt;
Description = |&lt;br /&gt;
Field1 = DWORD dwGpioNum |&lt;br /&gt;
Fieldexp1 = |&lt;br /&gt;
Field2 = [[#GPIO_EDGE_SETTINGS|GPIO_EDGE_SETTINGS]]  Edge|&lt;br /&gt;
Fieldexp2 = |&lt;br /&gt;
Field3 = HANDLE	Event|&lt;br /&gt;
Fieldexp3 = |&lt;br /&gt;
Field4 = |&lt;br /&gt;
Field5 = |&lt;br /&gt;
Field6 = |&lt;br /&gt;
Field7 = |&lt;br /&gt;
Field8 = |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = HANDLE GPIOOpen() | &lt;br /&gt;
Description = Opens an instance of the GPIO Driver.  |  &lt;br /&gt;
Return = Returns a handle that should be used to access the driver. Nonzero indicates success. |&lt;br /&gt;
Param1 = |&lt;br /&gt;
Param2 = |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = void GPIOClose(HANDLE hDevice) | &lt;br /&gt;
Description = Closes the driver handle |  &lt;br /&gt;
Return = |&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature =  BOOL GPIOSetValue(HANDLE hDevice,DWORD num, [[#GPIO_VALUE|GPIO_VALUE]] val) | &lt;br /&gt;
Description = Sets the state of a GPIO. |  &lt;br /&gt;
Return = TRUE - indicates success&lt;br /&gt;
:FALSE - indicates failure|&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = *num - GPIO number.|&lt;br /&gt;
Param3 = *val - The desired logical state. |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = Make sure the GPIO direction is setup as output.}}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = BOOL GPIOGetValue(HANDLE hDevice,DWORD num,[[#GPIO_VALUE|GPIO_VALUE]] *gpioVal) | &lt;br /&gt;
Description =  Return the logical state of a GPIO.|  &lt;br /&gt;
Return = TRUE - indicates success&lt;br /&gt;
:FALSE - indicates failure|&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = *num - GPIO number.|&lt;br /&gt;
Param3 = *gpioVal - pointer to the GPIO state variable|&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = Make sure the GPIO direction is setup as input. Returned value for an output GPIO is undefined}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = BOOL GPIOSetAsInput(HANDLE hDevice, DWORD num) | &lt;br /&gt;
Description =  Configures a GPIO as an input.|  &lt;br /&gt;
Return = TRUE - indicates success&lt;br /&gt;
:FALSE - indicates failure|&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance.|&lt;br /&gt;
Param2 = *num - GPIO number.|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature =  BOOL GPIOSetAsOutput(HANDLE hDevice,DWORD num, [[#GPIO_VALUE|GPIO_VALUE]] val) | &lt;br /&gt;
Description = Configures a GPIO as an output and sets its logical state. |  &lt;br /&gt;
Return = TRUE - indicates success&lt;br /&gt;
:FALSE - indicates failure|&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = *num - GPIO number.|&lt;br /&gt;
Param3 = *val - The initial GPIO value|&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = BOOL GPIORegisterInterrupt(HANDLE hDevice,[[#GPIO_INTERRUPT|GPIO_INTERRUPT]] interrupt) | &lt;br /&gt;
Description =  Registers a GPIO as an interrupt source. The interrupt is triggered according to the configuration in [[#GPIO_INTERRUPT|GPIO_INTERRUPT]].Edge member settings. |&lt;br /&gt;
Return = TRUE - indicates success.&lt;br /&gt;
:FALSE - indicates failure| &lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = *interrupt-  data structure that defines parameters for the interrupt registration |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = * The handle for the interrupt event is stored in [[#GPIO_INTERRUPT|GPIO_INTERRUPT]].Event|&lt;br /&gt;
:* This function must be called before using the [[#GPIO_INTERRUPT|GPIO_INTERRUPT]].Event parameter.&lt;br /&gt;
:* The [[#GPIO_INTERRUPT|GPIO_INTERRUPT]].Event parameter may only be used in a {{Cmd|WaitForSingleObject}} call. A {{Cmd|WaitForMultipleObjects}} call with [[#GPIO_INTERRUPT|GPIO_INTERRUPT]].Event will fail. &lt;br /&gt;
:* If you use GPIO_INTERRUPT.Event in a call to WaitForSingleObject before you call {{Cmd|GPIOInterruptInitialize}}, {{Cmd|GPIOInterruptInitialize}} will fail.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = VOID GPIOInterruptDone(HANDLE hDevice, DWORD num) | &lt;br /&gt;
Description =  Signals to the kernel that GPIO interrupt processing is complete.|  &lt;br /&gt;
Return = |&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = *num - GPIO number.|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = A program calls {{Cmd|GPIOInterruptDone}} when it has completed the interrupt processing and is ready for another interrupt.}}&lt;br /&gt;
&lt;br /&gt;
{{APIEx| HeadLevel = ==== | Signature = BOOL GPIOUnRegisterInterrupt(HANDLE hDevice, DWORD num) | &lt;br /&gt;
Description =  Disables the GPIO hardware interrupt.|  &lt;br /&gt;
Return = TRUE - indicates success.&lt;br /&gt;
:FALSE - indicates failure |&lt;br /&gt;
Param1 = *hDevice - Handle to an open driver instance|&lt;br /&gt;
Param2 = *num - GPIO number.|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = A program calls {{Cmd|GPIOUnRegisterInterrupt}} to disable the hardware interrupt and to unregister the event that was registered by {{Cmd|GPIOInterruptInitialize}}.}}&lt;br /&gt;
[[Category:Windows CE|GPIOs Programming]]&lt;br /&gt;
[[Category:CM-X300|WinCE6.0: GPIOs Programming]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_SPI_Driver_API&amp;diff=922</id>
		<title>CM-X300: WinCE: SPI Driver API</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_SPI_Driver_API&amp;diff=922"/>
		<updated>2010-03-15T07:18:04Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction = &lt;br /&gt;
This sample application demonstrates the SPI communication between CM-X300 and Maxim Semiconductor DS1722 thermometer. The DS1722 manual is available at: [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2766/t/al DS1722 manual].&lt;br /&gt;
&lt;br /&gt;
The Windows CE demo image includes the SPI driver, which allows direct access to SSP3 functionality. &lt;br /&gt;
= SPI Sample =&lt;br /&gt;
== Connecting the device to CM-X300 ==&lt;br /&gt;
* The SPI device can be connected to the SSP3 port available on connector P6 on SB-X300. The following table describes the connector pin-out:&lt;br /&gt;
{|cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|  '''Signal Name'''  || '''Pin Number'''&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_TXD || 5&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_RXD || 7&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_CLK || 3&lt;br /&gt;
|-&lt;br /&gt;
| SSP3_SFRM || 1&lt;br /&gt;
|}&lt;br /&gt;
* Connect pin 6 (SERMODE) of DS1722 to VDD.&lt;br /&gt;
* Connect all remaining DS1722 pins to VDD and GND according to the device datasheet. &lt;br /&gt;
&lt;br /&gt;
== SPI Sample ==&lt;br /&gt;
&lt;br /&gt;
The SPI Sample performs the following actions:&lt;br /&gt;
* Configure the SPI clock frequency (5KHz) and SFRM signal polarity.&lt;br /&gt;
* Read the temperature measurement.&lt;br /&gt;
* Write to the DS1722 configuration register.&lt;br /&gt;
* Read back from the configuration register.&lt;br /&gt;
&lt;br /&gt;
= SPI Driver =&lt;br /&gt;
== Overview ==&lt;br /&gt;
The CM-X300 SPI driver is a stream driver that may be accessed using the &amp;quot;SPI&amp;quot; prefix.&lt;br /&gt;
&lt;br /&gt;
== SPI Driver API ==&lt;br /&gt;
=== Data Types ===&lt;br /&gt;
{{Struct | HeadLevel = ==== | Structname = SPI_SLAVE_CONFIG |&lt;br /&gt;
Description = Device configuration structure|&lt;br /&gt;
Field1 = DWORD	dwDataSize |&lt;br /&gt;
Fieldexp1 = Size of each data frame in bits, allowed values: [4,32] |&lt;br /&gt;
Field2 = DWORD	dwClockRate|&lt;br /&gt;
Fieldexp2 = Frequency in KHz. Allowed values: [4,13*1024] |&lt;br /&gt;
Field3 = [[#POLARITY|POLARITY]]	ClockPol|&lt;br /&gt;
Fieldexp3 = Clock polarity |&lt;br /&gt;
Field4 = [[#POLARITY|POLARITY]]	ChipSelectPol |&lt;br /&gt;
Fieldexp4 = SFRM polarity |&lt;br /&gt;
Field5 = BOOL	bTxTristate |&lt;br /&gt;
Fieldexp5 = Tristate TX line when SFRM is de-asserted |&lt;br /&gt;
Field6 = BOOL	ClkPhaseHalfCycle|&lt;br /&gt;
Fieldexp6 = TRUE - CLK remains in its inactive/idle state until one-half clock cycle after the SFRM signal is asserted at the beginning of a frame.&amp;lt;br&amp;gt;&lt;br /&gt;
FALSE - CLK remains in its inactive/idle state until one full clock cycle after the SFRM signal is asserted at the beginning of a frame.&amp;lt;br&amp;gt;&lt;br /&gt;
Meaningless when bCSExternal = TRUE |&lt;br /&gt;
Field7 = BOOL	bCSExternal|&lt;br /&gt;
Fieldexp7 = SFRM is a GPIO |&lt;br /&gt;
Field8 = DWORD	dwGpioNum|&lt;br /&gt;
Fieldexp8 = GPIO number for SFRM |&lt;br /&gt;
Remarks = bCSExternal is not supported in CM-X300|&lt;br /&gt;
}}&lt;br /&gt;
{{Struct | HeadLevel = ==== | Structname = SPITRANS|&lt;br /&gt;
Description = Transaction data|&lt;br /&gt;
Field1 = DWORD mTransactions |&lt;br /&gt;
Fieldexp1 = Number of data frames in the transaction|&lt;br /&gt;
Field2 = DWORD *mWriteBuffer |&lt;br /&gt;
Fieldexp2 = Data to be written to the port|&lt;br /&gt;
Field3 = DWORD *mReadBuffer |&lt;br /&gt;
Fieldexp3 = Data that was read from the port|&lt;br /&gt;
Field4 = | Field5 = | Field6 = | Field7 = | Field8 = |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
{{Enum| HeadLevel = ==== | Enumname = POLARITY |&lt;br /&gt;
Description = Signals polarity enumeration|  &lt;br /&gt;
Field1 = LOW_INACTIVE |&lt;br /&gt;
Field2 = HIGH_INACTIVE |&lt;br /&gt;
Field3 = |&lt;br /&gt;
Field4 = |&lt;br /&gt;
Remarks = |&lt;br /&gt;
}}&lt;br /&gt;
=== Functions ===&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = HANDLE SPIUserOpen() | &lt;br /&gt;
Description = Opens an instance of the SPI Bus Driver.  |  &lt;br /&gt;
Return =  Returns a handle that should be used to access the driver. Nonzero indicates success. |&lt;br /&gt;
Param1 = |&lt;br /&gt;
Param2 = |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = VOID SPIUserClose (HANDLE hDevice) | &lt;br /&gt;
Description = Closes the driver handle |  &lt;br /&gt;
Return = |&lt;br /&gt;
Param1 = *hDevice - Handle to an open SPI bus instance|&lt;br /&gt;
Param2 = |&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = }}&lt;br /&gt;
&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = BOOL SPIUserSetConfiguration(HANDLE hDevice, [[#SPI_SLAVE_CONFIG|SPI_SLAVE_CONFIG]]* Settings) | &lt;br /&gt;
Description = Registers the configuration of the device.|  &lt;br /&gt;
Return = TRUE - indicates success.|&lt;br /&gt;
Param1 = *hDevice - Handle to an open SPI bus instance|&lt;br /&gt;
Param2 = *Settings - The SPI device configuration|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = The device specific configuration is passed to the SPI controller immediately before the transaction starts. The driver keeps the configuration between calls to this function or until the SPI bus handle is closed}}&lt;br /&gt;
&lt;br /&gt;
{{APIEx | HeadLevel = ==== | Signature = BOOL SPIUserTransact (HANDLE hDevice, [[#SPITRANS|SPITRANS]]* pTrans) | &lt;br /&gt;
Description = Submits SPI data transaction to the target device |  &lt;br /&gt;
Return = TRUE - indicates success.|&lt;br /&gt;
Param1 = *hDevice - Handle to an open SPI bus instance|&lt;br /&gt;
Param2 = *pTrans - pointer to data structures containing data buffers for the transaction&lt;br /&gt;
|&lt;br /&gt;
Param3 = |&lt;br /&gt;
Param4 = |&lt;br /&gt;
Remarks = The SPI transaction data buffers must be allocated and released by the user&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|SPI Sample ]]&lt;br /&gt;
[[Category:CM-X300|WinCE: SPI Sample ]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:APIEx&amp;diff=927</id>
		<title>Template:APIEx</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:APIEx&amp;diff=927"/>
		<updated>2010-03-11T14:43:54Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
{{{HeadLevel}}} &amp;lt;span style=&amp;quot;border-bottom: 1px solid; border-top: 1px solid; color: #0000FF;&amp;quot;&amp;gt; {{{Signature}}}&amp;lt;/span&amp;gt; {{{HeadLevel}}}&lt;br /&gt;
{{{Description}}}&lt;br /&gt;
{{#if: {{{Param1}}} | &lt;br /&gt;
={{{HeadLevel}}} Parameters {{{HeadLevel}}}=&lt;br /&gt;
:{{{Param1}}}&lt;br /&gt;
:{{{Param2}}}&lt;br /&gt;
:{{{Param3}}}&lt;br /&gt;
:{{{Param4}}} |&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Return}}} | &lt;br /&gt;
={{{HeadLevel}}} Return Values {{{HeadLevel}}}=&lt;br /&gt;
:{{{Return}}}|&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Remarks}}} | &lt;br /&gt;
={{{HeadLevel}}} Remarks {{{HeadLevel}}}=&lt;br /&gt;
:{{{Remarks}}} |&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:!!&amp;diff=954</id>
		<title>Template:!!</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:!!&amp;diff=954"/>
		<updated>2010-03-11T12:14:27Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: ||&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;||&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:Enum&amp;diff=928</id>
		<title>Template:Enum</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:Enum&amp;diff=928"/>
		<updated>2010-03-11T08:33:30Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
{{{HeadLevel}}} &amp;lt;span style=&amp;quot;color: #0000FF;&amp;quot;&amp;gt; {{{Enumname}}}&amp;lt;/span&amp;gt; {{{HeadLevel}}}&lt;br /&gt;
{{#if: {{{Description}}} |&lt;br /&gt;
{{{Description}}} |&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Field1}}} | &lt;br /&gt;
={{{HeadLevel}}} Values{{{HeadLevel}}}=&lt;br /&gt;
:{{{Field1}}}&lt;br /&gt;
:{{{Field2}}}&lt;br /&gt;
:{{{Field3}}}&lt;br /&gt;
:{{{Field4}}} |&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Remarks}}} | &lt;br /&gt;
={{{HeadLevel}}} Remarks {{{HeadLevel}}}=&lt;br /&gt;
:{{{Remarks}}} |&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Getting_Started&amp;diff=917</id>
		<title>CM-X300: WinCE: Getting Started</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Getting_Started&amp;diff=917"/>
		<updated>2010-03-08T10:00:35Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Preparation steps ==&lt;br /&gt;
{{Note|Windows CE may be installed on CM-X300 using either a USB flash drive or a network connection. USB flash drive installation is the preferred method}}&lt;br /&gt;
* Obtain a PC workstation with a serial communication port.&lt;br /&gt;
* For networked installation, install a TFTP server on the host PC. For Windows machines we recommend using [http://tftpd32.jounin.net/ TFTPD32].&lt;br /&gt;
* Download the [http://compulab.co.il/x300/download/release/x300-wince6-img.zip Windows CE Demo package for CM-X300] from CompuLab website. Unzip the package to a directory on the host PC.&lt;br /&gt;
* All image files mentioned below can be found in the {{filename|ImageFiles}} folder.&lt;br /&gt;
* Copy the contents of folder corresponding to the CM-X300 hardware configuration to a USB flash drive or to the folder exported by the TFTP server.&lt;br /&gt;
** CPU stepping is identified according to the CM-X300 part number:&lt;br /&gt;
*:- C624 corresponds to PXA300&lt;br /&gt;
*:- C624'''M''' corresponds to PXA310&lt;br /&gt;
&lt;br /&gt;
== Image installation ==&lt;br /&gt;
{{Warning|Do not reset or power off the CM-X300 during the installation process! Doing so may result in a disabled module! }}&lt;br /&gt;
* Connect the host PC to the CM-X300 via the serial cable supplied with the evaluation kit.&lt;br /&gt;
* Start a terminal emulation software on the host PC. Refer to [[CM-X300:_WinCE:_Setting_Up_a_Console|Setting up a console]] for settings.&lt;br /&gt;
* Turn on the CM-X300 system. The U-Boot (initial boot-loader) will start with a command prompt. &lt;br /&gt;
*: {{Note|If the boot settings of the CM-X300 are different from default, press and hold ^C while turning on the CM-X300 in order to get command prompt.}}&lt;br /&gt;
&lt;br /&gt;
=== Installation with a USB flash drive ===&lt;br /&gt;
* Ensure that the files {{filename|wince_updater.nb0}}, {{filename|update.img}}, {{filename|nk.bin}}, {{filename|eboot.nb0}} and, optionally, {{filename|script.xml}} are present in the root directory of the USB flash drive. &lt;br /&gt;
* Connect the USB flash drive to USB2 (host/slave) port of the CM-X300 platform.&lt;br /&gt;
* Use the following U-Boot command to boot the Windows CE installer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; run ce_setup&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* Continue to [[CM-X300:_WinCE:_Getting_Started#Burning_the_image_to_NAND|Burning the image to NAND]] section&lt;br /&gt;
&lt;br /&gt;
=== Installation with TFTP ===&lt;br /&gt;
* Connect CM-X300 Ethernet port to the local Ethernet network&lt;br /&gt;
* Ensure that the files {{filename|wince_updater.nb0}}, {{filename|update.img}}, {{filename|nk.bin}}, {{filename|eboot.nb0}} and, optionally, {{filename|script.xml}} are accessible by the TFTP server. &lt;br /&gt;
:- TFTPD32 users: copy the files mentioned above to a folder and point the TFTP server to that folder.&lt;br /&gt;
* Use U-Boot {{cmd|dhcp}} command to obtain an IP address or manually set the {{parameter|ipaddr}} environment variable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv ipaddr &amp;lt;CM-X300 ip address&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the {{parameter|serverip}} environment variable and save the new environment to NAND flash:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv serverip &amp;lt;host ip address&amp;gt;&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Use the following U-Boot command to boot the Windows CE installer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; tftp 80400000 update.img &amp;amp;&amp;amp; autoscr 80400000&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* Continue to [[CM-X300:_WinCE:_Getting_Started#Burning_the_image_to_NAND|Burning the image to NAND]] section&lt;br /&gt;
&lt;br /&gt;
=== Burning the image to NAND ===&lt;br /&gt;
* {{cmd|CM-X300 Updater}} application will be started automatically after Windows CE installer boot is complete. The following screen will be displayed:&lt;br /&gt;
*:- [[Image:X300-Updater-start-screen.jpg]]&lt;br /&gt;
* The CM-X300 Updater will point to the {{filename|\Hard Disk\NK.bin}} file, located on a USB flash disk.&lt;br /&gt;
* Uncheck the {{cmd|Quick Format}} check box to request a full low-level format of the CM-X300 NAND Flash.&lt;br /&gt;
*:- A full low level format of the NAND Flash takes several minutes&lt;br /&gt;
* Press the {{cmd|Start}} button&lt;br /&gt;
* The update process takes several minutes.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:X300-updater-Formatting.jpg]]&lt;br /&gt;
|[[Image:CM-X300 Updating.jpg]]&lt;br /&gt;
|}&lt;br /&gt;
* After the update is completed, the CM-X300 Updater will display the following notification.&lt;br /&gt;
*:- [[Image:X300-Updater-finished.jpg]]&lt;br /&gt;
* Press {{cmd|OK}}.&lt;br /&gt;
&lt;br /&gt;
== Post Installation ==&lt;br /&gt;
&lt;br /&gt;
* Windows CE boots automatically when the CM-X300 is power cycled or reset.&lt;br /&gt;
* The following screen appears when the CM-X300 is up and running:&lt;br /&gt;
*:- [[Image:CM-X300-Home-Screen.jpg]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CM-X300: WinCE: Configuring Eboot|Configuring Eboot]]&lt;br /&gt;
* [[WinCE: Application Development|Windows CE Application Development for CM-X300 modules]]&lt;br /&gt;
* [[CM-X300: WinCE: Demo Image]]&lt;br /&gt;
* [[WinCE: OSDesign Development | Windows CE OSDesign Development]]&lt;br /&gt;
* [[U-Boot for CM-X300]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Getting Started]]&lt;br /&gt;
[[Category:CM-X300|Getting Started]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300_WinCE&amp;diff=925</id>
		<title>CM-X300 WinCE</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300_WinCE&amp;diff=925"/>
		<updated>2010-03-08T10:00:15Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information related to the Windows Embedded CE demo package for the CM-X300&lt;br /&gt;
&lt;br /&gt;
The Windows CE package by Compulab supports a ready to run demo image, an SDK that enables application development, and a BSP that allows you to customize the run-time image &lt;br /&gt;
|X300-cm-top-m.jpg|thumb}}&lt;br /&gt;
{{Resources_Windows&lt;br /&gt;
|* [[CM-X300: WinCE: Getting Started|Getting started]]&lt;br /&gt;
* [[CM-X300: WinCE: Demo Image|Using the Demo Image]]&lt;br /&gt;
* [[CM-X300: WinCE: Configuring Eboot|Configuring Eboot]]&lt;br /&gt;
|* [[WinCE: Application Development|Application Development]]&lt;br /&gt;
* [[WinCE: Platform Builder Installation | Platform Builder installation]]&lt;br /&gt;
* [[CM-X300: WinCE: OSDesign Configuration|OSDesign Configuration]]&lt;br /&gt;
* [[WinCE: OSDesign Development|OSDesign Creation]]&lt;br /&gt;
|*[[Support]]&lt;br /&gt;
* [[CM-X300: WinCE: Known Issues|Known Issues]]&lt;br /&gt;
}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{ChangelogRss| content=&lt;br /&gt;
===== 22-Nov-2009 =====&lt;br /&gt;
* Fixed GPIO83 wakeup functionality&lt;br /&gt;
* Fixed GPIOExtender interrupt handling bug&lt;br /&gt;
* Fixed MAC Address not loaded from UBoot bug&lt;br /&gt;
* Fixed MPEG4 playback issue&lt;br /&gt;
* Added Eboot configuration through the image updater’s script mode&lt;br /&gt;
* Added a Control Panel Applet to choose USB functionality for PXA310&lt;br /&gt;
* Added a service that simulates user activity on resume to fix hang on resume bug&lt;br /&gt;
* Added automatic detection of revision number (for revision 1.3 and above)&lt;br /&gt;
* Added a “Run Once”-like mechanism on first boot&lt;br /&gt;
* Added a Silverlight Demo Application&lt;br /&gt;
* Generated a new SDK that supports Silverlight for embedded devices&lt;br /&gt;
* This release was built using Windows CE 6.0 R3 and has the following items:&lt;br /&gt;
:- Silverlight for Embedded devices&lt;br /&gt;
:- Adobe Flash Lite ActiveX control for Internet Explorer&lt;br /&gt;
:- Gestures support&lt;br /&gt;
===== 22-Sep-2009 ===== &lt;br /&gt;
* Added Bluetooth functionality support for PXA310&lt;br /&gt;
* Fixed Green LED functionality in Suspend mode&lt;br /&gt;
===== 08-Sep-2009 ===== &lt;br /&gt;
* In this release only changes relevant to PXA310 were made. No changes were made to the PXA300 image.&lt;br /&gt;
* Updated Uboot script to operate properly with PXA310&lt;br /&gt;
* Added USB device support for PXA310&lt;br /&gt;
* Added Eboot option to clean registry&lt;br /&gt;
* Added Eboot option to choose USB functionality&lt;br /&gt;
* Added an optional application to activate Wi-Fi power save mode&lt;br /&gt;
* Fixed backlight behavior after Suspend&lt;br /&gt;
===== 14-Aug-2009 ===== &lt;br /&gt;
* Corrected static libraries use	&lt;br /&gt;
* Added support for PXA310 (separate image)&lt;br /&gt;
* Added control of Touch sensitivity through the registry&lt;br /&gt;
* Added CAB file for Video Acceleration support&lt;br /&gt;
* Added a C# demo application&lt;br /&gt;
===== 1-Jul-2009 ===== &lt;br /&gt;
* Fixed minor bugs in LCDAdapt utility&lt;br /&gt;
* Fixed device power consumption in Sleep mode&lt;br /&gt;
* Fixed COM C and COM D functionality&lt;br /&gt;
* Fixed audio recording bug&lt;br /&gt;
* Added backlight driver&lt;br /&gt;
* Added SPI driver (for HW rev 1.2 and above)&lt;br /&gt;
* Added catalog item to the updater to support access to computers on a network&lt;br /&gt;
* Added a Battery driver&lt;br /&gt;
* Added GPIO as wakeup source from suspend mode&lt;br /&gt;
* Added preliminary support for QCI (Video Input)&lt;br /&gt;
===== 2-Apr-2009 ===== &lt;br /&gt;
* Added support for the Hynix 128 MB NAND flash&lt;br /&gt;
* Added support for DRAM size detection&lt;br /&gt;
* Fixed the functionality of RTC for HW revision 1.2&lt;br /&gt;
* Fixed the suspend/resume functionality for Wi-Fi&lt;br /&gt;
* Added a FailSafe mechanism to the image updater&lt;br /&gt;
* Added script mode support to the image updater&lt;br /&gt;
* Fixed the loading of the MAC address from U-BOOT&lt;br /&gt;
* Added a CF 3.5 catalog item&lt;br /&gt;
* Added a CAB installer catalog item&lt;br /&gt;
* Added touch screen support to the updater image&lt;br /&gt;
* Changed relocation table handling&lt;br /&gt;
* Added a U-BOOT script to set all environment variables&lt;br /&gt;
* Added an LCD Adaptation utility&lt;br /&gt;
===== 24-Sep-2008 =====&lt;br /&gt;
* Added Touch screen functionality&lt;br /&gt;
* Ethernet controller retrieves configuration from Eboot&lt;br /&gt;
* Added KeyPad support&lt;br /&gt;
* Fixed USB 2.0 Slave Suspend/Resume functionality&lt;br /&gt;
* Added LED functionality&lt;br /&gt;
* Wi-Fi and Bluetooth can be configured through Eboot&lt;br /&gt;
* Fixed Wireless Config applet to indicate devices’ true states&lt;br /&gt;
* Added Keypad configuration applet&lt;br /&gt;
* Fixed audio to play stereo&lt;br /&gt;
* Added relocation table creation to Eboot&lt;br /&gt;
* Added desktop side driver INF for ActiveSync by Marvell&lt;br /&gt;
* Added the following SubProjects:&lt;br /&gt;
:- A2dpMgr &lt;br /&gt;
:- TCPMP&lt;br /&gt;
:- RegEdit&lt;br /&gt;
:- AutoLaunch&lt;br /&gt;
:- TaskManager&lt;br /&gt;
:- LookAndFeel&lt;br /&gt;
:- KeypadAppLaunch&lt;br /&gt;
===== 28-Aug-2009 =====&lt;br /&gt;
* Initial Release of Windows CE package &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE]]&lt;br /&gt;
[[Category:CM-X300]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=File:X300-Updater-start-screen.jpg&amp;diff=885</id>
		<title>File:X300-Updater-start-screen.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=File:X300-Updater-start-screen.jpg&amp;diff=885"/>
		<updated>2010-02-25T15:16:36Z</updated>

		<summary type="html">&lt;p&gt;Shai: uploaded a new version of &amp;quot;Image:X300-Updater-start-screen.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=File:X300-Updater-finished.jpg&amp;diff=884</id>
		<title>File:X300-Updater-finished.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=File:X300-Updater-finished.jpg&amp;diff=884"/>
		<updated>2010-02-25T15:14:54Z</updated>

		<summary type="html">&lt;p&gt;Shai: uploaded a new version of &amp;quot;Image:X300-Updater-finished.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=File:CM-X300_Updating.jpg&amp;diff=883</id>
		<title>File:CM-X300 Updating.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=File:CM-X300_Updating.jpg&amp;diff=883"/>
		<updated>2010-02-25T15:14:23Z</updated>

		<summary type="html">&lt;p&gt;Shai: uploaded a new version of &amp;quot;Image:CM-X300 Updating.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=File:X300-updater-Formatting.jpg&amp;diff=882</id>
		<title>File:X300-updater-Formatting.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=File:X300-updater-Formatting.jpg&amp;diff=882"/>
		<updated>2010-02-25T15:13:29Z</updated>

		<summary type="html">&lt;p&gt;Shai: uploaded a new version of &amp;quot;Image:X300-updater-Formatting.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Known_Issues&amp;diff=920</id>
		<title>CM-X300: WinCE: Known Issues</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X300:_WinCE:_Known_Issues&amp;diff=920"/>
		<updated>2010-02-03T12:08:48Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following list is the known issues for the latest CM-X300 software package:&lt;br /&gt;
{{IssueCategory|Graphics|&lt;br /&gt;
* After using the overlay, there are visible artifacts when redrawing menu items and icons&lt;br /&gt;
* After installing the CAB file with the Codecs it is no longer possible to play MPEG1 movies&lt;br /&gt;
* There is no audio filter for MPEG2. This means that MPEG2 playback is done without audio&lt;br /&gt;
* There is a memory leak problem when using Marvell's codecs. The memory leaks appear when you destroy and recreate the graphs&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{IssueCategory|Wireless|&lt;br /&gt;
* Wifi and Bluetooth need to be both disabled or both enabled&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{IssueCategory|Peripherals|&lt;br /&gt;
* CM-X300 rev 1.3 in conjunction with SB-X300 rev 1.1 does not have SD card detect and card protect&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE|Known Issues]]&lt;br /&gt;
[[Category:CM-X300|Known Issues]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:WindowsCEVer&amp;diff=930</id>
		<title>Template:WindowsCEVer</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:WindowsCEVer&amp;diff=930"/>
		<updated>2010-01-03T08:59:36Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: Windows Embedded CE 6.0 R3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Windows Embedded CE 6.0 R3&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:API&amp;diff=718</id>
		<title>Template:API</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:API&amp;diff=718"/>
		<updated>2009-12-23T11:42:25Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;border-bottom: 1px solid; border-top: 1px solid; color: #0000FF;&amp;quot;&amp;gt; {{{Signature}}}&amp;lt;/span&amp;gt; ===&lt;br /&gt;
{{{Description}}}&lt;br /&gt;
{{#if: {{{Param1}}} | &lt;br /&gt;
==== Parameters ====&lt;br /&gt;
:{{{Param1}}}&lt;br /&gt;
:{{{Param2}}}&lt;br /&gt;
:{{{Param3}}}&lt;br /&gt;
:{{{Param4}}} |&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Return}}} | &lt;br /&gt;
==== Return Values ====&lt;br /&gt;
:{{{Return}}}|&lt;br /&gt;
}}&lt;br /&gt;
{{#if: {{{Remarks}}} | &lt;br /&gt;
==== Remarks ====&lt;br /&gt;
:{{{Remarks}}} |&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:ModuleSummary&amp;diff=821</id>
		<title>Template:ModuleSummary</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:ModuleSummary&amp;diff=821"/>
		<updated>2009-12-23T11:34:35Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;center&amp;quot; style=&amp;quot;border: 1px solid #aaaaaa; margin-top: 20px;&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| colspan=3 align=&amp;quot;center&amp;quot; style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 115%; background-color: #eeeeee;&amp;quot; {{!}} &amp;lt;span style=&amp;quot;color: #eeeeee; background: #eeeeee;&amp;quot;&amp;gt;Place holder so this cell will have volume&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | {{{ModuleDesc}}}&lt;br /&gt;
| rowspan=2 align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-left: 0px solid #aaaaaa;&amp;quot; | {{{ModulePic}}}&lt;br /&gt;
| width=&amp;quot;30%&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top: 0px solid #aaaaaa; font-size: 80%; background: #ffffff&amp;quot; | You can use the Rss Feed link to monitor the News. The link is located in the Toolbox on the left&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-IGLX&amp;diff=717</id>
		<title>Category:CM-IGLX</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-IGLX&amp;diff=717"/>
		<updated>2009-12-15T14:47:46Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CM-iGLX module related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-iGLX_Linux&amp;diff=568</id>
		<title>CM-iGLX Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-iGLX_Linux&amp;diff=568"/>
		<updated>2009-12-15T14:46:31Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernels, packages and software development for CM-iGLX modules.&lt;br /&gt;
* [[Getting started with Linux on CM-iGLX]]&lt;br /&gt;
* [[Gentoo Linux for CM-iGLX]]&lt;br /&gt;
* [[CM-iGLX Video Input Port]]&lt;br /&gt;
|Iglx-cm-top-m.jpg}}&lt;br /&gt;
&lt;br /&gt;
{{changelog|&lt;br /&gt;
* '''3-Nov-2008'''&lt;br /&gt;
: Linux kernel updated to 2.6.24&lt;br /&gt;
: Added support for GeodeLX video input port&lt;br /&gt;
: All Gentoo packages updated to recent versions&lt;br /&gt;
&lt;br /&gt;
* '''8-Jan-2008'''&lt;br /&gt;
: Added wireless support (Ralink RT73 chipset)&lt;br /&gt;
: Added support for custom resolution displays&lt;br /&gt;
: All Gentoo packages updated to recent versions&lt;br /&gt;
&lt;br /&gt;
* '''28-May-2007'''&lt;br /&gt;
: Added drivers for UCB1400 touchscreen controller&lt;br /&gt;
: Changed default audio mixer settings&lt;br /&gt;
: Ethernet interface renaming is removed from udev rules&lt;br /&gt;
: Fixed library paths&lt;br /&gt;
&lt;br /&gt;
* '''01-Apr-2007'''&lt;br /&gt;
: Initial release of Gentoo for CM-iGLX&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:CM-IGLX]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Compulab_Technical_Support&amp;diff=693</id>
		<title>Compulab Technical Support</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Compulab_Technical_Support&amp;diff=693"/>
		<updated>2009-12-15T14:39:29Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compulab provides support for its products through the [http://compulab.co.il/supportdb/ online support system].&lt;br /&gt;
Please refer to the [http://www.compulab.co.il/supportdb-help/ SupportDB help] page for information about the system and its use.&lt;br /&gt;
&lt;br /&gt;
Please use the following template when you open an issue:&lt;br /&gt;
# State the release date you are using&lt;br /&gt;
# Does the problem happen on compulab's eval board?&lt;br /&gt;
# What is the symptom (upload a log file)&lt;br /&gt;
# What are you expecting&lt;br /&gt;
# Steps to reproduce&lt;br /&gt;
# Additional relevant information&lt;br /&gt;
&lt;br /&gt;
Providing all the above information will enable us to provide faster and more accurate support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Issue report example ===&lt;br /&gt;
I am using the Windows CE package for CM-X300 released on 13/4/2014, and downloaded from [http://www.anotherinvalidplace.nul| www.anotherinvalidplace.nul].&amp;lt;br&amp;gt;&lt;br /&gt;
The following happens on Compulab's eval board (CM+SB):&amp;lt;br&amp;gt;&lt;br /&gt;
RTC fails to save the time.&amp;lt;br&amp;gt;&lt;br /&gt;
I expect the date and time to persist when doing a software reboot.&lt;br /&gt;
&amp;lt;br&amp;gt;''To reproduce'':&lt;br /&gt;
* turn the module on&lt;br /&gt;
* Set the time and date&lt;br /&gt;
* Reboot the module using Software reboot&lt;br /&gt;
* Check the time&lt;br /&gt;
''Additional info'': &lt;br /&gt;
* Doing the same experiment with a GPIO reset succeeds.&lt;br /&gt;
* The device is powered by the battery when doing this.&lt;br /&gt;
* Plugging the device to the power supply resolves this.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The log file is attached &amp;lt;br&amp;gt;&lt;br /&gt;
Thanks,&amp;lt;br&amp;gt;&lt;br /&gt;
Someone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows CE]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:Windows_CE&amp;diff=716</id>
		<title>Category:Windows CE</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:Windows_CE&amp;diff=716"/>
		<updated>2009-12-15T14:34:41Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: Windows CE related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Windows CE related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:U-Boot&amp;diff=715</id>
		<title>Category:U-Boot</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:U-Boot&amp;diff=715"/>
		<updated>2009-12-15T14:34:29Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: U-Boot related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;U-Boot related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:SBC-FITPC2&amp;diff=714</id>
		<title>Category:SBC-FITPC2</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:SBC-FITPC2&amp;diff=714"/>
		<updated>2009-12-15T14:34:15Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SBC-FITPC2 related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:EXEDA&amp;diff=713</id>
		<title>Category:EXEDA</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:EXEDA&amp;diff=713"/>
		<updated>2009-12-15T14:33:50Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: Exeda device related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exeda device related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:EM-X270&amp;diff=712</id>
		<title>Category:EM-X270</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:EM-X270&amp;diff=712"/>
		<updated>2009-12-15T14:33:27Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: EM-X270 module related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EM-X270 module related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-X300&amp;diff=711</id>
		<title>Category:CM-X300</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-X300&amp;diff=711"/>
		<updated>2009-12-15T14:33:13Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: CM-X300 module related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CM-X300 module related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-X270&amp;diff=710</id>
		<title>Category:CM-X270</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-X270&amp;diff=710"/>
		<updated>2009-12-15T14:32:57Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: CM-X270 module related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CM-X270 module related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-T35&amp;diff=709</id>
		<title>Category:CM-T35</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-T35&amp;diff=709"/>
		<updated>2009-12-15T14:32:46Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: CM-T35 module related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CM-T35 module related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-IAM&amp;diff=708</id>
		<title>Category:CM-IAM</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Category:CM-IAM&amp;diff=708"/>
		<updated>2009-12-15T14:31:18Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: CM-IAM module related pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CM-IAM module related pages&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-iAM_Linux&amp;diff=618</id>
		<title>CM-iAM Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-iAM_Linux&amp;diff=618"/>
		<updated>2009-12-15T14:27:46Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about the Linux kernel, packages and software development for CM-iAM modules.&lt;br /&gt;
&lt;br /&gt;
CompuLab Linux support for the CM-iAM includes modifications of [[Linux Kernel for CM-iAM|Linux kernel]] and [[Ubuntu Linux for CM-iAM|example file system image]] based on Ubuntu Linux. It is possible to use other Linux distributions and environments.&lt;br /&gt;
&lt;br /&gt;
* [[Getting started with Linux on CM-iAM]]&lt;br /&gt;
* [[Linux Kernel for CM-iAM]]&lt;br /&gt;
* [[Ubuntu Linux for CM-iAM]]&lt;br /&gt;
|cm-iam-top.jpg|thumb}}&lt;br /&gt;
&lt;br /&gt;
{{Changelog|&lt;br /&gt;
* '''29-Oct-2009'''&lt;br /&gt;
: Initial release of Linux for CM-iAM&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:CM-IAM]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=SBC-FITPC2_Linux&amp;diff=611</id>
		<title>SBC-FITPC2 Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=SBC-FITPC2_Linux&amp;diff=611"/>
		<updated>2009-12-15T14:26:45Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernel, packages and software development for SBC-FITPC2 modules.&lt;br /&gt;
&lt;br /&gt;
CompuLab Linux support for SBC-FITPC2 includes modifications of [[Linux Kernel for SBC-FITPC2|Linux kernel]]. It should be possible to use any Linux distribution with SBC-FITPC2, although certain features may require custom kernel configuration.&lt;br /&gt;
&lt;br /&gt;
* [[Linux Kernel for SBC-FITPC2]]&lt;br /&gt;
* [[Ubuntu 8.04 LTS on SBC-FITPC2]]&lt;br /&gt;
|Fitpc2-sb-top-ss.jpg|thumb}}&lt;br /&gt;
&lt;br /&gt;
{{Changelog|&lt;br /&gt;
* '''30-Aug-2009'''&lt;br /&gt;
: Initial release of Linux on SBC-FITPC2 documentation&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:SBC-FITPC2]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Exeda_Android&amp;diff=601</id>
		<title>Exeda Android</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Exeda_Android&amp;diff=601"/>
		<updated>2009-12-15T14:24:24Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Android is a set of software for mobile devices, developed by Open Handset Alliance. The [http://www.compulab.co.il/exeda/download/exeda-android.zip CompuLab Android package for Exeda] includes NAND flash image, Linux kernel configuration and source code patches, and patches and configuration files used to build the Android image.&lt;br /&gt;
&lt;br /&gt;
{{Important|The CompuLab Android package for the Exeda is based on Android 1.0 and it is provided &amp;quot;as-is&amp;quot;, without maintenance or technical support}}&lt;br /&gt;
&lt;br /&gt;
== Package contents ==&lt;br /&gt;
=== images ===&lt;br /&gt;
* {{filename|android.jffs2}} - ready to run image for Exeda NAND flash&lt;br /&gt;
* {{filename|android.tar.bz2}} - archive of root file system used for JFFS2 image creation&lt;br /&gt;
&lt;br /&gt;
=== kernel ===&lt;br /&gt;
* {{filename|kernel-2.6.25-exeda.jffs2}} - JFFS2 image of Linux kernel 2.6.25 with Android and Exeda patches&lt;br /&gt;
* {{filename|linux-2.6.25-exeda.patch}} - cumulative patch vs. [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2 Linux kernel 2.6.25] including modifications and additions made by the Android team as well as support for the Exeda peripherals&lt;br /&gt;
* {{filename|uImage-2.6.25-exeda}} - kernel image that can be used for network boot&lt;br /&gt;
&lt;br /&gt;
=== patches ===&lt;br /&gt;
This directory contains a set of patches required to build Android for the Exeda. The patches were generated vs. &amp;quot;android-1.0&amp;quot; release.&lt;br /&gt;
There is a patch per Android subproject, each patch named by subproject path inside the Android tree with '''/''' replaced by '''_'''.&lt;br /&gt;
For instance the patch for {{filename|packages/apps/Settings}} is named {{filename|packages_apps_Settings.patch}}&lt;br /&gt;
&lt;br /&gt;
The only exception is&lt;br /&gt;
* {{filename|exeda_build.tar.bz2}} - additions to Android build system required to build Android for the Exeda&lt;br /&gt;
&lt;br /&gt;
== Image installation ==&lt;br /&gt;
{{Important|The CompuLab Android package for the Exeda can be installed only on the devices with option &amp;quot;Y&amp;quot; assembled}}&lt;br /&gt;
&lt;br /&gt;
* Follow the steps in [[Linux_Development_for_XScale_modules#Networked_Root_Filesystem|Networked Root Filesystem Guide]]. The root filesystem for the Exeda can be extracted from {{filename|images/android.tar.bz2}}.&lt;br /&gt;
* Disable automatic Android startup for the networked root filesystem:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm /path/to/exeda/root/etc/rc5.d/S99zzzandroid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Make sure to power off the Exeda&lt;br /&gt;
* Connect Exeda Ethernet port to your local Ethernet&lt;br /&gt;
* Connect your host PC to the Exeda via a null modem cable supplied with the Eval Kit.&lt;br /&gt;
* Start terminal emulation software on your PC using the COM port to which the null modem is connected. Set baud rate to 115200 bps, 8 bit per frame, 1 stop bit, no parity, no flow control.&lt;br /&gt;
* Power up the Exeda. U-Boot will start and you will get the command prompt in your terminal program.&lt;br /&gt;
{{Note|If the boot settings of your Exeda are set to load the operating system, you may need to press and hold ^C while turning the Exeda on, in order to get command prompt.}}&lt;br /&gt;
* You can use U-boot {{cmd|dhcp}} command to obtain IP address or manually set {{parameter|ipaddr}} and {{parameter|serverip}} environment variables:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv serverip &amp;lt;host ip address&amp;gt;&lt;br /&gt;
&amp;gt; setenv ipaddr &amp;lt;Exeda ip address&amp;gt;&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Next environment settings are passed to Linux Kernel and are needed for NFS root:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv bootargs &amp;quot;root=/dev/nfs nfsroot=&amp;lt;your host ip&amp;gt;:/path/to/rootfs console=ttyS0,115200 ip=dhcp&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Use the following U-boot command to boot Linux on Eexeda:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; tftp a0100000 uImage &amp;amp;&amp;amp; bootm&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
* After the image is loaded you will get Linux login prompt. Login as {{parameter|root}} with password {{parameter|111111}} into the system.&lt;br /&gt;
* Copy the kernel and Android jffs2 images from the Android package to NFS share, so you can access them from Exeda.&lt;br /&gt;
* Now you can install kernel and filesystem images to the NAND flash from NFS share using standard Linux MTD utilities ({{cmd|flash_eraseall, nandwrite}}).&lt;br /&gt;
* After the installation procces completed successfully, U-Boot on Exeda needs the following environment variables set prior to booting from NAND flash:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; setenv boot_mode &amp;quot;android&amp;quot;&lt;br /&gt;
&amp;gt; setenv nand_mode &amp;quot;on&amp;quot;&lt;br /&gt;
&amp;gt; setenv bootargs &amp;quot;root=/dev/mtdblock1 rootfstype=jffs2 console=ttyS0,115200&amp;quot;&lt;br /&gt;
&amp;gt; setenv bootcmd &amp;quot;fsload &amp;amp;&amp;amp; bootm&amp;quot;&lt;br /&gt;
&amp;gt; saveenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now you can reboot the Exeda and it will boot Android from the internal NAND flash.&lt;br /&gt;
{{Note|First boot takes relatively much time because the system performs a lot of one-time initialization tasks}}&lt;br /&gt;
&lt;br /&gt;
== Building Android for Exeda ==&lt;br /&gt;
=== Linux kernel ===&lt;br /&gt;
* Download Linux kernel source from preferred mirror&lt;br /&gt;
* Unpack it to some directory&lt;br /&gt;
* Apply the Exeda patchset&lt;br /&gt;
* Set environment variables ARCH, and CROSS_COMPILE so that kernel build system cross compile the kernel&lt;br /&gt;
* Build the kernel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /home/development/exeda/kernel&lt;br /&gt;
cd /home/development/exeda/kernel&lt;br /&gt;
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2&lt;br /&gt;
tar xjf linux-2.6.25.tar.bz2&lt;br /&gt;
cd linux-2.6.25&lt;br /&gt;
cat /path/to/exeda-android/kernel/linux-2.6.25-exeda.patch | patch -p1&lt;br /&gt;
export ARCH=arm&lt;br /&gt;
export CROSS_COMPILE=arm-linux-&lt;br /&gt;
make exeda_defconfig&lt;br /&gt;
make menuconfig&lt;br /&gt;
make uImage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example, the Linux kernel image ({{filename|1=uImage}}) will be created in {{filename|1=/home/development/exeda/kernel/linux-2.6.25/arch/arm/boot}}&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* Setup Android working environment as described at [http://source.android.com/download Get Source] page of [http://source.android.com/ Android Open Source Project] website&lt;br /&gt;
* Unpack {{filename|exeda_build.tar.bz2}} to the Android working directory&lt;br /&gt;
* Apply the Exeda patchset&lt;br /&gt;
* Select Exeda platform using {{parameter|choosecombo}} command&lt;br /&gt;
* Build Android&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/mydroid&lt;br /&gt;
tar xjf /path/to/exeda-android/pacthes exeda_build.tar.bz2&lt;br /&gt;
for file in /path/to/exeda-android/pacthes/*patch; do&lt;br /&gt;
    prj=`basename $file .patch | sed -e 's|_|/|g'`&lt;br /&gt;
    cd $prj&lt;br /&gt;
    cat $file | patch -p1&lt;br /&gt;
    cd -&lt;br /&gt;
done&lt;br /&gt;
choosecombo  false release exeda&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Known problems and limitations ==&lt;br /&gt;
* Off-line battery charging is not implemented&lt;br /&gt;
* Resume from suspended state may fail&lt;br /&gt;
* SD card hotplug sometimes fails&lt;br /&gt;
* Wifi connection to secure networks sometimes fails&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://www.android.com/about/ What is Android?]&lt;br /&gt;
* [http://source.android.com/ Android Open Source Project]&lt;br /&gt;
* [http://developer.android.com/ Android Developers]&lt;br /&gt;
* [[Linux Development for XScale modules]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:EXEDA]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Exeda_Linux&amp;diff=600</id>
		<title>Exeda Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Exeda_Linux&amp;diff=600"/>
		<updated>2009-12-15T14:24:01Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernels, packages and software development for Exeda device.&lt;br /&gt;
&lt;br /&gt;
* [[Exeda Android|Android for Exeda]]&lt;br /&gt;
* [[Linux kernel for Exeda]]&lt;br /&gt;
* [[Linux Development for XScale modules]]&lt;br /&gt;
|exeda.jpg}}&lt;br /&gt;
&lt;br /&gt;
{{changelog|&lt;br /&gt;
* '''23-Jun-2009'''&lt;br /&gt;
: Initial release of Linux kernel 2.6.30 for Exeda&lt;br /&gt;
&lt;br /&gt;
* '''8-Jun-2009'''&lt;br /&gt;
: Initial release of Android 1.0 for Exeda&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:EXEDA]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=EM-X270_Linux&amp;diff=567</id>
		<title>EM-X270 Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=EM-X270_Linux&amp;diff=567"/>
		<updated>2009-12-15T14:23:10Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernels, packages and software development for EM-X270 device.&lt;br /&gt;
&lt;br /&gt;
* [[Getting started with Linux on EM-X270]]&lt;br /&gt;
* [[Angstrom Linux for EM-X270]]&lt;br /&gt;
* [[Linux Development for XScale modules]]&lt;br /&gt;
|X270-em-bot-m.jpg}}&lt;br /&gt;
&lt;br /&gt;
{{changelog|&lt;br /&gt;
* '''29-Dec-2008'''&lt;br /&gt;
: Linux kernel updates&lt;br /&gt;
: - Added support for PXA Quick Capture interface&lt;br /&gt;
: - Added support for PXA frame buffer overlay&lt;br /&gt;
: - Fixed battery detection&lt;br /&gt;
: Angstrom Linux package updates&lt;br /&gt;
: - Added camera example application&lt;br /&gt;
: - Added U-Boot environment utility&lt;br /&gt;
: - Updated image generation utilities&lt;br /&gt;
&lt;br /&gt;
* '''4-Nov-2008'''&lt;br /&gt;
: Linux kernel updated to 2.6.26&lt;br /&gt;
: Added support for Wi2Wi W2SW0001 wireless LAN (based on Marvell 8686 chipset)&lt;br /&gt;
&lt;br /&gt;
* '''3-Jan-2008'''&lt;br /&gt;
: Added Wireless LAN driver&lt;br /&gt;
: Added partitions on EM-X270 NOR flash&lt;br /&gt;
: Added support for VGA display&lt;br /&gt;
: Added support for GPRS data calls&lt;br /&gt;
: Fixed updater application to allow proper setup after Windows CE&lt;br /&gt;
: Fixed minor bug in charger driver&lt;br /&gt;
&lt;br /&gt;
* '''14-Nov-2007'''&lt;br /&gt;
: Initial release of Angstrom Linux for EM-X270&lt;br /&gt;
&lt;br /&gt;
* '''9-Oct-2007&lt;br /&gt;
: Basic support for EM-X270 is merged into mainline Linux kernel 2.6.23&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:EM-X270]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-X270_Linux&amp;diff=561</id>
		<title>CM-X270 Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-X270_Linux&amp;diff=561"/>
		<updated>2009-12-15T14:21:52Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernels, packages and software development for CM-X270 modules.&lt;br /&gt;
&lt;br /&gt;
CompuLab Linux support for CM-X270 includes modifications of [[Linux Kernel for CM-X270|Linux kernel]] and [[Debian Linux for CM-X270|example file system image]] based on Debian Linux. It is possible to use other embedded Linux distributions and environments.&lt;br /&gt;
The CM-X270 platform is supported by [http://www.pokylinux.org/ Poky Linux] and [http://www.openembedded.org OpenEmbedded], and &lt;br /&gt;
[http://mojo.handhelds.org/frisky-armv5el Ubuntu Frisky] should work on CM-X270 but has not been tested yet.&lt;br /&gt;
&lt;br /&gt;
* [[Getting started with Linux on CM-X270]]&lt;br /&gt;
* [[Linux Development for XScale modules]]&lt;br /&gt;
* [[Linux Kernel for CM-X270]]&lt;br /&gt;
* [[Debian Linux for CM-X270]]&lt;br /&gt;
* [[Linux MTD drivers on CM-X270]]&lt;br /&gt;
* [[SPI support for CM-X270]]&lt;br /&gt;
|X270-cm-l-top-m.jpg|thumb}}&lt;br /&gt;
&lt;br /&gt;
{{Changelog|&lt;br /&gt;
* '''23-Nov-2008'''&lt;br /&gt;
: Linux kernel 2.6.24 for CM-X270 updates&lt;br /&gt;
: - Added Marvell proprietary driver for wireless LAN chip&lt;br /&gt;
: - Fixed memory leak in libertas_spi&lt;br /&gt;
: - Fixed leds default state&lt;br /&gt;
&lt;br /&gt;
* '''26-Jun-2008'''&lt;br /&gt;
: Released Linux kernel 2.6.24 for CM-X270&lt;br /&gt;
: Updated Debian filesystem image:&lt;br /&gt;
: - Upgrade to Debian Etch&lt;br /&gt;
: - Added udev&lt;br /&gt;
: - Added Bluetooth utilities&lt;br /&gt;
: - Added APM utilities&lt;br /&gt;
&lt;br /&gt;
* '''18-May-2008'''&lt;br /&gt;
: Preliminary release of [[Linux Kernel for CM-X270#Linux kernel 2.6.24|Linux kernel 2.6.24 for CM-X270]] is available ([http://www.compulab.co.il/mediawiki/files/Linux/x270cm/linux-2.6.24-cm-x270.tar.gz source code only]).&lt;br /&gt;
&lt;br /&gt;
* '''24-Jan-2008'''&lt;br /&gt;
: CM-X270 platform support is merged into mainline Linux kernel 2.6.24&lt;br /&gt;
&lt;br /&gt;
* '''26-Dec-2007'''&lt;br /&gt;
: Certain NAND flashes are sensitive to local bus activity. NAND flash driver updated to overcome this limitation.&lt;br /&gt;
&lt;br /&gt;
* '''13-Jun-2007'''&lt;br /&gt;
: Fixed RTC access routines.&lt;br /&gt;
&lt;br /&gt;
* '''6-Feb-2007'''&lt;br /&gt;
: Added pcibios_set_master for ARM platforms with ITE8152 bridge. This allows proper setting of latency timer for PCI bus masters behind the bridge.&lt;br /&gt;
&lt;br /&gt;
* '''5-Feb-2007'''&lt;br /&gt;
: Make default Debian file system image 512 Mbytes&lt;br /&gt;
&lt;br /&gt;
* '''12-Oct-06'''&lt;br /&gt;
: Added ability to specify wireless access point MAC address&lt;br /&gt;
: Added MMC support&lt;br /&gt;
: Serial tty assignment made compatible for CM-X270L and CM-X270W. From now, ttySA0 is default console on both CM-X270L and CM-X270W.&lt;br /&gt;
: Fixed wireless LAN driver bug that caused incorrect transmission power setting&lt;br /&gt;
&lt;br /&gt;
* '''15-Aug-06'''&lt;br /&gt;
: Added BGW200 Wireless LAN support for CM-X270L&lt;br /&gt;
&lt;br /&gt;
* '''15-May-06'''&lt;br /&gt;
: Initial release of Linux 2.6.16:&lt;br /&gt;
: - Power management support&lt;br /&gt;
: - Added CardBus support&lt;br /&gt;
: - Added 2700G frame buffer device driver&lt;br /&gt;
: - Audio support upgraded to work with ALSA, added recording support&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:CM-X270]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=U-Boot_for_Exeda&amp;diff=605</id>
		<title>U-Boot for Exeda</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=U-Boot_for_Exeda&amp;diff=605"/>
		<updated>2009-12-15T14:18:47Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The Exeda uses the U-Boot boot-loader for low-level initialization and operating system loading. &lt;br /&gt;
U-Boot is an open source boot-loader available for a wide range of embedded processor architectures.&lt;br /&gt;
This page summarizes settings and features unique to the Exeda port of U-Boot. Comprehensive documentation of the U-Boot project may be found at http://www.denx.de/wiki/view/DULG/UBoot.&lt;br /&gt;
The CompuLab U-Boot version for the Exeda is checked out from '''U-Boot-1_2_0''' of [http://git.denx.de/?p=u-boot.git;a=summary Das U-Boot repository] and can be obtained from [http://www.compulab.co.il/exeda/html/exeda-developer.py CompuLab website] in binary form.&lt;br /&gt;
CompuLab U-Boot source will be provided on request.&lt;br /&gt;
&lt;br /&gt;
== Exeda specific U-Boot commands ==&lt;br /&gt;
A brief U-Boot command reference can be found [[U-Boot quick reference|here]].&lt;br /&gt;
The following commands are specific to the Exeda port of U-Boot:&lt;br /&gt;
&lt;br /&gt;
* CPU frequency scaling &lt;br /&gt;
*: {{cmd|cpufreq}}  with no arguments - display the current frequency setting&lt;br /&gt;
*: {{cmd|cpufreq &amp;lt;frequency&amp;gt;}} - set CPU frequency; (allowed frequency values : 104/208/312/520)&lt;br /&gt;
* Hardware configuration information *&lt;br /&gt;
*: {{cmd|hwinfo}} -  print device hardware configuration information&lt;br /&gt;
&lt;br /&gt;
== Default Environment ==&lt;br /&gt;
&lt;br /&gt;
U-Boot features an extensive default environment, for boot sequence control and hardware configuration.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Default setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| bootcmd&lt;br /&gt;
|&lt;br /&gt;
| This variable defines a command string that is automatically executed when the initial countdown is not interrupted.&lt;br /&gt;
|-&lt;br /&gt;
| bootdelay&lt;br /&gt;
| 3 sec&lt;br /&gt;
| Delay before automatic boot starts&lt;br /&gt;
|-&lt;br /&gt;
| boot_mode&lt;br /&gt;
| uboot&lt;br /&gt;
| Boot option setting. See [[#section 5]] for details.&lt;br /&gt;
|-&lt;br /&gt;
| bootargs&lt;br /&gt;
|&lt;br /&gt;
| The contents of this variable are passed to the Linux kernel as boot arguments&lt;br /&gt;
|-&lt;br /&gt;
| stdin&lt;br /&gt;
| serial&lt;br /&gt;
| Standard input stream&lt;br /&gt;
|-&lt;br /&gt;
| stdout&lt;br /&gt;
| serial&lt;br /&gt;
| Standard output stream&lt;br /&gt;
|-&lt;br /&gt;
| stderr&lt;br /&gt;
| serial&lt;br /&gt;
| Standard error stream&lt;br /&gt;
|-&lt;br /&gt;
| baudrate&lt;br /&gt;
| 115200&lt;br /&gt;
| Serial port baud rate&lt;br /&gt;
|-&lt;br /&gt;
| ethaddr&lt;br /&gt;
| set at production time&lt;br /&gt;
| Ethernet MAC address for the extender board ethernet interface&lt;br /&gt;
|-&lt;br /&gt;
| ipaddr&lt;br /&gt;
| -&lt;br /&gt;
| IP address; needed for tftp command&lt;br /&gt;
|-&lt;br /&gt;
| serverip&lt;br /&gt;
| -&lt;br /&gt;
| Server address; needed for tftp command&lt;br /&gt;
|-&lt;br /&gt;
| autoload&lt;br /&gt;
| no&lt;br /&gt;
| Determines whether the &amp;quot;dhcp&amp;quot;, &amp;quot;bootp&amp;quot; and &amp;quot;rarpb&amp;quot; commands will automatically download an image.&lt;br /&gt;
|-&lt;br /&gt;
| splashimage&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| Address of a bitmap image used as splash-screen.&lt;br /&gt;
|-&lt;br /&gt;
| usb_mode&lt;br /&gt;
| slave&lt;br /&gt;
| USB port operation mode. The only values allowed are: &amp;quot;slave&amp;quot; or &amp;quot;host&amp;quot;. Must be set before &amp;quot;usb start&amp;quot; command is issued.&lt;br /&gt;
|-&lt;br /&gt;
| extpwr_mode&lt;br /&gt;
| on&lt;br /&gt;
| Determines whether the external power enable (GPIO&amp;lt;97&amp;gt;) is asserted.&lt;br /&gt;
|-&lt;br /&gt;
| cpu_freq&lt;br /&gt;
| maximum supported by CPU&lt;br /&gt;
| CPU frequency. Used by &amp;quot;cpufreq&amp;quot; command to store the frequency setting.&lt;br /&gt;
|-&lt;br /&gt;
| mem_zero&lt;br /&gt;
| on&lt;br /&gt;
| Determines whether memory zeroing is performed. Allowed values: &amp;quot;on&amp;quot;, &amp;quot;off&amp;quot;.&lt;br /&gt;
Set to &amp;quot;off&amp;quot; for shorter boot time.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boot Sequence Options ==&lt;br /&gt;
&lt;br /&gt;
=== Boot Options ===&lt;br /&gt;
The U-Boot boot-loader supports several basic boot options.&lt;br /&gt;
The environment variable &amp;quot;boot_mode&amp;quot; determines which boot sequence is executed.&lt;br /&gt;
The variable may be set to the following values:&lt;br /&gt;
&lt;br /&gt;
* {{parameter|uboot}} - the Exeda boots up to the U-boot command prompt.&lt;br /&gt;
* {{parameter|linux}} - the default Linux boot from NAND sequence is executed. Please see Linux documentation for details.&lt;br /&gt;
* {{parameter|wince}} - the default WinCE boot from NAND sequence is executed. Please see WinCE documentation for details.&lt;br /&gt;
* {{parameter|any other value}} - the command stored in the {{parameter|bootcmd}} variable is executed.&lt;br /&gt;
&lt;br /&gt;
=== Bringing to Default State ===&lt;br /&gt;
Pressing and holding {{parameter|Ctrl D}} during the boot process will restore the U-Boot settings to the default factory values. Use this if the environment has been corrupted.&lt;br /&gt;
&lt;br /&gt;
=== O/S Update Boot Sequence ===&lt;br /&gt;
Pressing the {{parameter|ON/OFF}} button for more than four seconds during the boot process will put the system into the O/S update boot sequence. The boot-loader will attempt to detect an external storage device (USB or MMC) and search for updated image files. If no files are detected, the system will boot up to the U-Boot command prompt. This boot mode allows easy and fast software updates without connecting a PC host.&lt;br /&gt;
Please refer to O/S manuals for specific update procedures.&lt;br /&gt;
&lt;br /&gt;
=== NAND Flash System ===&lt;br /&gt;
The Exeda port of U-Boot supports the MTD flash driver that is used with the Linux O/S.&lt;br /&gt;
U-Boot will load the appropriate driver according to the {{parameter|boot_mode}} environment variable. Additionally, the {{parameter|nand_mode}} environment variable may be used to set the NAND driver mode explicitly. Setting {{parameter|nand_mode}} to {{parameter|on}} will cause U-Boot to load the MTD driver. If {{parameter|nand_mode}} is set to {{parameter|off}} the MTD driver will not be loaded. See WinCE documentation for further details.&lt;br /&gt;
&lt;br /&gt;
== Updating U-Boot ==&lt;br /&gt;
&lt;br /&gt;
{{Warning| Do not interrupt the process or shut down the system during update. Doing so can result in a disabled Exeda device that will need to be shipped to CompuLab for reprogramming}}&lt;br /&gt;
&lt;br /&gt;
=== Update through serial port (preferred method) ===&lt;br /&gt;
&lt;br /&gt;
* Start terminal emulation program on your PC using the serial port to which the supplied serial cable is connected. Set baud rate to 115200 bps, 8 bit per frame, 1 stop bit, no parity, no flow control.&lt;br /&gt;
* Turn on the Exeda. U-Boot will start and you will get a command prompt.&lt;br /&gt;
* Use the {{cmd|loadb}} command to start image download&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; loadb a0010000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* In a terminal emulation program, send the U-Boot image file using kermit mode. For example, in HyperTerminal, use {{cmd|&amp;quot;Transfer &amp;gt;&amp;gt; Send File&amp;quot;}}. A {{parameter|&amp;quot;Send File&amp;quot;}} dialog will appear. In the protocol combo box, choose Kermit. Fill in the U-Boot image filename and press the {{parameter|&amp;quot;Send&amp;quot;}} button.&lt;br /&gt;
*: [[Image:Hyperterm_kermit_send.png]]&lt;br /&gt;
* Use the following commands to store the downloaded image into the Exeda NOR flash:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; protect off 0 +50000&lt;br /&gt;
U-Boot&amp;gt; erase 0 +50000&lt;br /&gt;
U-Boot&amp;gt; cp.b a0010000 0 50000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reboot the Exeda.&lt;br /&gt;
&lt;br /&gt;
=== Update through USB and Disk-on-Key ===&lt;br /&gt;
A USB flash drive is needed for this procedure.&lt;br /&gt;
* On the host PC, copy the {{filename|u-boot-x.x.x.bin}} file to the USB flash drive. Rename the file {{filename|u-boot.bin}}.&lt;br /&gt;
* Connect the USB flash drive to the Exeda OTG USB port using the supplied &amp;quot;USB-A receptacle to Mini-USB A male&amp;quot; cable.&lt;br /&gt;
* Start a terminal emulation program on your PC using the serial port to which the supplied serial cable is connected. Set baud rate to 115200 bps, 8 bit per frame, 1 stop bit, no parity, no flow control.&lt;br /&gt;
* Turn on the Exeda. U-Boot will start and you will get a command prompt.&lt;br /&gt;
* Enable the U-Boot USB host subsystem:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; setenv usb_mode host&lt;br /&gt;
U-Boot&amp;gt; usb start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* After U-Boot has detected the USB storage device copy U-Boot image to the Exeda RAM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; fatload usb 0 a0010000 u-boot.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Use the following commands to store the U-Boot image into the Exeda NOR flash: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; protect off 0 +50000&lt;br /&gt;
U-Boot&amp;gt; erase 0 +50000&lt;br /&gt;
U-Boot&amp;gt; cp.b a0010000 0 50000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reboot the Exeda.&lt;br /&gt;
&lt;br /&gt;
=== Update through LAN / TFTP ===&lt;br /&gt;
The Ethernet extender board (&amp;quot;Y&amp;quot; option) is needed for this procedure.&lt;br /&gt;
* Install TFTP service (or server) on the host PC. The TFTP server tested by Compulab is TFTPD32, http://tftpd32.jounin.net, it is also included in the Linux and WinCE distribution packages.&lt;br /&gt;
* Rename the {{filename|u-boot-x.x.x.bin}} file to {{filename|u-boot.bin}} and copy it to the TFTP directory.&lt;br /&gt;
* Start a terminal emulation program on your PC using the serial port to which the supplied serial cable is connected. Set baud rate to 115200 bps, 8 bit per frame, 1 stop bit, no parity, no flow control.&lt;br /&gt;
* Turn on the Exeda. U-Boot will start and you will get a command prompt.&lt;br /&gt;
* Type {{cmd|printenv}} in order to check the current IP settings. Modify them if needed using the {{cmd|setenv ipaddr}} and {{cmd|setenv serverip}} commands. Or, use U-Boot's DHCP capability to automatically set the IP address.&lt;br /&gt;
* Download U-Boot image to the Exeda RAM:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; tftp a0010000 u-boot.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Use the following commands to store the downloaded image into the Exeda NOR flash: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-Boot&amp;gt; protect off 0 +50000&lt;br /&gt;
U-Boot&amp;gt; erase 0 +50000&lt;br /&gt;
U-Boot&amp;gt; cp.b a0010000 0 50000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reboot the Exeda.&lt;br /&gt;
&lt;br /&gt;
== Memory Map ==&lt;br /&gt;
=== NOR Flash ===&lt;br /&gt;
&lt;br /&gt;
{{Important|The NOR flash memory is used to store the U-Boot image, the U-Boot environment and Exeda setup data for wireless interfaces. Corruption of this data can result in a disabled Exeda device that will need to be shipped to CompuLab for reprogramming.}}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Memory Address range&lt;br /&gt;
! Block Range&lt;br /&gt;
! Size&lt;br /&gt;
! Usage&lt;br /&gt;
|-&lt;br /&gt;
| 0x00000000 - 0x0004FFFF&lt;br /&gt;
| 1 - 5&lt;br /&gt;
| 320KB&lt;br /&gt;
| U-Boot bootloader&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050000 - 0x0005FFFF&lt;br /&gt;
| 6&lt;br /&gt;
| 64KB&lt;br /&gt;
| U-Boot environment&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060000 - 0x0006FFFF&lt;br /&gt;
| 7&lt;br /&gt;
| 64KB&lt;br /&gt;
| Setup block&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000 - 0x000AFFFF&lt;br /&gt;
| 8 - 11&lt;br /&gt;
| 256KB&lt;br /&gt;
| Utilities and applications&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000 - 0x000FFFFF&lt;br /&gt;
| 12 - 16&lt;br /&gt;
| 320KB&lt;br /&gt;
| Splash-screen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SDRAM Memory ===&lt;br /&gt;
&lt;br /&gt;
SDRAM map: SDRAM starts at 0xA0000000; maximum is 0xA8000000 (128MB).&lt;br /&gt;
&lt;br /&gt;
U-Boot system:				0xA7800000 ...... SDRAM top&lt;br /&gt;
&lt;br /&gt;
U-Boot operates with a virtual memory subsystem turned on, using one-to-one virtual to physical address mapping.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[U-Boot quick reference]]&lt;br /&gt;
* [[U-Boot images]]&lt;br /&gt;
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;br /&gt;
* [[Exeda Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:U-Boot]]&lt;br /&gt;
[[Category:EXEDA]]&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:IssueCategory&amp;diff=706</id>
		<title>Template:IssueCategory</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:IssueCategory&amp;diff=706"/>
		<updated>2009-12-15T13:12:46Z</updated>

		<summary type="html">&lt;p&gt;Shai: New page: {{{!}} style=&amp;quot;border: 1px solid #aaaaaa; margin-top: 20px;&amp;quot; width=&amp;quot;100% }}&amp;quot;  {{!}} style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 105%; background-color: #eeeeee;&amp;quot; ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{!}} style=&amp;quot;border: 1px solid #aaaaaa; margin-top: 20px;&amp;quot; width=&amp;quot;100% }}&amp;quot; &lt;br /&gt;
{{!}} style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 105%; background-color: #eeeeee;&amp;quot; {{!}} '''{{{1}}}'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} style=&amp;quot;padding-top: 10px&amp;quot; {{!}} {{{2}}}&lt;br /&gt;
{{!}}}&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Template:Resources_Windows&amp;diff=702</id>
		<title>Template:Resources Windows</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Template:Resources_Windows&amp;diff=702"/>
		<updated>2009-12-14T15:57:35Z</updated>

		<summary type="html">&lt;p&gt;Shai: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Resources&lt;br /&gt;
|&lt;br /&gt;
[[Image:Installation Icon.png|80x80px|left]]&lt;br /&gt;
|{{{1}}}&lt;br /&gt;
|[[Image:Development Icon.png|80x80px|left]]&lt;br /&gt;
|{{{2}}}&lt;br /&gt;
|[[Image:Support Icon.png|80x80px|left]]&lt;br /&gt;
|{{{3}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Shai</name></author>
		
	</entry>
</feed>