Wednesday, November 5, 2008

Windows Embedded Download Center


Windows Embedded

This is a center from where you can download all stuff related to Windows Embedded. This place useful for new to windows embedded, professionals , commercial development. 

You can download Trial version embedded CE, XP Embedded, standard embedded, Navready, latest updates,  and also can apply for trial product key.

You need a Microsoft live ID to download any of these.


Downloads : 


Source : http://www.microsoft.com/windowsembedded/en-us/downloads/default.mspx

Sunday, October 26, 2008

Cringely’s right, Windows Mobile is dead

Cringely’s right, unless Microsoft gets around to doing something really radical with Windows Mobile, the platform will be all but dead in a few years.

RIP Windows Mobile



So, why will Windows Mobile be dead in a few years? Like Cringely, I think that several factors are at work here:
Windows Mobile is an awful platformNot only is it an epic fail in terms on being a cut-down version of Windows, it can also be flaky and highly unreliable. I’m not saying that all WM smartphones are rubbish (some, such as Samsung’s BlackJack were actually quite decent), but the experience between vendors was very variable. I think that developing a good WM device was expensive, hence roundabout announcement that they are exiting the high-end (read WM) phone game.
Internet Explorer for Windows MobileHello Microsoft …. was this supposed to be a joke applications or something?
There are too many competing platformsiPhone, Android, Symbian, RIM, Windows Mobile … that a crowded market.
The high-end cellphone market is only so big85% of folks out there are more than happy with a dumb handset.
Only so many developers to go aroundiPhone and Android platforms are attracting a lot of developer attention. With ready-made stores, Microsoft has nothing like this to offer developers. As much as I like the Symbian platform on my new Nokia, I have to admit that iPhone and Android have some cool apps.
Unless you’re #1 or #2, what’s the pointIs Microsoft really going to pour the money and commitment that Windows Mobile really needs if there’s no chance the platform can’t be at the #1 or #2 spot? I don’t think so.
Time for Windows Mobile to evolve or die … and I’m not holding my breath expecting to see any evolving.


wats ur opinioin.



Thursday, October 23, 2008

Template Code: DirectShow Application and Filters in Windows Embedded CE 6.0

This distribution contains template code for DirectShow source, transform and sink filters.  It also contains a simple DirectShow applicaton which connects the filters into a graph and runs the graph.

Note that while building and running the filters and application directly from this distribution will work, it will not do anything interesting.  Again this is template code, designed to abstract away the details of the DirectShow filter framework so developers can focus on adding the core functionality to their filters.

Download from Here

For the DirectShow Reference documentation, see
http://msdn.microsoft.com/en-us/library/aa931414.aspx

Tuesday, October 21, 2008

A study on IPC options on WinCE and Windows

To make a client-server application that would run both on WinCE/Windows Mobile 5.0 PPC/SP and Windows.

 Here is what need to make:

  * A Server EXE which would have to run, both on a Win CE based device and on a Desktop machine.
  * A Client EXE which would talk to the Server. The scenario involved running several instances of client EXE running both on Desktop and Device.

 The obvious choice was to write a common Server/Client code which would run both on Device and for Desktop.

Looking at the various IPC options that both WinCE and Windows provide to come with an intersection set and then finally choose one of the options from the set.

Surprisingly the intersection set was really small.  Here is the result of study.

 

 

IPC mechanisms

Windows

Win CE

References

DCOM

Supported.

 

Provides an option to run the Server as a OUT PROC COM component

Not Supported.

 

DCOM is an optional component. So you might run into the risk of not able to run your server EXE on the device.

WinCE: http://blogs.msdn.com/cenet/archive/2005/07/13/438424.aspx

File mapping/Shared memory

Supported.

 

File mapping is supported on Windows platform and you can use this via CreateFileMapping, MapViewOfFile, ReadFile, WriteFile APIs.

Partially Supported.

 

File mapping is also supported by Win CE, but there is a caveat to it. Here is what MSDN has to say:

 

“This function will not work on a Windows CE–based platform that does not support Page-In.”

WinCE: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesdkr/html/_wcesdk_win32_createfilemapping.asp (Read the Remarks Section)

Message Queues

Not Supported.

 

Windows does not seem to be supporting this. At least the MSDN documentation does not list this as a possible IPC mechanism.

Supported.

 

WinCE supports Message Queues.

 

You can use the CreateMsgQueue, WriteMsgQueue etc APIs to achieve it.

Windows: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/interprocess_communications.asp

Pipes

Supported.

 

Windows supports it via CreateNamedPipe, WriteFile, ReadFile etc APIs.

Not Supported.

 

There is no support for Pipes specifically on WinCE.

 

