Friday 29 May 2009

EB shows integrated Internet-connected navigation system

EB (Elektrobit) will be showing their navigation solution (EB street director) running on the Microsoft Auto Platform at the 9th annual Telematics Detroit 2009 Conference & Exhibition.

EB street director utilizes Microsoft's Live Search for Devices technology to show the user's search results on the map and also to turn these into routable destinations (POI) giving the user access to a comprehensive and uptodate list of POIs (Point of Interest).

So, if you're in the Detroit area from June 2nd - June 3rd, drop by to find out how you can use EB street director to integrate your own applications and services and take your solution one step further. You will find EB in Area 51 ... I mean at Booth 51.

So long and thanks for all the fish!
Read more! Post this to a friend!

Ramp me Up

Hi folks,

just wanted to point any Windows Mobile application developers to a new free online training program to help you get productive with Windows Mobile in short time: Windows Mobile RampUp

The Windows Mobile Track currently consists of 7 Modules starting with an introduction to Mobile Developement and Device Emulators. You can learn how to create your own User Interface Controls using Mobile Windows Forms and find out how to deal with data on Windows Mobile Devices using SQL Server CE. And, if your concerned about Security and Development, you will also find a Module covering security and deployment considerations.

So long and thanks for all the fish!
Read more! Post this to a friend!

Thursday 28 May 2009

Free Onsite Windows Embedded ½ Day Workshops Sydney, Australia on the 1st Thursday of every month

Hi Folks,

Don’t miss the next upcoming free Windows Embedded ½ Day Workshops held in Sydney, Australia on June 4th 2009 and on the first Thursday of every month.

Location:
Ground floor-Microsoft
1 Epping Rd, North Ryd
NSW (Exit off Delhi Rd)
Sydney, Australia

Description:
Microsoft will be hosting a Windows Embedded Workshop on the first Thursday of every month. Join us and receive the latest information on Microsoft Windows Embedded products, with a special focus on Windows Embedded Standard. (Formally known as XP Embedded) This workshop is to help you better understand the features and benefits of Windows Embedded, and how you can deploy it on your embedded systems. This workshop sponsored by DSTA is held especially for Embedded Systems Engineers/Developers, Project Managers, Technical Decision Makers and others who are interested in using Windows Embedded in their current or future projects.

This is a great opportunity for you to learn how to integrate Windows Embedded technologies with your custom platform, and learn effective techniques to rapidly bring your products to market. We will demonstrate the process of Windows Embedded Standard image creation using Embedded Toolkit on a Virtual PC as well as on the real hardware.

Further information:
http://www.microsoftembeddedseminars.com/about.aspx?seminarid=232

Overview of MS seminars offerings:
http://www.microsoftembeddedseminars.com/home.aspx

Have fun!
Read more! Post this to a friend!

Friday 22 May 2009

FREE Microsoft Technical Chat on Windows CE and Mobile on May 26th 2009

Hi Folks,

It has been some time now since the last Microsoft Technical Chat on Windows Embedded CE and Windows Mobile took place. So, if you have missed it, don’t worry the next one is coming up:

MS is hosting a live chat on May 26th regarding Windows Embedded CE and Windows Mobile.

Title: Windows Embedded CE and Windows Mobile Live Chat!
Date: Tuesday, May 26th, 2009 9:00 - 10:00 A.M. Pacific time (additional time zones)

Description:
Do you have tough technical questions regarding Windows Embedded CE or Windows Mobile for which you're seeking answers? Do you want to tap into the deep knowledge of the talented Microsoft Embedded Devices Group members? If so, please join us for a live chat and bring on the questions! Windows Embedded CE is the operating system that is powering the next generation of 32-bit, small-footprint and mobile devices. This chat will cover the tools and technologies used to develop devices using the CE operating system.

To join this chat, please log on via the main MSDN chat page at:
http://www.microsoft.com/communities/chats/default.mspx

There is also an archive of previous chats available at:
http://msdn.microsoft.com/en-us/chats/aa497439.aspx

Have fun!
Read more! Post this to a friend!

Thursday 21 May 2009

Ford Sync 911 Assist and how useful such services can be.