But they claim that a point-to-point message queue can be regarded as some sort of pipe.

WinCE: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncenet/html/intercommWindowsCENETInterprocessCommunication.asp (Read the Abstract section)

MailSlots/Mailbox

Supported.

 

Desktop calls this Mail Slots. Take a look at: CreateMailslot, WriteFile, ReadFile etc APIs.

Not Supported.

 

The Mail Slot APIs are not supported on WinCE.

 

But there is an implementation of one-way “Mailbox” concept described in MSDN.

Win CE: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncenet/html/intercommWindowsCENETInterprocessCommunication.asp

Sockets Supported Supported

 

 

Looking at all the possible options, I finally felt that Sockets would be the best way to go. Since I had so many device platforms to support, I did not wanted to take the risk of choosing something that works on Desktop and the same thing not working on even one of the Device platforms.

 This is just my observation. Please let me know if there is any other option that I have missed out. Hope this helps.

 (This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm)

--  _________________________________________________________________    

Tuesday, October 7, 2008

Window Mobile 7 will contain Zune Softwares and Services



Microsoft plans to port its Zune music playing software to Windows Mobile devices, according to CEO Steve Ballmer. Zune software and services may become part of the upcoming Windows Mobile 7 operating system, though the company provided no further information.

Confirmation of the long-rumored move came during a lengthy interview with the U.K. magazine CIO. Ballmer told interviewer Martin Veitch, "What you’ll see more and more over time is that the Zune software will also be ported to and be more important not just with the hardware but on the PC, on Windows Mobile devices, etc."

"At the end of the day, one of the big trends is that all content is going digital. And if we don’t have the software and services that are useful, helpful and valuable for the consumption of music and video, we are sort of not really a player," added Ballmer.

Zune integration with Windows Mobile will apparently be a software-only gambit. Microsoft has repeatedly denied plans to brand its own "Zune phone," which would compete with the hundreds of Windows Mobile phones already being shipped.

Background

Microsoft's Zune PMP (portable media player) was first introduced in 2006, and is currently available in the five different models pictured below. Previously, the software giant has sought to distance the Zune from Windows Mobile, even though the device employs an ARM processor and uses a core operating system based on Windows CE.

The Zune's GUI (graphical user interface), called the "twist" interface by Microsoft, features typical music and playlist features, radio playback, and a "social" section that allows sharing songs and other information with other Zune owners. Like Windows Mobile's existing Windows Media Player, the Zune can play typical audio/video formats such as MP3, WMA, WMV, MPEG-4, and H.264. To this, it adds compatibility with Microsoft's Zune Marketplace file format.

Via the Zune Marketplace online store, users can purchase songs individually, either by WiFI or by syncing with a desktop computer. Additionally, a "Zune Pass" permits downloading unlimited songs to a device for a $15 monthly fee. Finally, an interesting feature added to the latest Zune software release lets users tag a song being broadcast by an FM station for automatic later purchase, according to Microsoft.

In February, an entry on the Windows Mobile team's blog revealed that Microsoft is seeking ways to better integrate the Zune and Windows Mobile. Program manager Mel Sampat posted, "I'm wondering if there are any opportunities for us to improve the experience for people who use both devices. For example, viewing your Zune Social network in Internet Explorer Mobile, converting a Zune playlist into .WMA ringtones, [or] converting Zune's artwork to Windows Mobile themes."

However, Sampat added, "I'm certainly not hinting or speculating about a converged device," to the apparent frustration of many. For example, commenter Jef Kazimer wrote, "Windows Mobile needs to be the platform, and make Zune the ecosystem that runs on that platform. Make Zune the centerpiece for its core uses (Music, Video, Photos, Podcasts) and deprecate the Windows Media Player."

  

Thursday, September 25, 2008

Life without Walls Wallpapers for your PC

In light of tonight's new ad "Life without Walls" seen in newspapers today along with the new "Real PC" TV ads (see Chris's post); I've decided to make wallpapers for folks so they can add "Life without Walls" as wallpaper on their PC.



1920×1200

1650×1050

1600×1200

1280×1024

1280×800


Just click on the above thumbnails for which ever screen resolution you need and in Flickr - choose "All sizes" and then "Original". Right-click and download away!

These wallpapers were uploaded to Flickr using Windows Live Photo Gallery Beta - available at download.live.com.


Thursday, September 18, 2008

About JTAG basics..

JTAG (Joint Test Action Group) is an international standard test protocol (IEEE 1149.1-compatible), the main chip for internal testing. Now most of the senior JTAG devices are in support of the agreement, such as the DSP, FPGA devices, and so on. JTAG interface is the standard 4-wire: TMS, TCK, TDI, TDO, respectively, for model selection, clock, data input and output data line.

JTAG was first used to test the chip, the basic principle is that the device within the definition of a TAP (Test Access Port test visit I) through a dedicated JTAG test tools to conduct an internal node for testing. JTAG test allows multiple devices through the JTAG interface tandem together to form a JTAG chain, to achieve the various components were tested. Now, JTAG interface is also commonly used in the realization of ISP (In-System rogrammable online programming), FLASH programming and other devices.
JTAG programming through online programming, the traditional production process in the first of the chips are pre-programmed to be loaded to change the board and simplify the process for the first device fixed to the board, and then JTAG programming, thus greatly Speed up the progress of the project. JTAG interface chips within the PSD all parts of the program


JTAG some note

Usually by the JTAG roughly two categories for testing of the electrical characteristics of chips, chip testing whether there is a problem for a class Debug; JTAG general support within the CPU include the two modules.
A JTAG Debug interface module containing the CPU, the clock as long as normal, you can access through the JTAG interface CPU's internal register and linked to the CPU bus equipment, such as FLASH, RAM, SOC (such as the 4510 B, 44Box, AT91M series) - Module register, as UART, Timers, GPIO, and so on the register.

Above that the only JTAG interface has the ability to use these features, the software also need to meet the specific realization of the specific features from the software decision.
For example, download RAM to function. SOC understand the know, to use an external RAM, SOC DataSheet reference to the need to register that set up the base address RAM, bus width, access speed, and so on. Some SOC will also need to Remap, in order to work correctly. Firmware run, these settings Firmware from the initial process is complete.However, if the use of JTAG interface, the relevant register may be still in power values, even when the wrong values, RAM does not work, so downloading is bound to fail. To normal use, must be to find ways to set up RAM. In ADW, in the Console window can be ordered through the Let set in AXD in the Console window can be ordered through the Set set.
Below is a set AT91M40800 the command sequence, closing interruption, set CS0-CS3, and Remap, applicable to AXD (ADS with the Debug)
setmem 0xfffff124,0xFFFFFFFF,32  --- close all interrupted
setmem 0xffe00000,0x0100253d,32  --- set CS0
setmem 0xffe00004,0x02002021,32  --- set CS1
setmem 0xffe00008,0x0300253d,32  --- set CS2
setmem 0xffe0000C,0x0400253d,32  --- set CS3
setmem 0xffe00020,1,32  --- Remap
If the ADW (SDT with the DEBUG) in use, would read as follows:
let 0xfffff124=0xFFFFFFFF --- close all interrupted
let 0xffe00000=0x0100253d  --- set CS0
let 0xffe00004=0x02002021  --- set CS1
let 0xffe00008=0x0300253d  --- set CS2
let 0xffe0000C=0x0400253d  --- set CS3
let 0xffe00020=1  --- Remap
To facilitate the use, the order can be saved as a file config.ini, in the Console window to enter ob config.ini implementation.
The use of other debug, roughly similar, but orders and orders in different formats.


RAM settings, set up the register and register and the value must be set up to run the program in line.The general objective of compiling documents are generated ELF format, or a similar format, including a targeted operation code address, address of the running time to determine Link. Debug download files in accordance with the ELF in the address information to download the address specified. If the RAM in the base address is set to 0 x10000000, compiled in the time specified address in the beginning of Firmware 0 x02000000, the download time, the target code will be downloaded to 0 x02000000, apparently downloaded will fail.

Through JTAG download all should be closed before the interruption, which closed at initialization and Firmware disruption of the same reasons. JTAG interface in the use of the time, the interruption can be unknown, especially FLASH executable code, there are circumstances, there may be some that can be interrupted. End the use of JTAG download code, to be implemented, it may have on the completion of the initial disruption, leading to abnormal procedures. Therefore, the need to close interruption, the general disruption by setting the SOC control register completed.

The use of JTAG write Flash. In theory, through the JTAG bus on the CPU can access all the equipment, so should be able to write FLASH, but FLASH RAM into the ways and very different from those in need of special orders, and different FLASH erase, programming different order, And block the size, number of different, it is difficult to provide this function. Therefore, the general Debug does not provide written Flash function, or only a small amount of support of several Flash.

At present I know, for ARM, this software provides only FlashPGM write FLASH functions, but also the use of trouble. AXD,ADW都不提供写FLASH功能。 AXD, ADW not provide written FLASH functions.  Flash the way I wrote when he wrote a simple procedure, devoted to write the target board FLASH, using JTAG interface, downloaded to the target board, then to the goal of programming code with a BIN format, but also to target under Board (address and the process of burning FLASH address different), then run the burning FLASH have downloaded the program.This approach is used, rather than the written FlashPGM Flash, speed seems to be faster.