I guess alot of people have been asking themselves whether or not a Microsoft Embedded Operating System such as Microsoft Auto can compete with other Operating Systems in the automotive area.

I mean, how often did/do we hear jokes like: "... close all of the windows ... and restart!

And how useful are the connected services which come hand-in-hand with the Microsoft Auto Software Platform? Will they really work when we depend on them?

Well, back in the US somebody, unfortunately, has been able to try one of these services running on Ford's sync platform - 911 Assist. Fortunately with nobody harmed:

"These email is to commend Ford for their safety features because if it weren't for them I would have probably been hurt a lot worse.

On February 18th of 2009 I was in a major accident in Rockville, MD that totaled my brand new, less than 2 day old Ford Escape. :( ... While driving to a doctors appointment, I was broadsided by a Ford minivan which smashed into the passenger side door and bent the door and frame in. ... After shaking my head and realizing what had happened I heard a voice say "I sense you were in an accident, calling 911" The Microsoft sync system that I had setup the day before with my cell phone had called 911 for me. ... I thought this stuff was only in commercials on TV/Radio. It really does work!!! The police arrived within minutes of the accident and 2 fire trucks also arrived a few minutes later. ... When I bought the truck I didn't even look at the safety features the truck had. I am very impressed! ..."


No, this does not mean, go crash your Ford and try it out - especially if you're in Europe, as the Sync Platform is not available there yet - but it does give you a better feeling, knowing it works!

By the way, the 911 Assist application was written and integrated into the Sync platform by the guys from EB.

You can read the whole story here.

So long and thanks for all the fish!
Read more! Post this to a friend!

News on transition of .NET Micro Framework

Interested about what is currently going on around .NET Micro Framework?

Then don't miss the latest posts on the .NET Micro Framework Team Blog.

Lorenzo, Developer Manger, has confirmed plans to involve the community and to give the source code of the runtime, object model and the drivers to the community. However the exact process still has to be defined.

A very interesting point is the fact that the team is looking into the possibility to use the code base without having to contribute any development back to the community - thus allowing protection of IP. From my point of view a necessary pre-requisite for the .NET Micro Framework to become a success.

Comments welcome.

So long and thanks for all the fish!
Read more! Post this to a friend!

Tuesday 19 May 2009

Windows Embedded CE: BSP development considerations

Hi Folks,

this post kind of fits to Damian’s post from yesterday.

You might have wondered why, upon installation of PlatformBuilder, the Windows Embedded CE source code ends up in C:\WINCE600 by default. Well there are several reasons:
  • The paths do get pretty long and we want to be able to resolve them

  • Windows Embedded CE does not support spaces in the source code path

This can sometimes be a problem in your day-to-day BSP development. Imagine the following scenario: You want to change a driver in a BSP that you are working on right now. But of course you want to keep the old version. So before you alter the existing code you make a copy and by default it will be called “Copy of my_driver”. Even though you are not compiling this just created folder you will get strange errors (such as your Solution Explorer in PlatformBuilder does not work properly anymore) due to the fact that you’ve got spaces in your path.

But even if you obey this restriction of not having any spaces in your Windows Embedded CE source code paths you are not in the clear, yet. Just imagine the following scenario: You get a new version of the BSP that you are working on but again you want to save your current version. Taking into account that you should not have any spaces in your Windows Embedded CE source code path you now rename your current version of the BSP to something like: my_bsp_old_version. By doing so and then adding the new version of your BSP you will get some problems with your Catalog as you have multiple versions of the same Catalog Item in your system; hence your unique ID is no longer unique (here is a link to my post regarding Catalog Items and unique IDs).
To resolve this Catalog Item issue, you can do one of the following:
  • Rename the Catalog folder of your my_bsp_old_version (don't forget the limitation of no spaces in the source code tree) or

  • Copy my_bsp_old_version to some folder outside the WINCE600 tree

Have fun!
Read more! Post this to a friend!

Monday 18 May 2009

What's in a Board Support Package (BSP)?

Now this is a question I hadn't heard for a long time and also a question I wasn't expecting to hear again. I mean haven't we all gone through this over and over again? Well obviously not, so I figured this is worth a post - no, not to stop people ringing me up but rather more to have a starting point on which everybody agrees.

Ok, so yes there are some parts of a BSP which are optional and which are subject to the specific requirements of either the underlying OS or the respective project but I hope you are on my side when I say that some parts are simply not negotiable, i.e. are a required part of a BSP. And yes, a bootloader does belong to a BSP!

Now if you're someone who is saying to themselves "Well what does he know all about it?" I can point you and anybody else interested to some further information, which at least from a Windows Embedded point of view sets this starting point: http://channel9.msdn.com/wiki/cedeveloper/bsp/

Look forward to reading your thoughts on this.

So long and thanks for all the fish!
Read more! Post this to a friend!

Free Microsoft onsite POSReady seminar in Auckland, NZ on May 26th

Hi Folks,

don’t miss the upcoming Windows Embedded POSReady onsite Seminar!

Title:
POSReady 2009 Event

Date:
Thursday, May 26th 2009, 9:30 am to 12:00 pm

Location:
Microsoft Theatre, Level 5
22 Viaduct Harbour Ave
Auckland Central
Auckland, New Zealand

Description:
9:30 Registration and Morning Tea
10:00-12:00 Seminar

Be PosReady2009 and be the POS expert in the market. Join us in this 2 hour seminar and become a POS expert, so that you can offer the best of products to your clients. Find out all about the:

-New POS version of Windows Embedded: PosReady2009
-New POS application from Microsoft: POS2009
-And the latest HW and systems suitable for your clients from POSPOS

With new product news to be unveiled, this event is not to be missed! Only 80 seats available, reserve your spot today.

Further information and registration:
http://www.microsoftembeddedseminars.com/about.aspx?seminarid=233

Overview of MS seminars offerings:
http://www.microsoftembeddedseminars.com/home.aspx

Have fun!
Read more! Post this to a friend!

Thursday 14 May 2009

Windows CE Platform Builder Monthly Updates for April 2009 are here!

Hi all,

here are the links to the April 2009 QFEs for Windows CE Platform Builder:

  • Windows Embedded CE 6.0 Monthly Update (April 2009)

    Fixes made in this update:

    By Component:

    Component: Codecs
    090413_KB968971 - This update enables dual channel MPEG audio.

    The registry key to handle dual channel MPEG audio playback:

    [HKLM\Software\Microsoft\DirectX\DirectShow\MPEGAudio]
    "DualMode"=dword:

    Where the value is:

    0 - enable dual channel playback
    1 - left channel only
    2 - right channel only

    The default value is 1.

    Component: DirectX
    090415_KB968612 - When a device renderer supports only YV12 format, some WMV files cannot be played.

    Component: IE
    090430_KB969515 - This update addresses a number of Internet Explorer issues.

    Component: USB
    090410_KB969745 - USB Interface descriptor may be parsed incorrectly.

    The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT\:

    public\common\oak\drivers\usb\hcd\common\cdevice.cpp
    public\common\oak\drivers\usb\hcd\usb20\usb2com\cdevice.cpp

  • Windows CE 5.0 Platform Builder Monthly Update (April 2009)

    Fixes made in this update:

    By Component:

    Component: IE
    090430_KB969498 - This update addresses a number of Internet Explorer issues.

    Component: WININET
    090430_KB961887 - If a client connects to a WinInet API that uses KeepAlives, and then has their IP address change, future attempts at that WININET API will fail.

    Implement a new feature hidden behind the registry key:

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
    "EnableKillKASocketsOnAddrChange"=dword:

    Default setting is 0, which allows WININET to keep KeepAlive sockets open when IP address changes. Set to 1 allows WININET to kill all KeepAlive sockets when IP address changes.

  • Windows Embedded NavReady Monthly Update (April 2009)

    Fixes made in this update:

    By Component:

    Component: Bluetooth
    090416_KB970061 - This update addresses the following issues:

    -Adds Names (if present) to call history entries when downloading via PBAP

    -Downloads contacts via HFP port on Samsung G600 and T729 Blast

    -Relax CPBS reply parser to accept LG's less-than-spec-complaint version (and use HFP port for LG KE850 and KE970)

    -Disables sniff mode for SE W300i

    -Addresses an issue in Chfpsvcmgr that may occur when receiving malformed vCard

    -Addresses 2006 vintage issue with AT PB DL call history parser
Links to all available Windows CE updates can be found here:
http://msdn.microsoft.com/en-us/embedded/aa731256.aspx

Have fun!
Read more! Post this to a friend!

Wednesday 13 May 2009

Upcoming free Onsite Windows Embedded Seminars in the US

Hi Folks,

Don’t miss the upcoming free Windows Embedded Seminars on Medical Devices held in the US in May and June. Register for these free Seminars and win a ZUNE Media Player!
Have fun!
Read more! Post this to a friend!

Tuesday 12 May 2009

Living in the box ....

or developing applications with only 32MB virtual memory on Windows CE systems (before WinCE 6.0).
There are several sources about Windows CE Memory Management, my favorites are:
- Advanced Memory Management by Douglas Boling
- Virtual Memory Layout: Windows CE 5.0 vs. Windows Embedded CE 6.0 on MSDN
- What is virtual memory? by Sue Loh

okay,
but how to detect, if your app is running out of "in proc" 32MB virtual memory?
Very usefull is a tool provided with the Platform Builder on the Windows CE Shell called "mi" (memory information).
You can input mi [kernel | full] to display memory information. The full parameter displays a set of tables showing the virtual memory usage for all the processes in the system.
You will receive a detailed info about virtual memory usage in the following form:

Memory usage for Process 819b5de8: 'device.exe' pid 3
Slot base 08000000 Section ptr 83fca000
08000000(1): -----r----------
08010000(0): -CCCCCCCCCCCc
08020000(0): ------------S--S
08030000(0): WWWWWWWWWWWWWWWW
08040000(0): WWWWWWWWWWWWWWWW
08050000(0): WWWWWW---------
08060000(0): ---------------S
08070000(0): ---------------S
08080000(0): ---------------S
08090000(0): ---------------S
In the memory information "--" represents the memory space is reserved but not in use. Which indicates that a virtual page is currently allocated but not mapped to any physical memory. "C" represents code pages in ROM, "S" indicates a virtual page that holds a stack, "W" indicates a virtual page that holds read-write data and "R" represents r/o data pages in ROM.
Detailed info about the "mi full" output is provided in the Platform Builde help.

The investigation of the commandline output may be hard, but you can get these information also as an image, which is easier to interpret as the commandline output.
Just take a look at the "VirtualMemory.exe" from CodeProject.

Red means, that memory block is completely empty. Blue means that the memory space has been reserved. Green means the memory space has been committed. A mixture of colors means some combination of all three.
This app allows you a very quick and detailed analysis of the usage of the virtual memory on your Windows CE system.

Then avoid memory leaks and have fun!
Read more! Post this to a friend!

Monday 11 May 2009

Application Interrupt threads

Most of us know (or even have seen) code with the interrupt service thread (IST) running in context of an application. Up to CE5.0 this could be achieved quite easy (thanks to SetKMode + SetProcPermission).

Is this still possible with CE6.0? Most CE developers would say "no" without hesitating a second.

When I saw the following line I thought "that doesn't work, that's not possible!":

InterruptInitialize(dwSysIntr, hDriverInterruptEvent, NULL, 0);

But I have been disabused :-) It is possible to create to initialize an interrupt without the interrupt thread function parameter (i.e. NULL pointer)!

And if the driver provide a method to duplicate the interrupt event (usually via Ioctl call)

DuplicateHandle(GetCurrentProcess(),
hDriverInterruptEvent,
(HANDLE)GetCallerVMProcessId,
(LPHANDLE)pOutBuf,
FALSE, DUPLICATE_SAME_ACCESS);

you can wait for the interrupt event in an application thread.

I won't say that this is a standard driver/application architecture. But there might be situations where this way is a simple and pragmatic approach (e.g. during driver development).

Read more! Post this to a friend!

Saturday 9 May 2009

IPV6 and .NET Micro Framework

Hello .NET Micro Framework guys,

Colin Miller from Microsoft is asking the community about possible needs of IPV6 support in the future releases of .NET Micro Framework.
What is your opinion? Is it a recommended or just a "nice to have" feature?

Give your feeback directly to Colin Miller at: http://blogs.msdn.com/netmfteam/archive/2009/04/30/when-do-you-need-ipv6.aspx#comments

Have fun!

Read more! Post this to a friend!

Friday 8 May 2009

Windows CE Training

Windows Embedded Gold Partner EB ( Elektrobit) is now offering participants of EB's two day Windows Embedded CE 6.0 R2 Deep Dive Training a development platform as well as a copy of "Windows Embedded CE 6.0 Fundamentals" - for free!

The hardware platform - a Trizeps IV 520 MHz platform, which is used during the training - together with an evaluation version of Windows Embedded CE and the book allows participants to carry on working with the OS after the training. This is especially interesting for people who would first like to evaluate if Windows CE is the right choice for their project.


EB additionally offers an extensive and comprehensive set of Trainings around Microsoft's Embedded Operating Systems:
  • .NET Micro Framework Training
  • Windows Embedded CE (5.0 / 6.0) Training
  • Windows Embedded NavReady Training
  • Windows Embedded Standard Training
  • Microsoft Auto Training
  • Windows for Automotive Training
  • Windows Mobile Training
It goes without saying that all trainings can be fully customized to meet specific needs and be held either in German or English.

If you are interested either in the Windows Embedded CE 6.0 Deep Dive Training or any other Training you can contact EB here.

So long and thanks for all the fish!
Read more! Post this to a friend!

.NET Micro Framework moves to Developer Devision

The .NET Micro Framework Team has posted some interesting news on their blog with regard to the current rumors around .NET MF.

The .NET Micro Framework Team is moving into the Developer Devision and is additionally thinking about new business models including a larger engagement of the community; however Microsoft will carry on providing initial guidance and the necessary tools - from my point of view a necessary prequisite if the .NET Micro Framework is still to be a success.

Stay tuned as the exact business model is to be defined in the near future.

So long and thanks for all the fish!
Read more! Post this to a friend!

Thursday 7 May 2009

.NET Micro Framework code to be given to the community?

Rumor, has it that Microsoft is planning to give the source code for the .NET Micro Framework to the community and shall be withdrawing from this business. As for the financial business model it is said that royalties will be terminated and the porting kit will be made available free of charge.

Microsoft will however carry on supporting existing customers as well as hold on to their lifecycle support pledge. New customers, wanting to sport their devices with the .NET Micro Framework are then to be supported by the community.

The question is (if the rumor is true): Are we looking at the beginning of the end of the .NET Micro Framework or will this blow new life in to it? And I guess only the exisiting community around the .NET Micro Framework can give the answer to this.

So long and thanks for all the fish!
Read more! Post this to a friend!

Windows Embedded CE 6.0: Catalog file issue

Hi folks,

you might have noticed, that the new catalog file format in Windows Embedded CE 6.0 does not have a GUID as a unique identifier anymore. Instead the unique id is now a string. When using the Catalog Editor to create a new catalog item, it will check whether this id is unique and tell you so if it isn’t. However if you switch to the source view to edit your catalog item, this check is no longer performed. Now if you specify a unique id that is in fact not unique, your catalog item will no longer appear in the catalog nor will any subdirectories you might have created be displayed anymore in the Catolog Editor.

To avoid this problem of multiple unique identifiers it is recommended that you choose your unique id as follows:

Item:<Vendor name>:<unique description>:<BSP name>

Have fun!
Read more! Post this to a friend!

Wednesday 6 May 2009

Windows Marketplace for Mobile

Hi folks,

Microsoft has just started their Windows Marketplace for Mobile. Thereby Microsoft enables Windows Mobile application developers to easily manage and distribute their applications. If you want to post your application you need a valid tax number and a Windows-Live ID. Furthermore you need to pay $99 US for up to 5 applications and an additional $99 US for each additional application and acknowledge the “Application Provider Agreement”. Now you can distribute your application. In return you get 70% of the profit from your applications.

The Marketplace itself will be launched in the second half of 2009 as a competitor to similar offers form Apple and Google.

Further information can be found at the Marketplace’s FAQ page.

Have fun!
Read more! Post this to a friend!

Free Onsite Windows Embedded ½ Day Workshops Sydney, Australia on the 1st Thursday of every month

Hi Folks,

Don’t miss the next upcoming free Windows Embedded ½ Day Workshops held in Sydney, Australia on May 7th 2009 and on the first Thursday of every month.

Location:
Ground floor-Microsoft
1 Epping Rd, North Ryd
NSW (Exit off Delhi Rd)
Sydney, Australia

Description:
Microsoft will be hosting a Windows Embedded Workshop on the first Thursday of every month. Join us and receive the latest information on Microsoft Windows Embedded products, with a special focus on Windows Embedded Standard. (Formally known as XP Embedded) This workshop is to help you better understand the features and benefits of Windows Embedded, and how you can deploy it on your embedded systems. This workshop sponsored by DSTA is held especially for Embedded Systems Engineers/Developers, Project Managers, Technical Decision Makers and others who are interested in using Windows Embedded in their current or future projects.

This is a great opportunity for you to learn how to integrate Windows Embedded technologies with your custom platform, and learn effective techniques to rapidly bring your products to market. We will demonstrate the process of Windows Embedded Standard image creation using Embedded Toolkit on a Virtual PC as well as on the real hardware.

Further information:
http://www.microsoftembeddedseminars.com/about.aspx?seminarid=231

Overview of MS seminars offerings:
http://www.microsoftembeddedseminars.com/home.aspx

Have fun!
Read more! Post this to a friend!

Tuesday 5 May 2009

Microsoft Auto 4.0 RTM released

Hi folks,

Microsoft released its next-generation in-vehicle platform Microsoft Auto 4.0 RTM (codename Bristol). As Microsoft Auto 3.0 and 3.1, Microsoft Auto 4.0 is again a PDK that installs on top of Windows Embedded CE 6.0 R2. New features include:

  • Added support for Intel Architecture Processors including Atom Z5xx series which offer an industrial temperature range (ARM- and SH-based processors were already supported in MS Auto 3.1).

  • Common head unit functionality such as standard interfaces for broadcast radio tuners and standard for CD playback and ripping
These new features enable developers to create integrated multifunction systems with reduced complexity, lower cost and faster time to market.

Microsoft also launched a new worldwide partner program. If you read our previous posts on Microsoft Auto you already know that EB is among the first certified training partners for MS Auto to provide technical education to help automakers and suppliers deliver the next innovations in vehicle
  • Infotainment

  • Navigation

  • Communication
Devices.

If you want more information, check out www.microsoft.com/auto.

Have fun!
Read more! Post this to a friend!

Friday 1 May 2009

Windows CE and SDK names

Hi folks,

imagine the following scenario: You, as an application developer for Windows CE, get yet another Custom Platform SDK from your BSP vendor. So far so good but upon installation of this particular Custom Platform SDK you see that its installation name is something totally generic like “WinCE SDK (ARMV4I)”. This wouldn’t really pose a problem if it was the only Custom Platform SDK installed on your machine. But as you can easily see it will be a huge problem if you have 5, 10 or even more Custom Platform SDKs installed. Now it is nearly impossible to remember which SDK belongs to which platform.

So is there a way to rename a Custom Platform SDK upon installation without asking the BSP vendor for a new one with an appropriate name? We tried different things to figure out a solution for this problem:
  • Looking for the name of the Custom Platform SDK in the registry – unsuccessful

  • Patching the SDK .msi installer file with Orcaunsuccessful

  • Studying the SDK installation process with Sysinternals Process MonitorBINGO

Names and other information about installed Windows CE Custom Platform SDKs can be found in the file:
C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\WCE.VCPlatform.config
All you need to do after changing the name in the above file is to restart Visual Studio and your Custom Platform SDK will appear with your new name.

As you can see it is important for BSP developers to always export Custom Platform SDK with descriptive names!

Have fun!
Read more! Post this to a friend!