On the simple JTAG cable.
At present, there are all sorts simple JTAG cable, in fact, only a level conversion circuit, also play a protective effect. JTAG logic running on a PC by the software, so in theory, any simple JTAG cables, can support a variety of applications software, such as Debug, and so on. I had to use the same JTAG cable write Xilinx CPLD, AXD / ADW debugger. Key to the support of the software, most software settings are not functional and thus can only support a JTAG cable.

On the simple JTAG cable speed.
JTAG is a serial interface, I use a simple print JTAG cable, I use the print output with the characteristics of latches, the use of software through the I / O have a JTAG timing. JTAG standard by the decision, through JTAG write / read a series of bytes to the operation, according to my analysis, using a simple JTAG cable, I use print, through a JTAG output bytes to the target board, an average of 43 LPT I / O, in my machine (P4 1.7G), per second can be carried out about 660 K, I / O operations, so download speeds about 660 K/43, equivalent to about 15 K Byte / S. For other machines, I / O speed of roughly The same, usually in the 600 K ~ 800K.

On how to improve the JTAG download speed.
Obviously, using a simple JTAG cable can not increase speed. To improve the speed, there are generally two approaches,
1. The use of embedded systems to provide JTAG interface between the computer and embedded systems through USB / Ethernet connected, which requires the use of MCU.
2. The use of CPLD / FPGA to provide JTAG interface, CPLD / FPGA and computer interface between the use of EPP (General Computer LPT support EPP mode), EPP interface computer and CPLD / FPGA data transfer between, CPLD / FPGA completed JTAG timing.

Sunday, September 14, 2008

MS released Ebook of Windows Embedded CE 6.0 Fundamentals

MS has released a free ebook  of windows embedded ce6 fundamentals book.
All u need a hotmail account to download this.


Windows Embedded CE 6.0 Fundamentals
Authors:       Stanislav Pavlov and Pavel Belevsky
Published:    07/30/2008
ISBN:           9780735626256
Publisher:     Microsoft Press



Contents at a Glance
1 Introduction
2 Operating System and Application Development Tools
3 Operating System Architecture
4 Build System
5 Board Support Package (BSP)
6 Driver Architecture
7 Starting the Operating System
8 Building Devices
9 Application Development
10 Testing Operating System Images
Glossary


link to download


  

Saturday, September 13, 2008

Free Embedded Linux Training for Students in India

Title : Open “Embedded Linux” Software Development with Beagleboard.org
Date : 20th September 2008 (Saturday)
Venue : IISc, CEDT Seminar Hall, Bangalore


Registration : Free for First 100 members


Time Topic
09:30 What, why, who, and how of open source
10:30 Quick overview of the Beagle Board
11:00 How does Beagleboard.org help students & startups in India
11:30 Break
12:00 Q &A and Discuss lab setup to boot Linux on beagleboard
01:00 Lab #1 (Build and Boot Linux)
01:45 Lunch
02:30 Validation Procedure for Peripherals on Beagle Board
03:00 Participating and Contributing to Open Community
04:00 Open discussion

Agenda:

  • Enable Students in India to develop s/w on embedded devices with Open Community.
  • Training students in using the embedded platform for s/w development
  • Give a big picture of what’s going on in the industry with Open Platforms.
  • Benefits of working with Open Community and beagleboard.org in particular.

Audience & expertise:

  • Students (2nd / 3rd year preferable) with very minimal knowledge of Linux,
  • Students who are passionate about Open Source Linux kernel and s/w development for embedded platforms.

Registration:

  • Through mail (khasim@beagleboard.org) with subject as “[OSDB] Attendee OSD Beagleboard at IISc 20-Sept-08”.
  • Please mention College and Course undergoing.

Please NOTE this event is organized for “Students ONLY


Source : http://code.google.com/p/beagleboard/wiki/Trainings

Friday, September 12, 2008

How to add a 3rd Party driver..

There are two methods of adding a 3rd party driver in a workspace to be used on a specific platform.

a. Using a .cab file.
b. Manually modifying workspace files to include the driver into a platform build.

For our examples, we will assume that a fundamental knowledge of building a standard image is already known and that we are working with an existing workspace.

*Using a .cab file:

· Often times the 3rd party vender will provide the driver files and registry entries in the form of a .cab file. This allows the user to double click the .cab file to install all necessary drivers, resource files, and registry entries into their appropriate location.

a. Key Notes about .cab files:

i. Usually disappear upon implementation (make a copy!)

ii. Created using Visual Studio

iii.To use in your platform, CAB File Installer/Uninstaller must be added to the workspace in Platform builder.

*Manually adding in a 3rd party driver:

1) 3rd party vendor will provide the necessary driver .dll file, .reg file, and .bib file to be added to your workspace.

2) Once you have the necessary files from the vendor, open the workspace that will have the 3rd party driver added to it.

3) You will need to add the driver file in question into the workspace release folder (In this example we will use a touch screen driver):

Ex:\WINCE600\OSdesign\ABC\RelDir\ABC_ARMV4I_Release

(Our touch screen driver in this case will called “touch_ce.dll”)

4) Open the platform.bib file and add the following entry provided by the vendor:

touch_ce.dll $(_FLATRELEASEDIR)\touch_ce.dll NK SH

Save and exit text editor

5) Open the platform.reg file and add the following entry provided by the vendor:

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH] "DriverName"="Touch_CE.dll"
"CalibrationData"="2161,2497 701,1418 693,3573 3542,3545 3516,1399"
"MaxCalError"=dword:10

Save and exit text editor

6) Go back to workspace that will have the 3rd party driver added and select “Make Run-Time Image" from the Build OS drop down menu.


  

Thursday, September 4, 2008

How to Auto Run an application after bootup

1) In our example we will get Platform Settings (MyConfigurator.exe) to Auto Run as soon as our system boots
2) There are two ways to get the application to run depending on at what point you want the application to run.
a. Before anything else runs (ie. explorer)
b. After system has settled at the desktop.

*Before Anything else runs:
· Open platform.reg and add the following line:


[HKEY_LOCAL_MACHINE\init]
"Launch50"="MyConfigurator.exe"
"Depend50"=hex:14,00,1E,



Save the changes and exit. The LaunchXX key (where XX is a numeric value) simply points at the executable to launch and gives it it’s order (50 is usually explorer.exe). In the above case, the registry launches three processes, Shell, Device, and GWES. Device.exe (Launch20) has a dependency on Hex:0a (10 decimal). This equates to Launch10, or shell.exe, so the Shell process needs to signal the operating system that it's up and running so that any dependencies (in this case device.exe) can then be started. The same is also true of gwes.exe (launch30), device.exe depends on hex:14 (20 decimal), so GWES can't run until device.exe calls SignalStarted.
You can have multiple dependencies; for our case the dependencies will be on hex:14,00,1e,00 (Launch20 and Launch30), so both Device and GWES need to be up and running before the shell starts.
Go back to workspace that will have the Auto Run application added and select “Make Run-Time Image from the Build OS drop down menu.
* After system has settled at the desktop
· You simply need to change the code previously added in the platform.reg file to the following:


[HKEY_LOCAL_MACHINE\init]
"Launch79"="MyConfigurator.exe"
"Depend79"=hex:14,00,1E,00



· The above entry will no longer override the launch number that is originally used by explorer.exe and launch the application with the same dependencies as our example seen in “Before anything else runs”.

Monday, September 1, 2008

Porting Drivers to Windows CE 6.0

This session has been presented by Juggs Ravalia and Travis Hobrla at various Windows CE events such as MEDC.  It walks you through getting drivers from CE 5.0 (or previous versions) to work in CE 6.0.  Using the WaveAPI driver as a example, we look at the code necessary to move a driver with complex memory management forward into CE 6.0.  This presentation covers everything you need to know to port your driver to CE6.0 including access checking, marshalling, thread permissions, and security.

Download Video

Microsoft unveils Windows CE Driver Databases

Microsoft has announced two new online databases that list Windows CE drivers and BSPs (board support packages). The "regularly updated" databases are easily searchable by product category, manufacturer, processor family, and other relevant parameters, according to the company.

Microsoft describes the online driver database as "an extensive list of device drivers supported on Windows Embedded CE from Microsoft, Windows Embedded Partners, and third-party manufacturers." According to the company, the drivers listed are divided into three types:
  • PQD -- These "product quality developed" drivers were developed and distributed by Microsoft, and are incorporated into Microsoft's IDE (integrated development environment)

  • Microsoft-validated -- These are third-party drivers that were submitted to Microsoft via its Windows Embedded CE validation program, and passed standard quality performance tests

  • Non-validated-- These are third-party drivers that were not submitted to Microsoft for validation, but which are posted on the list "to generate product awareness"
Pull-down menus, as shown on the screenshot below, allow searching the driver database by validation status, Windows CE version, product category, and manufacturer. A "description" field describes each driver, and links to supplemental manufacturer information, if available.



Meanwhile, Microsoft's BSP (board support package) database provides "an extensive list of BSPs supported on Windows Embedded CE," according to the company. Pull-down menus allow searching the BSP database by Windows CE version, CPU name, processor family (such as MIPS, Xscale, or x86), and certification status, says Microsoft.

In addition, check boxes allow users of the database to narrow down their search by one or more target device categories. Device categories in the database are listed in the following order:
  • GPS
  • Medical systems
  • VoIP
  • Thin client
  • Kiosk
  • Printer
  • Gaming
  • Handheld terminal
  • Datacom
  • Digital media player
  • Digital TV
  • Projector
  • DVD player
  • Test and measurement
  • STB (set-top box)
  • POS terminal
  • Digital camera
  • Digital video player/recorder
  • Industrial and building automation
  • Other
The browser-based list of results, used by both the drivers and BSP databases, can be sorted any way a user wishes, simply by clicking on any column heading. Another useful feature is the ability to subscribe to an RSS feed that provides notification of new drivers or BSPs, according to Microsoft.

Driver database link

Wednesday, August 13, 2008

Windows Embedded CE 6.0 Monthly Update (July 2008)

Windows Embedded CE 6.0 Monthly Update for July 2008 is released.

here is download link .




Monday, August 11, 2008

The future of Windows Embedded ?


What about the future, the future of Windows Embedded drawn?  I have a lot of people are curious. But when the announcement OEM technical seminars twice yearly for those who just confusing, and I tried to express a picture of a beautiful chapter. This information is last week's Directions on Microsoft, announced in a magazine about a reference.

So far, and Windows Embedded OS platform is a lot of cases, the new name was used a lot of confusion caused to customers both in a series of Windows Embedded cleanup.

First, Windows CE is named Windows Embedded Compact will change. The new version is the end of 2009 or 2010 bomjjeumeuro expectations. Currently codenamed Windows Embedded "7" in progress. Meanwhile, Windows CE-based personal navigation device embedded with the new platform, Windows Embedded NavReady 2009, designed in 2008 has been announced officially in June.

Second, Microsoft's Smartphone platform, called and the next generation of Windows Mobile "7" is scheduled to announce the years of 2009.  In the meantime, this version of the Windows CE 1.0 kernel when it was used to smash through integration into the kernel bulryeojin addition to the kernel and Windows Embedded CE 6.0 R2 will enable users to more easily and conveniently to improve and expand UX. Yet because the veil ssatyeojyeo OEM / ODM sa upcoming autumn comes, you can not tell you besides Preview SDK is a lot of news to tell you when the announcement is expected to pass.

Thirdly, I introduced the Auto 3.0 is acquainted, Ford, such as automobile manufacturing company that will be used much more. In particular, the Korean Hyundai and Kia Motors are expected to come from the planned baipnida.  Also, Windows Embedded Compact (CE 6.0) based on the version.

Monday, August 4, 2008

HIVE Registry


HIVE Registry is useful and easy to use feature, to enable it, we need first add the HIVE registry feature from CATALOG into the OSDesign file. then add registry as following listed.

The following is the setting in my platform using FLASH to store the registry.

There're some difference in every version.
1. In CE5.0 and later, DDK_GetWindowInfo can't be called in the flash driver.  if it's called, the system crashed in CE5.0 due to a data abort, it can't read the values in CE6.
2. The registry settings in CE5 are the same as CE4.2.  But there're some difference with CE6, Please look at the comment in the following paragraph.




; @CESYSGEN IF FILESYS_FSREGHIVE ;
; HIVE BOOT SECTION ; this line is mandatory for every verion, it indicates the start of HIVE registry setting. ;

[HKEY_LOCAL_MACHINE\init\BootVars]
"SystemHive"="\\norflash\\Registry\\system.hv" ; in CE6, it's a full path, but in CE4.2 and 5.0, norflash is not needed.
"DefaultUser"="default"
"Flags"=dword:3


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NORFlash] ;block device driver to store registry
"Dll"="flash.dll"
"Order"=dword:0
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="MSFlash"
"Flags"=dword:1000 ;must to set to this value
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"



[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"Name"="Ep93xx NOR Flash" "
"Folder"="NORFlash" ; the value should be the same as the first word of "systemHive" in CE6
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
;"MountFlags"=dword:2 ;uses this setting in CE4.2 ;
"EnableCache"=dword:0
"MountBootable"=dword:1 ;uses this setting in CE6 "

; END HIVE BOOT SECTION ; this line is mandatory for every verion, it indicates the END of HIVE registry setting. ;

; @CESYSGEN ENDIF FILESYS_FSREGHIVE ;



NOTE :

HIVE registry can work in NOR flash, but can't work in HARD DISK in WINCE6.0.

HIVE is called after hard disk driver is loaded while the file system is still not mounted, so the directory "HARD DISK" still not appears, as a result, HIVE creates a directory named "hard disk", and stores the registry to the directory.
 but in nor flash, it does not occur.


  

Wednesday, July 30, 2008

Critical Section vs. Mutex

Both critical sections and mutex objects can be used to synchronize code execution in a Windows CE system.  Judicious use of these techniques is necessary to prevent sharing conflicts over system resources through synchronized access.  But why would a programmer choose one method over the other?

 

A critical section is defined as a segment of code that can be run by at most one thread at any instance of time. All code that accesses a shared resource should be placed within a critical section in order to synchronize access to the resource. In effect, mutually exclusive access to the resource is guaranteed if all accesses are guarded by the same critical section.

 

A mutex object is ‘signaled’ when it is not owned by a thread. A thread takes ownership of the synchronizing mutex object prior to accessing a shared resource.  If the resource is already in use by another thread, then access will be blocked. Exclusive access can be guaranteed provided all accesses to the resource are guarded by the same mutex object.

 

Now to highlight the differences: In general, mutex objects are more CPU intensive and slower to use than critical sections due to a larger amount of bookkeeping, and the deep execution path into the kernel taken to acquire a mutex. The equivalent functions for accessing a critical section remain in thread context, and consist of merely checking and incrementing/decrementing lock-count related data.  This makes critical sections light weight, fast, and easy to use for thread synchronization within a process. The primary benefit of using a mutex object is that a mutex can be named and shared across process boundaries.

 

Best practices to optimize for performance include:

  • Minimizing the need to synchronize across process boundaries during software design
  • Minimizing the use of mutex objects whenever possible
  • Using critical sections for synchronization whenever possible

 



More information on critical section and mutex APIs can be found on MSDN:

Friday, July 25, 2008

Microsoft Press: Windows Embedded CE 6.0 Fundamentals

Microsoft Press: Windows Embedded CE 6.0 Fundamentals by Stanislav Pavlov and Pavel Belevsky.

This book is intended for everyone who develops or plans the development of embedded devices based on Windows Embedded CE. If you are just learning about the Windows Embedded CE operating system, this book can serve as a starting point for further learning. If you are already familiar with Windows Embedded CE, this book provides advice and recommendations for application development.

Here's the chapter listing for the book:

  • Chapter 1: Introduction
  • Chapter 2: Operating System and Application
  • Chapter 3: Operating System Architecture
  • Chapter 4: Subsystem for Building an Operating System
  • Chapter 5: Board Support Package (BSP)
  • Chapter 6: Driver Architecture
  • Chapter 7: Loading the Operating System
  • Chapter 8: Building Devices
  • Chapter 9: Application Development

Thursday, July 24, 2008

Embedded Linux: With friends like these, who needs enemies?

Embedded Linux: With friends like these, who needs enemies?

If embedded Linux champions are saying that embedded Linux is terrible, why would anyone want to risk their products or their company on it?

Embedded Linux is the most hyped embedded operating system ever. It is promoted as inexpensive, high quality, high productivity, reliable, widely available, and well supported. It is none of these things, as two of its greatest proponents have recently pointed out. Wind River Systems and MontaVista Software, companies that each describe themselves as "the leader" in embedded Linux, have both initiated marketing campaigns touting the horrors of using embedded Linux.


Source : Click Here

Sunday, July 20, 2008

Rear-view mirror sports Windows CE-based GPS












U.S. motorists can now put a Windows CE-based navigation, safety, and entertainment system in their car's rear-view mirror. Azentek has announced the SmartMirror, featuring a 4-inch touchscreen monitor, rear-view camera, Bluetooth, built-in speakers, 3D maps, and an SD expansion slot.

 However, Michigan-based Azentek has adapted it with U.S.-specific maps from The SmartMirror is apparently based on hardware from Chinese automotive electronics maker Shenzhen Dsus, which first announced the device as the DS-400GB (right) in March.Navigon. Navigon's maps display 3D images that are said to include buildings, hills, visualizations of complex freeway interchanges, and even actual roadsign text, as shown below.


Navigon-supplied maps display freeway interchanges and even roadsign text

The SmartMirror is designed to replace a car's standard rear-view mirror. It features its own mirror plus, at the right, a 4-inch touchscreen with 480 x 272 pixel resolution. By default, this display shows GPS information, but the SmartMirror also has two external video inputs, which can display a vehicle's surroundings via optional rear- or side-mounted cameras.

Like a multitude of traditionally housed automotive navigation devices, the SmartMirror packs the SiRF starIII chipset. The device is based on Windows CE 4.2, has a Samsung S3C2440A processor clocked at 400MHz, and 64MB of RAM. An integral SD expansion slot accepts a 2GB card that is bundled with the unit.

According to Azentek, the SmartMirror also includes Bluetooth, through which it is capable of pairing with a mobile phone. The device offers hands-free calling, speakerphone functionality, and displays caller ID information. While Azentek does not tout multimedia playback, Shenzen Dsus said its DS-400GB is capable of playing MP3 files through its dual built-in speakers, and that functionality is likely to be available on the SmartMirror as well.

Features and specifications cited by Azentek for the SmartMirror include:
  • Processor -- Samsung S3C2440A clocked at 400MHz
  • Memory -- 64MB of RAM and 2GB of flash (via SD slot)
  • Operating system -- Windows CE 4.2
  • Display -- 4-inch touchscreen with 480 x 272 resolution
  • I/O:
    • Video inputs for side and rear-view cameras
    • Connector for external antenna
    • Speakers (2 x 1W amplification)
  • Expansion -- SD card
  • Dimensions -- not listed
  • Operating temperature -- not listed
  • Storage temperature -- -65 to 150 deg. C
The SmartMirror is available now for a list price of approximately $800. More information may be available from the company's website, here.
  

Friday, July 4, 2008

Windows XPe cocktail fountain

Digital Beverage has created a product called MyFountain. Running Windows XP Embedded this “digital bartender” is a fully automated drink fountain that mixes drinks, pours them and cleans the nozzle afterwards with hot water—no bartender required. MyFountain also comes with a mini-computer and touchscreen so you can create your own drinks with the online recipe generator. Digital Beverage also has created a higher end model run on Windows XP Embedded called the Virtual Bartender. Isn't that cool?






.

Tuesday, June 17, 2008

Windows CE 6.0 R2 - SDHC Supports with ADMA

In the recent Windows CE 6.0 R2 release in Nov 2007, it supports the improved Secure Digital (SD) bus driver that supports SDHC specification 2.00 functionality, for example Secure Digital High-Capacity (SDHC) cards.

http://msdn2.microsoft.com/en-us/library/aa918430.aspx

What's new:

1. SD Bus Driver is updated to support 2.0 physical layer specification

2. SD memory driver updated to support SDHC card.

3. SD Host Controller is updated to support ADMA (Advanced DMA) (this require Hardware support in the host controller). This is a sample host controller that comes with Windows CE 6.0 R2, in x86.

Saturday, May 31, 2008

PDC Conference 2008 registration is now open.

The Microsoft Professional Developers Conference 2008 registration is now open.

Take advantage of the Early Bird discount and save $200 on your registration. Join in Los Angeles October 27-30, 2008 and hear details about Microsoft’s services platform, the future of Windows, mobility (and Embedded!) and our next generation of developer tools. Register at www.microsoftpdc.com

Wednesday, May 21, 2008

WinCE Training eBook - Now Available

Embedded Systems Using WinCE (eBook)

by Asang Dani, Yashavant Kanetkar

Windows CE (Compact Edition) is Microsoft's time-tested real-time OS for Mobile and Embedded devices. WinCE has proven itself as a robust platform for product development. Biggest challenge, however, is diversity of topics that one needs to master to harness the true power of WinCE. This training material we hope will address that need. It captures more than 3 years of experience that we have gathered while doing WinCE training and product consulting in the Asia Pacific region.

Table Of Contents

  • Designing OS
  • Platform Builder
  • Using Kernel Debugger
  • Understanding SDK
  • Creating SDK
  • Build Process
  • Configuring OS
  • OS Internals
  • Process Memory Architecture
  • Kernel Memory Architecture
  • Memory Access
  • Stream Device Drivers
  • Native Device Drivers
  • UM Drivers And Pointers
  • Interrupts Driver Loading
  • Managing Device Drivers
  • Virtual Disk Driver
  • Using Debug Zones
  • Working With CETK
  • Creating tests using CETK DLLs
  • Synchronization Objects
  • Boot Loader
  • Writing Drivers in C++
  • Power Management
  • BSP Driver Libraries
  • Networking And Communications
  • Windows Media Player Architecture
  • Emulator Skin
  • Filesystem Architecture
  • USB
  • Customizing Shell
  • eBook contains
    • 26 Coloured PDF Files containing detailed slides for each topic mentioned above.
    • Working Windows CE 5.0/6.0 Stream Interface and Virtual Disk Device Drivers with source code.



    Source :
    http://quest.ksetindia.com/product_info.php/Product/eBook_Embedded_Systems_Using_WinCE