Thursday, 23 December 2010

Merry Christmas…

Hi folks,

On behalf of our entire team I would like to wish all of you and your loved ones a Merry Christmas and a Happy New Year! Hopefully you get to spend some quiet, peaceful time with your loved ones.

Of course we will continue to post interesting and helpful news from the world of Windows Embedded here on our blog in 2011.

Meanwhile, if there are any topics that your would like to discuss further or that you think that are missing on our blog, please let me know so in the comment section!

Again, Happy Holidays to you all! I will spent Christmas with my wife and my parents in southern Germany. From what it looks like we will have a white Chrismas.
-Jochen
Read more! Post this to a friend!

Thursday, 16 December 2010

Windows Embedded CE QFEs for November 2010 have arrived!

Hi all,
new updates for Windows Embedded CE are available for download. Some issues have been resolved, no time to loose and get them now! More information for each update is provided in the Readme document available after the individual update(s) has been installed.

Windows Embedded CE 5.0 Monthly Update November 2010:

Fixes made in this update:

Component:  DirectX

Windows Embedded CE 6.0 Monthly Update November 2010:

Fixes made in this update:

Component:  COMM

Component:  DirectX

Component:  FATFS

Component:  Flash Lite

  • 101115_KB2424582 - This update addresses issues with Adobe Flash Lite plug-in and onKillFocus event.

Component:  Imaging

Component:  Internet Explorer

Component:  pWord

  • 101130_KB2426162 - Wordpad application window may not rotate when the device screen is rotated 90 degrees.

Keep your OS up to date!


Read more! Post this to a friend!

Sunday, 5 December 2010

embeddedSPARK 2011 Challenge

Hi Folks,

Round 1 of this years embeddedSPARK Challenge ends on January 2nd 2011. So hurry and enter your idea for a Windows Embedded Compact 7 project for a chance to win $15,000!


By the way, this year I will be a judge for the embeddedSPARK Challenge.

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

Friday, 3 December 2010

Embedded Software Engineering Kongress 2010

Hallo zusammen,

es ist mal wieder so weit: vom 07. bis zum 09. Dezember 2010 findet der diesjährige ESE-Kongress in Sindelfingen statt. Mit 97 Fachvorträgen und 10 Kompaktseminaren aus Entwicklung, Forschung, Lehre und Management bietet der ESE-Kongress reichlich Stoff für neue Ideen, Lösungswege und angeregte Diskussionen.


Ich werde am 09.12.2010 auf dem ESE-Kongress sein und den Echzeit & RTOS Track moderieren.

Ich hoffe Sie sind neugierig geworden. Ich freue mich auf Sie!

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

Monday, 22 November 2010

Don’t miss SPS/IPC/Drives

Hi folks,

the SPS/IPC/Drives – the exhibition for electric automation technology – will take place at the Exhibition Center Nürnberg/Germany from November 23rd to November 25th 2010.


Come and visit the Windows Embedded booth 7A-150; yes is the same location as last year. You can meet me tomorrow, November 23rd at the Microsoft booth. I am looking forward to some interesting discussions about Windows Embedded with you!

Have fun and see you at the SPS/IPC/Drives!
Read more! Post this to a friend!

Tuesday, 16 November 2010

Windows Embedded CE 6.0 R3 QFEs for October 2010 have arrived!

Hi all,

The October updates for Windows Embedded CE 6.0 R3 are available for download:

Windows Embedded CE 6.0 Monthly Update October 2010:

Fixes made in this update:

Component: COMM
  • 101028_KB2384080 - When using RNDIS client and DHCP allocator bound to the USB interface, an error may occur when USB cable is unplugged.
Component: DirectX
  • 101004_KB2417732 - The current media time is not correctly calculated by the current rate.
Component: Fonts
  • 101022_KB2437384 - Rotated text may not render correctly due to an issue with the font.
Component: FSD
  • 101029_KB2383946 - Calls to ScanVolumeEX() may fail when the volume to be scanned is formatted as EXFAT and has a directory structure that is at least 5 levels deep.
Component: IE
Component: RDP
  • 101006_KB2431798 - This update addresses an issue with mouse cursor corruption when connecting from a Windows Embedded CE 6.0 R3 device to Windows 7 over RDP.
Remember: it’s important to keep your system up to date!

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

Friday, 12 November 2010

TechED Europe 2010 Berlin: recap

Hi folks,

TechED Europe 2010 in Berlin ended earlier today. It has been a great time, lots of interesting talks with fellow MVPs, Microsofties, friends of Windows Embedded, etc. I hope TechED Europe has been as rewarding for you as it has been for me!

The Windows Embedded talks have been most interesting as I already outlined in one of my previous posts, you probably enjoyed them as well as the interesting discussions as much as I have!


I am looking forward to see you again at next years TechED Europe!

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

TechED Europe 2010 Berlin: Day 5

Hi folks,

Sadly it’s already the last day of TechED Europe 2010 in Berlin but there are still some very interesting things to do. I am really looking forward to Andy’s and Pierre’s session about Windows Embedded Handheld, the rebranded Windows Mobile 6.5 which starts at 10:30 today.



Meanwhile I’d like to take this opportunity to thank the entire TechED staff, Microsofties, especially Pierre Cauchois, this years Windows Embedded track owner, fellow MVPs and all speakers for making this TechED such an amazing and valuable experience, THANKS GUYS!


See you today at the TechED and enjoy!

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

Thursday, 11 November 2010

TechED Europe 2010 Berlin: Microsoft MVP program

Hi folks,

check out the Microsoft MVP program blog for a video of various MVPs on this years TechED Europe 2010. Another video featuring me will be posted later today or tomorrow.


See you today at the TechED and enjoy!

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

TechED Europe 2010 Berlin: Why Windows Embedded has so little precence

Hi folks,

Check out Olivier Bloch’s blog post about Why Windows Embedded does have so little presence on TechED Europe 2010.

See you today at the TechED and enjoy!

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

TechED Europe 2010 Berlin: Day 4

Hi folks,

And welcome again from TechED Europe in Berlin. Hope you got a chance to attend the Windows Embedded sessions that were held so far. Even though Windows Embedded is a small track, the sessions have been very interesting so far. Marco Bodoira even played the electric guitar live on stage while presenting his project that won this years Microsoft hobbyist contest embedded SPARK!



Other sessions were about Silverlight for Windows Embedded or how to use it in combination with the .NET Compact Framework. Douglas Boling gave some very useful hints about embedded software engineering. Jason Tolley compared Windows Embedded Compact 7 with other embedded OSes such as embedded Linux or Android. Of course there are still some sessions to come:

2010-11-11: 18:00-19:00 WEM304: Advanced Application Debugging Techniques with Windows Embedded Compact 7 – Hall 3.2 Interactive Theater 1 – Jochen Dieckfoss

2010-11-12: 10:30-11:30 WEM201: The Future of Enterprise Mobile Devices with Windows Embedded Handheld – Hall 7.1a New York 2 – Andy Wigley and Pierre Cauchois.

See you today at the TechED and enjoy!

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

Electronica 2010 - embedded Forum



Hello Windows Embedded friends,

Jochen already mentioned the talk held at Electronica 2010 - embedded Forum, Nov 9th 2010 in an earlier posting. It was the first talk at the embedded Forum in session 1: Real-Time Operating Systems. Subject was Silverlight for Windows Embedded under Windows Embedded Compact 7 (WEC7)


For those who where joining us there: Thank you very much for attending and your feedback and questions afterwards. We were having some really valueable discussions at our Microsoft Partner booth A6.S07

Since I got some requests for the presentation slides: You can find the German and English version of the slides here. Alternatively I will forward these on email request (if not already done).

If you could not make it to the talk then here is a short abstract just in case you are interested and probably decide to state a request on the slides, too:

Oliver will introduce you to the upcoming version Windows Embedded Compact 7 as well as its installation experience. Furthermore Oliver will walk you through the development process of a simple Silverlight for Windows Embedded (SWE) Sample User Experience (UX). You will learn that the steps involved are much simpler than working with the current version of SWE for Windows Embedded CE 6.0 R3.


In case of questions related to Silverlight for Windows Embedded feel free to contact Jochen or me directly.


Cheers,
-- Oliver






Read more! Post this to a friend!

Wednesday, 10 November 2010

TechED Europe 2010 Berlin: Day 3 recap and Sessions for November 11th

Hi folks,

Today’s Windows Embedded sessions are over, but again, you can download the session slides from your TechED Europe 2010 ScheduleBuilder. Of course those are only the slides and not the demos or interactions. My lunch session where I talked about User Experience development with Windows Embedded Automotive 7 went really great; despite it being lunch time a lot of people showed up!



Don’t miss tomorrows (November 11th) Windows Embedded Sessions:
  • 10:30-11:30: WEM301 – Amazing User Experience on Embedded Devices Using Silverlight for Windows Embedded – Hall 7.1a New York 2 – Douglas Boling

  • 13:30-14:05: WEM204 - How to Build a $15000 Guitar Switch with Windows Embedded – Hall 7.1b London 1 – Marco Bodoira

  • 14:30-15:30: WEM303 – Silverlight for Windows Embedded and .NET Compact Framework: Best of Both Worlds – Hall 3.2 Interactive Theater 2 – Andy Wigley

  • 18:00-19:00 WEM304 – Advanced Application Debugging Techniques with Windows Embedded Compact 7 – Hall 3.2 Interactive Theater 1 – Jochen Dieckfoss


See you at the TechED and enjoy!

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

TechED Europe 2010 Berlin: Day 3 Windows Embedded Talks

Hi folks,

Just a quick reminder of today’s Windows Embedded sessions three of which I already announced yesterday. You thought those were all the sessions for today, did you? Well I have some good news for you there will be an additional Windows Embedded session today so make sure attend them:

  • 9:00-10:00: WEM102 – Windows Embedded Compact Compete – Hall 3.2 Interactive 1 – Jason Tolley

  • 12:00-13:00: WEM302 – Deploying and Servicing Appliances and Embedded Devices with Style – Hall 7.1a New York 2 – Johan Arwidmark

  • 13:20-14:05: WEM305 – Windows Embedded Automotive 7 – Creating Next Generation User Experiences – Hall 7.1b London 3 – Jochen Dieckfoss

  • 14:30-15:30: WEM203 – What a Desktop Developer Needs to Know to Write Embedded Code – Hall 3.2 Interactive Theater 4 – Douglas Boling

See you today at the TechED and enjoy!

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

Tuesday, 9 November 2010

TechED Europe 2010 Berlin: Windows Embedded Hands-on Labs

Hi folks,

Don’t forget to check out the two self paced Windows Embedded Standard 7 Hands-on Labs which you can take at any time during TechED opening hours in Hall 2.2a or Hall 2.2b:
  • WEM01-HOL - Build Your Own Embedded System

  • WEM04-HOL - Porting 3rd Party Drivers into Image Configuration Editor
See you at the TechED and enjoy!

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

TechED Europe 2010 Berlin: Windows Embedded Speaker Contact

Hi folks,

Unfortunately there is no Windows Embedded Technical Learning Center (TLC) at this year’s TechED Europe.

However, luckily for you, you have multiple possibilities to get in contact with us Windows Embedded Speakers and Microsoft personal:

  • You can certainly talk to us during and at the end of our talks in the respective rooms.

  • You can come to the Speakers Lounge in Hall 2.2a. Simply ask at the door for the person you wish to speak to, if we are there, we are happy to talk to you.

  • Some of us will be hanging around the Windows Phone TLC in Hall 3.2

  • You might also find us at the MVP booth in the middle of the exhibition in Hall 4.2
See you at the TechED and enjoy!

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

Visit EB at the electronica 2010 in Munich

Hi folks,

Besides the TechED Europe 2010 in Berlin where I am at right now, there is also another embedded event going on right now:

The elctronica 2010 from November 9th to November 12th in Munich where EB has not only one but two booths.


Visit the EB Autosar booth as well as the EB Windows Embedded Partner Pod both in Halle A6 “Software Village”.


Oliver Merkel, who also wrote a few articles on this blog just held a presentation at the electronica about Silverlight for Windows Embedded under Windows Embedded Compact 7. Hope you were able to catch it!


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

TechED Europe 2010 Berlin: Day 2

Hi folks,

Todays Windows Embedded Sessions are over. If you have missed them you can at least download the slides from your TechED Europe 2010 ScheduleBuilder. Simply set the Track on the right hand side to Windows Embedded and you will be able to download the slides.

Make sure you don’t miss tomorrows (November 10th) Windows Embedded Sessions:

  • 9:00-10:00: WEM102 – Windows Embedded Compact Compete – Hall 3.2 Interactive 1 – Jason Tolley
  • 12:00-13:00: WEM302 – Deploying and Servicing Appliances and Embedded Devices with Style – Hall 7.1a New York 2 – Johan Arwidmark

  • And last but not least my 1st session:
  • 13:20-14:05: WEM305 – Windows Embedded Automotive 7 – Creating Next Generation User Experiences – Hall 7.1b London 3 – Jochen Dieckfoss

See you today at the TechED and enjoy!

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

TechED Europe 2010 Berlin: Today’s Windows Embedded Sessions

Hi folks,

Don’t miss today’s Windows Embedded Sessions at TechEd Euope:

  • 10:30-11:30: WEM101 – Choosing an OS for an Appliance or any Kind of Embedded System – Hall 3.2 Interactive 6 – Jason Tolley

  • 12:00-13:00: WEM202 – Discover Windows Embedded Standard 7 as your Next Appliance Platform – Hall 7.1a New York 2 – Alexander Wechsler

  • 13:20-14:05: WEM103 – Windows Embedded Overview: Demos of the Latest and Upcoming Releases – Hall 7.1b London 1 – Pierre Cachois

See you today at the TechED and enjoy!

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

Monday, 8 November 2010

TechED Europe 2010 Berlin 1st Day

Hi folks,

and welcome to TechED Europe 2010 in Berlin. Today was dominated by the pre-conference Seminars.


During the key note, Brad Anderson, Microsoft general manager of the Management and Solutions Division, pointed out the upcoming importance of cloud computing. In his discussion he showed Microsoft’s products and visions from “Infrastructure as a Service”, “Platform as a Service” up to “Software as a Service” where the focus is more and more on the user and not on the device. Of course Windows Phone 7 and its connection to the cloud also plays an important role in these concepts.


Afterwards the welcome reception was a great opportunity to network with other TechED attendees, Microsoft employees as well as fellow MVPs.

See you tomorrow at the TechED and enjoy!

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

TechED Europe 2010 Berlin preview

Hi folks,

and a warm hello from the TechED Europe 2010 in Berlin where everything is just getting started.

After arriving in Berlin yesterday afternoon, I already picked up my TechED pass on site and went over some formalities for my talks with the staff. Now the locations for my talks are also set:

Wednesday, November 10th 1:20 pm to 2:05 pm in Hall 7.1b London 3:
Windows Embedded Automotive 7 – Creating Next Generation User Experiences (UXs)

And

Thursday, November 11th 6:00pm to 7:00 pm in Hall 3.1 Interactive Theater 1:
Advanced Application debugging techniques with Windows Embedded Compact 7


See you today at the TechED and enjoy!

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

Friday, 22 October 2010

Microsoft Community Open Day München 2010

Hallo zusammen,

und ein herzliches Willkommen aus München wo heute und morgen der Microsoft Community Open Day stattfindet.


Hier treffen sich MVPs und CLIPler aus dem gesamten deutschsprachigen Raum zum Networken untereinander und mit Microsoft Mitarbeitern. Es ist wirklich toll so viele gleichgesinnte zu treffen und interessante Gespräche zu führen.

Natürlich gibt es auch Informationsveranstaltungen über die neuesten Microsoft Technologien wie das seit gestern im Verkauf befindliche Betriebssystem Windows Phone 7, Der Cloud Plattform Windows Azure, neuen Ansätzen für Datenzentren, Cloud Anwendungen wie das seit zwei Tagen verfügbare Office 365.

Wir sind hier also ganz nah am Puls der Zeit.

Vielen Dank Microsoft für diese tolle Möglichkeit!

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

Tuesday, 19 October 2010

Meet EB at SAE Convergence 2010 in the 'D' TODAY!

Meet EB's experts at the SAE Convergence, starting today, at the COBO center in Detroit.

This is your chance to learn about the newest technologies and solutions in the automotive area, including Windows Embedded Automotive 7.

You can meet and talk to us either at our booth #415 or at the Microsoft booth #709.

Look forward to seeing you there!

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

Friday, 15 October 2010

Windows Embedded CE 6.0 R3 QFEs for September 2010 have arrived!

Hi all,

The September updates for Windows Embedded CE 6.0 R3 as well as Windows CE 5.0 are available for download:


Windows Embedded CE 6.0 Monthly Update September 2010:

Fixes made in this update:

Component: COMM
  • 100927_KB2417591 - When RasHangUp is called while going to VPN connection, an access violation in ndis.dll may occur.
Component: Messenger
  • 100922_KB2391223 - This update addresses an issue with an incorrect window prompt when File Transfer is not accepted.
Component: Uniscribe

Windows Embedded CE 5.0 Monthly Update September 2010:

Fixes made in this update:

Component: Uniscribe
Remember: it’s important to keep your system up to date!

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

Thursday, 14 October 2010

Windows Phone 7 development: XnaMediaHelper_1.dll error

Hi folks,

When building an XNA Game Studio solution for Windows Phone 7 that includes any sort or media like audio or video files, you might have encountered the same problem I ran into:

error : Building content threw DllNotFoundException: Unable to load DLL 'XnaMediaHelper_1.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Well XnaMediaHelper_1.dll is the default library to compile XNA media content. The problem is, that XnaMediaHelper_1.dll is referenced by the media importers which are added by default to the content folder. Hence, XnaMediaHelper_1.dll can not be referenced directly by your XNA project.

To solve this error you need to install the “Desktop Experience” feature which includes the required codecs from your Windows 7 installation disk. If you are running a Windows 7 N or Windows 7 KN version download and install the Media Feature Pack for Windows 7 N and Windows 7 KN (KB968211) to solve this problem.

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

Wednesday, 13 October 2010

Details on my TechED Europe 2010 talks

Hi folks,

I am very excited to inform you on the dates of my talks at TechED Europe 2010 on November 8th to 12th in Berlin, Germany:

Wednesday, November 10th 1:20 pm to 2:05 pm:
Windows Embedded Automotive 7 – Creating Next Generation User Experiences (UXs)

And

Thursday, November 11th 6:00pm to 7 pm:
Advanced Application debugging techniques with Windows Embedded Compact 7

Unfortunately the rooms have not been assigned, yet. I will post an update as soon as I have further information. So stay tuned!


See you in Berlin!

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

Windows Embedded CE 6.0 Stream Interface Driver Wizard

Hi folks,

David Jones has written a wizard to simplify stream interface device driver development under Windows Embedded CE 6.0. This wizard works with the Visual Studio IDE and helps you set up an initial subproject to develop your stream interface device driver.

Find it here on the open source community CodePlex.

Thanks a lot David!

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

Thursday, 30 September 2010

Engineers’ Guide to Windows Embedded

Hi folks,

get Extension Medias this years Engineers’ Guide to Windows Embedded for free (pdf file)!


In the article Grand Designs Damian Barnett, amongst others like fellow MVP Stefan Hoppe, talks about the exciting new possibilities with Windows Embedded Compact 7 as well as Windows Embedded Automotive 7. Whereas in the article Making Connections I am giving an outlook on how Windows Embedded Compact 7 could change future devices for a more and more connected world.

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

Monday, 27 September 2010

TOMORROW: Windows Embedded Compact (Windows CE) Live Chat!

Hi guys,

Microsoft is hosting a live chat about Windows Embedded Compact next week. Do you have tough technical questions regarding Windows CE for which you're seeking answers? Then join the upcomming live chat with the Microsoft guys! And we hope, that the technical problems at the last chat are solved already.

So don't forget to put the date in your schedule and join it!!!

Title: Windows Embedded Compact Live Chat!
Date: Tuesday, September 28, 2010 18:00 - 19:00 CET

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

Have fun!


Read more! Post this to a friend!

Friday, 24 September 2010

Windows Phone 7 Developer Tools for Visual Basic.NET CTP

Hi folks,

as stated in my earlier Blog post “Windows Phone 7 Developer Tools final version released”, Microsoft just released the Visual Basics CTP (Community Technology Preview = Beta version) for Windows Phone Developer Tools which you can download here.


To use the Visual Basics CTP for Windows Phone Developer Tools you need the Windows Phone Development Tools RTW (web installer or .iso image) as well as Visual Studio 2010 Professional or higher (90 day trial version). Furthermore you can only develop Silverlight apps using Visual Basics; XNA does not support Visual Basics as of now.

You can find the official release announcement on the Windows-Phone Blog. Additionally you can find some VB samples/tutorials for Windows Phone 7 on Jason Zanders Blog.

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

Windows Embedded CE 6.0 R3 QFEs for August 2010 have arrived!

Hi all,

The August updates for Windows Embedded CE 6.0 R3 are available for download:

Windows Embedded CE 6.0 Monthly Update August 2010:

Fixes made in this update:

Component: COMM
  • 100809_KB2291255 - The IP module calculates a wrong packet header size for incoming packets.

Component: CoreOS

  • 100831_KB2390340 - Up/down arrow keys cannot be used to move through the list in the combo box.

Component: DCOM

Component: FSD

  • 100810_KB2028545 - Under certain circumstances the files in sub-directory cannot be accessed.

Component: FlashLite

  • 100825_KB982918 - This update addresses failure to load movie clips after 65k previous loads, an issue with resolving URLs, drawing an icon to the ActiveX control window prior to the Flash rendering starting and provides support for windowless mode.

  • 100831_KB2273553 - This update resolves some input focus related issues with TextField objects.

Component: Fonts
  • 100818_KB2028842 - This release updates Simsun_2_50.ac3 and Simsun_2_50.ttc fonts to meet GB2312 requirement.

Component: Kernel
  • 100809_KB2269851 - CreateNewProcHelper() not flushes cache before switching to a new process.

  • 100813_KB2286508 - Incorrect call stack is recorded by Dr. Watson.

  • 100813_KB2319498 - Registry corruption may occur due to asynchronous flashing of the registry.

Component: RAS
  • 100818_KB2362408 - When Windows Embedded CE 6.0 is configured and used as a RAS Server, it cannot establish a direct connection with the client device unless the client sends out the "CLIENT" keyword.

Remember: it’s important to keep your system up to date!

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

Wednesday, 22 September 2010

Windows Phone 7 Developer Tools final version released

Hi folks,

Microsoft released the final version of the development tools for Windows Phone 7 last week. The tools are free and consist of the products:
  • Visual Studio 2010 Express for Windows Phone
  • Expression Blend for Windows Phone
  • XNA Game Studio for Windows Phone 7
  • Silverlight 4 Tools for Visual Studio
  • Windows Phone Emulator

You can download the web installer here; the .iso image can be found here. The tools will only intall on Windows Vista and Windows 7. Microsoft will open the Windows Phone Marketplace at the beginning of October.


The current release of the Windows Phone 7 development tools is only available in English but Microsoft promises the release of the French, Italian, German and Spanish language versions in the near future.

As of now the application business logic has to be written in C# for both Silverlight and XNA. Visual Basic.NET support was announced to be released later this year.

The improvements over the beta version include new templates for pivot and panorama, improved debugging functionalities as well as French, Italian, Spanish, German and English support for the Windows Phone Emulator.

You can find the official release announcement on the Windows-Phone Blog. Further information and tutorials can be found on Scott Guthries Blog.

In addition you can download the Silverlight for Windows Phone Toolkit, which provides you with additional controls, from CodePlex.

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

Tuesday, 7 September 2010

Webcast: Creating Embedded Applications with a Modern UI / UX

Hi folks,

check out my latest webcast where I will lead you through the development process and tools of a modern User Experience (UX) for embedded applications:



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

Webcast: Windows Embedded Compact – Driver Development: Best Practice

Hi folks,

In this webcast I will shares tips & tricks as well as best practices about the driver development process under Windows Embedded Compact and Windows Embedded CE 6.0 (R3):



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

Friday, 3 September 2010

Windows Embedded Standard 7 – Learning

Hi folks,

So you are looking for Windows Embedded Standard 7 (WES7) virtual labs, video tutorials, webcasts, sample code, etc… Here you go!

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

Wednesday, 1 September 2010

Windows Embedded CE 6.0 R3 Webcasts including a SWE tutorial

Hallo folks,

Inspired by the great feedback, I have recorded some more Webcasts. This time the topic is Windows Embedded CE 6.0 R3. I also included a Silverlight for Windows Embedded under Windows Embedded CE 6.0 R3 video tutorial. So you can compare the steps necessary to create a SWE application under Windows Embedded CE 6.0 R3 vs. WEC7:

What’s new in Windows Embedded CE 6.0 R3 - Part 1:



What’s new in Windows Embedded CE 6.0 R3 - Part 2:



Tips & tricks for Windows Embedded CE 6.0 R3 – Part 1:



Tips & tricks for Windows Embedded CE 6.0 R3 – Part 2:



Tips & tricks for Windows Embedded CE 6.0 R3 – Part 3:



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

Mehr Deutsche Windows Embedded CE 6.0 R3 Webcast inclusive SWE Tutorial

Hallo zusammen,

Ich habe noch ein Webcsat für Sie aufgenommen. Hier weihe ich Sie in einige Tipps und Tricks zu den Neuerungen von Windows Embedded CE 6.0 R3 ein. Der Webcast beinhaltet auch Video-Tutorial über Silverlight for Windows Embedded unter Windows Embedded CE 6.0 R3; schauen Sie doch einfach mal rein:

Tipps & Tricks zur Anwendung von Windows Embedded CE 6.0 R3 – Teil 1:



Tipps & Tricks zur Anwendung von Windows Embedded CE 6.0 R3 – Teil 2:



Tipps & Tricks zur Anwendung von Windows Embedded CE 6.0 R3 – Teil 3:



Viel Spaß dabei!
Read more! Post this to a friend!

Tuesday, 31 August 2010

TechED Europe 2010 talks accepted!

Hi folks,

thanks for voting for our submissions for TechED Europe 2010 from November 8th to 12th in Berlin, Germany. Your wishes will be granted: I will hold both these talks at this years TechEd Europe:

Advanced Application debugging techniques with Windows Embedded Compact 7

as well as

Windows Embedded Automotive 7 – Creating Next Generation User Experiences (UXs)



I will post an update as soon as I have further information about when and where these talks will take place. So stay tuned!

See you in Berlin!

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

Thursday, 26 August 2010

SWE und EB GUIDE Artikel

Hallo zusammen,

In der aktuellen Ausgabe der Automobil Elektronik ist ein von meinem Kollegen Jan Babst und mir geschriebener Artikel über Silverlight for Windows Embedded unter EB GUIDE Studio: "Mit Silverlight und Guide Studio zur intuitiven Bedienung" erschienen.


Viel Spaß beim lesen!
Read more! Post this to a friend!

SWE under Windows Embedded Compact Webcast

Hi folks,

If you are looking for a Silverlight for Windows Embedded under the Windows Embedded Compact 7 PCTP video tutorial; here you go:

Silverlight for Windows Embedded under Windows Embedded Compact 7 - Part 1



Silverlight for Windows Embedded under Windows Embedded Compact 7 - Part 2



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

Deutsche Windows Embedded Compact 7 und Windows Embedded CE 6.0 R3 Webcasts

Hallo zusammen,

Sie sind auf der Suche nach Windows Embedded Compact 7, Silverlight for Windows Embedded oder Windows Embedded CE 6.0 R3 Video Tutorials? Dann habe ich das richtige für Sie:

Ich habe zwei Webcast aufgenommen, schauen Sie doch einfach mal rein!

Was ist neu in Windows Embedded CE 6.0 R3 – Teil 1



Was ist neu in Windows Embedded CE 6.0 R3 – Teil 2



Silverlight for Windows Embedded unter Windows Embedded Compact 7 - Teil 1



Silverlight for Windows Embedded unter Windows Embedded Compact 7 - Teil 2



Viel Spaß dabei!
Read more! Post this to a friend!

Tuesday, 24 August 2010

MARK YOUR CALENDARS: Windows Embedded Compact (Windows CE) Live Chat!

Hi guys,

Microsoft is hosting a live chat about Windows Embedded Compact next week. Do you have tough technical questions regarding Windows CE for which you're seeking answers? Then join the upcomming live chat with the Microsoft guys! And we hope, that the technical problems at the last chat are solved already.

So don't forget to put the date in your schedule and join it!!!

Title: Windows Embedded Compact Live Chat!
Date: Tuesday, August 31, 2010 18:00 - 19:00 CET

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

Have fun!


Read more! Post this to a friend!

Thursday, 19 August 2010

Ariadne's thread in the labyrinth of PCI

Do you ever setup a BSP with PCI support? It should be easy enough because all you need is there, however it is spread across your entire C:\WinCE600 folder. But what are the parts you may use without changes, what libraries must be included and what is hardware-specific and must be adapted?

You may start with the PciBus.dll. But there is nothing hardware-specific, that’s the wrong end of the thread.
There is a PCI library in the production-quality OAL (PQOAL) model, maybe that’s the right point to start. But the online help says this:

“Implements PCI bus support in the kernel. It also implements simple PCI bus configuration functions intended to be used for boot loader and KITL.”

No, it’s no KITL we want to setup. But anywhere between PciBus.dll and PQOAL must be a hardware-specific part, which must be ported to our PCI host controller.


Let’s start with some basics.
The PCI bus provides three address spaces: Config-Space, Memory-Space and IO-Space. Each PCI device “shows” its internal registers or memory in up to six so-called BARs. These BARs are in Memory or IO Space. It is common usage to iterate all buses and devices to find a specific controller on the PCI bus. Under Windows CE it’s better to implement a bus-agnostic driver calling DDKReg_GetWindowInfo(), but that’s another story.
Memory-Space and IO-Space are ordinary address spaces you may access with e.g. VirtualCopy(). The access to the Config-Space could be different: memory mapped or via special registers. As a result we need some special routines to read or write the Config-Space.

Let’s go back to the PciBus.dll:
During initialization of the PCI bus the driver reads the config space of each device and each function by calling HalGetBusData():

PCIBus.c:
Init()
Enumerate()

PCIcfg.c
PCICfg()
PCICfgBus()
/*...*/
// Loop through all device numbers
for (Device = 0; Device < PCI_MAX_DEVICES; Device++) {
SlotNumber.u.bits.DeviceNumber = Device;

// Loop through all functions
for (Function = 0; Function < PCI_MAX_FUNCTION; Function++) {
Cfg.VendorID = PCI_INVALID_VENDORID;
Cfg.DeviceID = PCI_INVALID_DEVICEID;
Cfg.HeaderType = PCI_DEVICE_TYPE;

SlotNumber.u.bits.FunctionNumber = Function;

// Read device's configuration header (except for device-specific information)
Length = HalGetBusData(PCIConfiguration, Bus, SlotNumber.u.AsULONG, &Cfg, sizeof(Cfg) - sizeof(Cfg.DeviceSpecific));

HalGetBusData() is implemented in the CeDDK:


CeDDK.h:
HalGetBusData()
CeDDK/DDK_Bus/Data.c:
HalGetBusDataByOffset()
KernelIoControl(IOCTL_HAL_DDK_CALL, ¶ms, sizeof(params), NULL, 0, &outSize);

The KernelIOCtrl takes us to the kernel:

ioctl.c from the OAL_IO_PCI.lib (Platform/Common/Src/Common/IO)
OALIoCtlHalDdkCall() implements the IOCTL_HAL_DDK_CALL
/*...*/
case IOCTL_OAL_READBUSDATA:
pParams = (OAL_DDK_PARAMS*)pInpBuffer;
pParams->rc = OALIoReadBusData(
&pParams->busData.devLoc, pParams->busData.offset,
pParams->busData.length , pParams->busData.pBuffer
);

data.c from the OAL_IO_PCI.lib (Platform/Common/Src/Common/IO)
OALIoReadBusData()
/*...*/
case PCIBus:
rc = OALPCICfgRead(
pDevLoc->BusNumber, *(OAL_PCI_LOCATION*)&pDevLoc->LogicalLoc,
address, size, pData
);

And here is the call to OALPCICfgRead():

PCI.c in your OAL:
UINT32 OALPCICfgRead(UINT32 busId, OAL_PCI_LOCATION pciLoc, UINT32 offset, UINT32 size, VOID *pData)

Well, this was the implementation for a “normal” CPU. As usual x86 is different:

ioctl.c from the OAL_IO_x86.lib (Platform/Common/Src/x86/Common/IO)
x86IoCtlHalDdkCall() implements the IOCTL_HAL_DDK_CALL
/*...*/
else if (nInBufSize == sizeof(BUSDATA_PARMS)) {
/*...*/
case IOCTL_HAL_GETBUSDATA:
pbd->ReturnCode = OEMGetBusDataByOffset(
((PBUSDATA_PARMS)lpInBuf)->BusDataType,
((PBUSDATA_PARMS)lpInBuf)->BusNumber,
((PBUSDATA_PARMS)lpInBuf)->SlotNumber,
((PBUSDATA_PARMS)lpInBuf)->Buffer,
((PBUSDATA_PARMS)lpInBuf)->Offset,
((PBUSDATA_PARMS)lpInBuf)->Length
);
break;
/*...*/
}
} else if (nInBufSize == sizeof(OAL_DDK_PARAMS)) {
/*...*/
case IOCTL_OAL_READBUSDATA:
pParams->rc = PCIReadBusData (bus, device, function, pParams->busData.pBuffer, offset, size);
break;


OEMGetBusDataByOffset()
/*...*/
case PCIConfiguration:
return(PCIGetBusDataByOffset(BusNumber, SlotNumber, Buffer, Offset, Length));

PCI.c (Platform/Common/Src/x86/Common/IO)
PCIGetBusDataByOffset()
PCIReadBusData()



Summery:
The key feature to access the PCI bus in your BSP is a good implementation of OALPCICfgRead() and OALPCICfgWrite().
And what about the KITL and PCI?
Well, KITL is an extra DLL and has no direct access to the OAL. That’s why KITL implements it’s own versions of OALPCICfgRead() and OALPCICfgWrite(). These implementations call the KernelIOCtl(IOCTL_HAL_DDK_CALL).

That’s a lot of grepping work to find out how PCI works. I hope to be your Ariadne's thread if you ever have to fix a PCI problem below PciBus.dll.

Tschüß Holger

Read more! Post this to a friend!

Monday, 16 August 2010

Windows Embedded Compact 7 PCTP: Download link fixed

Hi folks,

I stated in my previous post, that the download link for the Windows Embedded Compact 7 (WEC7) PCTP on Connect was incorrect.

Well the WEC7 download link is fixed now!


Oh, and if you have connections issues when using the WEC7 Virtual PC BSP, check out Olivier’s post!

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

Thursday, 12 August 2010

Kernel-Mode and User-Mode DLLs

The new memory architecture in Windows CE 6.0 leads us to two types of DLLs: Kernel-Mode DLLs and User-Mode DLLs. We put a Kernel-Mode DLL in the MODULES section of our BIB-File and mark it with a K:

MODULES

MyDll.dll $(_FLATRELEASEDIR)\MyDll.dll NK SK

If we want to use the DLL in both Kernel- and User-Mode we replace the K with a Q:

MODULES

MyDll.dll $(_FLATRELEASEDIR)\MyDll.dll NK SQ

MakeImg creates a copy of our DLL named K.MyDll.dll. Each version of the DLL will relocated to the corresponding XIP section in User-Space and in Kernel-Space.

Up to this point the facts are easy and every BSP developer should know about it.

Now it starts to be tricky:

What about LoadLibrary()? What happens if I try to call LoadLibrary(L”MyDll.dll”); from a driver in the Kernel context?

The answer is: LoadLibrary() loads K.MyDll.dll, you don’t have to add a “K.”!

But what if the DLL needs another DLL, e.g. My2ndDll.dll?

It is obvious that My2ndDll.dll must be also a Kernel-Mode DLL, but the name mustn’t be K.My2ndDll.dll.

Alternatively you may move My2ndDll.dll from the MODULES section to the FILES section. Remember to remove any K or Q!

MakeImg cannot resolve all dependencies in this situation:

Warning: Unable to do imports from K.MyDll.dll to My2ndDll.dll - will late bind

But if My2ndDll.dll is on your target, K.MyDll.dll will be loaded successfully.

It’s a good idea to review all DLL dependencies and think about the special functionalities of your DLLs. Some DLLs do kernel-specific things and cannot run in User-Mode, e.g. read from KSeg1 addresses. Some DLLs use application interfaces you won’t move to the Kernel, e.g. MFC or OleAut32.

Tschüß Holger


Read more! Post this to a friend!

Windows Embedded CE QFEs for July 2010 have arrived!

Hi all,
new updates for Windows Embedded CE are available for download. Some issues (especially the scheduler fix for Windows CE 6.0) have been resolved, no time to loose and get them now! More information for each update is provided in the Readme document available after the individual update(s) has been installed.

Windows Embedded CE 5.0 Monthly Update July 2010:

Fixes made in this update:

Component:  Internet Explorer

Windows Embedded CE 6.0 Monthly Update July 2010:

Fixes made in this update:

Component:  COMM

Component:  Internet Explorer

Component:  IPSec

  • 100727_KB2252004 - This update addresses a few thread leaks in udevice.exe system process.

Component:  MSFlash

  • 100722_KB2263918 - The block may get marked as bad block during CompactDataBlock process.

  • 100731_KB2289488 - During stress tests the device could get into a state where the critical compaction loop runs during boot initialization of the Flash MDD. This may prevent the device from booting.

Component:  .NET CF v3.5

  • Remote Performance Monitor crash when attempting to get GC Heap snapshot

  • RPM may show exception message "Error displaying GC heap view: The given key was not present in the dictionary"

  • TRemote Performance Monitor crash when attempting to get GC Heap snapshot

  • Deserialization incorrectly succeeds on bad XML creating bad objects

  • Data passed to Serializer is serialized twice

  • Unable to obtain information when PInvoked code or CLR generates an exception

Component:  Scheduler

  • 100723_KB2267739 - Co-processor registers may get restored in the wrong thread.

Component:  TimeSVC

Component:  USB 2.0

  • 100722_KB2193954 - This update adds missing curly brackets in CIsochronousPipe::AddTransfer.

Keep your OS up to date!


Read more! Post this to a friend!

Tuesday, 10 August 2010

Programming Windows Phone 7

Hello guys,

it should be quite interesting for all Windows Phone7 developers. The second draft preview of Charles Petzold’s upcoming Programming Windows Phone 7 ebook including several code examples is available to download :)

Image1

The final version of this ebook will be available in october and will be free!

Have fun!


Read more! Post this to a friend!

Thursday, 5 August 2010

Missing extern "C"

I'm sure most of us hit the problem of that annoying linker error "unresolved external symbol "aoein0hepqo2washpeofh a@foo" (ok, I just hammered the keyboard - it's no real live symbol name!).
After triple-checking the library link list it turns out that (again) the mixing of C and C++ modules and libraries is the root of the problem.

But what to do if you have a C++ module that references an API function declared in a header file that is not prepared to be included by C++ code?

If you are not allowed to patch the file (may be its 3rd party stuff) there is a quite simple solution:

extern "C"
{
#include
}

Cheers,
Jürgen
Read more! Post this to a friend!

Monday, 2 August 2010

Cool stuff – new Windows CE based devices from METTLER TOLEDO

Hello guys,

METTLER TOLEDO is a global manufacturer and marketer of precision instruments for laboratory, industrial and food retailing applications and launched a new generation of density meters and refractometers.

MT hired EB as a software partner to strengthen its own software team thereby utilizing EB architecture, design and software project management expertise. MT and EB jointly created a complex software solution that integrated 250 screens in 40 different device combinations on a Windows Embedded CE platform. The solution reused parts, such as the user interface concept and basic software design of a previous project for titration devices and used EB GUIDE Studio as HMI tool.

Check out the video below, which shows you the huge range of possibilities of the new devices:

Have fun!


Read more! Post this to a friend!

Wednesday, 28 July 2010

Windows CE Live Chat Transcript July 2010

Hello guys,

Just in case you missed the MS Live chat today, the transcript of the chat is available here.

Q: [1] What is the plans for Silverlight Web for CE? If it will be possible to use the same silverlight >= 2.0 what CPU/Memory will be required

A: We are continuing to evaluate the plans to bring Silverlight in the Browser support to the CE product line. We don't have details to share at this time. Silverlight for Windows Embedded delivers the same SL based UX expierence in a out of the browser hosting model. You can use the same rich designer tools (Expression Blend) And VS to build and test the application while takeing advantage of embedded hardware capabilites such as GPU offloading and hardware based media playback.

davbo-msft (Moderator)[18:18]:

Q: [7] Can you answer any questions around Windows Embedded HandHeldTerminal?

A: Yes we can answer questions around Handheld Terminal

davbo-msft (Moderator)[18:19]:

Q: [5] Yep, to echo Bob's question, is there any word about whether application development for Compact 7 platforms will be supported in Visual Studio 2010? (Is it a 'no, never' thing, a 'yes, this is coming' thing, or a 'yeah, maybe someday' thing?)

A: The Windows Embedded team is currently focused on delivering the next major version of the Windows CE OS, Windows Embedded Compact 7, which will be released later this year. Windows Embedded Compact 7 will also provide an updated version of the Platform Builder development tools as a plug-in to Visual Studio 2008. With Compact 7, the Embedded community will continue to have the same great support for developing drivers, OS images, and applications as they do with the current available version, Windows Embedded CE 6.0 R3. The enterprise support lifecycle will ensure that the Embedded development community has the needed support in Visual Studio 2008 throughout 2017.
The Windows Embedded team is working with the Visual Studio team to determine whether and how Windows Embedded Compact support would be added to Visual Studio 2010, but as of now there is nothing planned. For those developers also creating applications for Windows Phone 7, Visual Studio 2010 will install side-by-side with Visual Studio 2008.

davbo-msft (Moderator)[18:19]:

Q: [4] I mean VS 2010

A: answered as part of Question #5

davbo-msft (Moderator)[18:19]:

Q: [3] I have heard a lot of confusing and contradictory reports of support for Smart Devices running WIndows CE in VS 2008? What's the official line?

A: answered as part of Question #5

GLanger[MS] (Expert)[18:30]:

Q: [8] How will Embedded Compact 7 be different from WinCE? Is it totally new or based on WinCE 6.0? It's a bit confusing/concerning that I've found very little as to what Embedded Compact 7 will be. With the release this fall can you share any more details or point me to a web page with more information

A: Hi Mike, Windows Embedded Compact 7 is based on previous OS releases and adds new features. The best source of information is http://www.microsoft.com/windowsembedded/en-us/products/windowsce/compact7.mspx. There's information about the upcoming release and you can register to download a Public Community Technology Preview copy for evaluation now.

davbo-msft (Moderator)[18:40]:

Q: [9] Who licenses the Windows Embedded HandHeldTerminal - Microsoft or distributor?

A: For OEMs we have a few direct relationships but the majority of the OEMs go through distribution. BSquare http://www.BSQUARE.com is the only distributor for Windows Mobile and Windows Embedded Handheld today.

davbo-msft (Moderator)[18:42]:

Q: [11] Hi
I have some questions about the Silverlight for Windows Embedded
1.Should microsoft support the Silverlight for Windows Embedded with manage code in next version ,such as C#?
2.Why currently verion Silverlight for Windows Embedded do not support the "DispatcherTimer" and "Dispatcher",
How can I update the UI use another thread?

A: It is not recommended to update the UI in a second thread, but it’s possible if the VisualHost is created with AllowsMultipleThreadAccess. <http://msdn.microsoft.com/en-us/library/ee502975.aspx>; . Working on responses for the other questions and will post when information is available.

Travis Hobrla [MS] (Expert)[18:44]:

Q: [10] Is there any plan for the Direct2D or DirectWrite APIs to be supported in Compact 7?

A: No, there is no planned support for this.

davbo-msft (Moderator)[18:48]:

Q: [6] To follow up my question, Win7 phones use Silverlight Web, correct? Can you elablorate why Embedded CE 7 is different? The issue with Silverlight Embedded is that now I have two sets of code behind and then also have to re-write the app twice. It is difficult to justify this approach. Please take this and encouragement and not a complaint. I understand issues with CPU and memory but the C++ only Silverlight is something of a non-starter.

A: To our knowledge Win7 Phone doesn't use Silverlight in a browser. The same XAML can be used in both WinCE and WP7 but yes the code behind the XAML is different between WinCE and WP7.

Have fun!


Read more! Post this to a friend!

Friday, 23 July 2010

DON’T FORGET: Windows Embedded CE Live Chat on Tuesday!

Hi guys,

there is a new opportunity to chat with Microsoft about Windows Embedded CE next week. Do you have tough technical questions regarding Windows Embedded CE for which you're seeking answers? Then join the upcomming live chat with the Microsoft!

Don't forget to put the date in your schedule and join it!!!

Title: Windows Embedded CE Live Chat!
Date: Tuesday, July 27, 2010 18:00 - 19:00 CET

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

Have fun!


Read more! Post this to a friend!

Tuesday, 20 July 2010

Talking about Tech Ed ... Call to Action

If you are thinking of going to Tech Ed this year then don't miss out the opportunity of making sure you get the content you want to hear!

On the Tech Ed site you can vote which sessions you would like Microsoft to include in the event.

To select your preference simply go to http://europe.msteched.com/sessionpreference choose the right Track in the drop down box: Windows Embedded and select the session you would like to hear.

And I'm quite sure you will especially like the following two sessions:

Advanced Application debugging techniques with Windows Embedded Compact 7

and

Windows Embedded Automotive 7 - Creating Next Generation User Experiences (UXs)

So make sure you add these two sessions to your List - now!

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

Get ready for a very busy autumn (== fall)!

Start planning your schedule and saving dates for this autumn as it is going to be a very busy one this year (at least in europe)!

Not only will the upcoming versions of Windows Embedded Compact and Windows Embedded Automotive be launched (hopefully!) but there are also several events where such a launch could take place - I wonder where?

Let's have a look:
In the beginning of October especially the partners and distributors will be nervous as the annual WEPP Summit takes place and numerous Excellence Awards for Outstanding Efforts will be awarded.

Then, beginning of November Microsoft's Embedded Group, together with partners, will be attending the electronica in Munich, November 9 - 12.

Simultaneously, Tech Ed Europe is taking place in Berlin, November 8 -12.
Don't forget to register!


And to wrap things up, SPS/IPC/Drives takes place as usual in Nuremberg, November 23 -25.

Hope to see you around at one of the numerous events this autumn!

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

Tuesday, 13 July 2010

Windows Embedded Compact 7 - Windows Embedded Silverlight Tools

Hi folks,

Today I want to talk a little more about the Windows Embedded Silverlight Tools (WEST) that come with Windows Embedded Compact 7 (WEC7).

As explained in my Silverlight for Windows Embedded (SWE) tutorial for WEC7, WEST generates most of the C++ glue code that with Windows Embedded CE 6.0 R3 we would have to write ourselves!

But can WEST be used to write a stand-alone application without Platform Builder?

Well WEST generates a Platform Builder subproject that can not be used out of the box as of now. This subproject contains, amongst others, a sources file, .bib, .reg, .dat, and .db files as well as a .pbxml file. There is no .sln file. So in order to use the Platform Builder subproject generated by WEST, we need to create a solution using the generated source files as well as a WEC7 SDK including SWE support.

How about using WEST to generate code for SWE in Windows Embedded CE 6.0 R3?

First of all WEST installs in Visual Studio 2008 SP1 whereas Windows Embedded CE 6.0 R3 is a plug-in for Visual Studio 2005. So you need to have both versions of Visual Studio installed.

I created a simple SWE project for Windows Embedded CE 6.0 R3 in Expression Blend 2, similar to the one I showed in my SWE tutorial for WEC7. Surprisingly, WEST generated the C++ glue code for my simple SWE project for Windows Embedded CE 6.0 R3 and it even ran without problems on WEC7.

But when trying to import the C++ code generated by WEST into a Windows Embedded CE 6.0 R3 subproject, I experienced some build errors. After including the correct header files and tweaking the sources file a little, I saw that the API set was extended in SWE for WEC7. In my specific example the SetResource() function as well as the XRXamlSource constructor was extended by a version that takes 2 arguments that is not available in SWE for Windows Embedded CE 6.0 R3.

After adjusting those calls my WEST generated sample compiled under Windows Embedded CE 6.0 R3.

Summary:
I would advice against using WEST to created SWE C++ code for Windows Embedded CE 6.0 R3 as even in my very simple sample project there were a lot of things to take care of manually. Instead rather use fellow MVP Valter Minutes comandline tool XAML2CPP to generate the C++ glue code for SWE for Windows Embedded CE 6.0 R3 projects.

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

Windows Embedded CE 6.0 R3 QFEs for June 2010 have arrived!

Hi all,

The June updates for Windows Embedded CE 6.0 R3 are available for download:

Windows Embedded CE 6.0 Monthly Update June 2010:

Fixes made in this update:

Component: COMM
  • 100614_KB2132759 - Memory leaks may occur when objects are instantiated but are not deleted appropriately.
  • 100614_KB2201469 - On platforms without GWES, the redirector waits for GWES's initialization until timeout. Default timeout 60 seconds is too long for some scenarios.

Component: COREOS
  • 100616_KB2028762 - This update addresses a memory leak.
  • 100625_KB2175412 - Function call to _wfdopen may result in exception.
  • 100629_KB2249451 - The buffer size for ToolHelp snapshot is fixed to 4MB. For systems with large number of heaps and large heap sizes, some heap information is missing from the ToolHelp snapshot.

Component: DirectX
  • 100630_KB2076770 - This update addresses the issue with the API IMediaSeeking::GetCurrentPosition() returning wrong value when the rate changes.

Component: Filesys
  • 100603_KB982220 - Memory leak may occur while un-mounting and mounting NAND Flash file system through predefined API.
  • 100604_KB2159499 - NAND corruption may occur when power dropps during NAND Flash Driver un-mount.
  • 100614_KB982817 - Error message "failed formatting" shows in debug builds regardless the status of the format results.

Component: Kernel
  • 100612_KB977855 - This update enables write-allocate feature to improve ARM Coretex-A8 L2 Cache performance in kernel.
  • 100614_KB2165755 - Under certain circumstances a page fault in KCall may occur.
  • 100629_KB2250984 - This update installs missing source files necessary for building LMEM.

Component: MSFlash
  • 100615_KB2128768 - File system corruption may occur when trying to access bad block in the free list.

Component: NetConnectionsUI
  • 100604_KB2127600 - Memory leak may occur when the LoadLibrary API is used but there is no corresponding FreeLibrary API call.

Component: RDP
  • 100629_KB2211240 - The hour glass shows when image does not have SYSGEN_CURSOR defined.

Component: RTC
  • 100625_KB2259100 - Windows Embedded CE 6.0 client may not correctly parse SIP header without angle brackets.

Remember: it’s important to keep your system up to date!

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

Friday, 9 July 2010

…and the winners are:

Congratulations to the winners of Microsoft’s competition for students: Imagine Cup 2010! Over 325,000 students from more than 100 countries participated in three categories in this years Imagine Cup with the theme: “Imagine a world where technology helps solve the toughest problems”:


Winners:
Software Design:
Team Skeek from Thailand with “eyeFeel”, a program that helps communicating with people with a hearing disorder

Embedded Development:
Team SmarterME from Taiwan with a smart electricity meter

Game Design:
Team By Implication from the Philippines with a game animating students to work in an honorary capacity

Each winning team was awarded $25,000, again congratulations!

You can participate in next years Imagine Cup here.

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

Monday, 5 July 2010

Customizing oomui (Out of Memory User Interface Component)

Hello guys,

There are quite a lot helpful articles trying to guide you to the more or less painful steps of substitution of public CE components. First I had a look at the CE 6.0 online help and "Customizing a UI Component". MS advices you to modify public code ...

Everyone knows - that's really a bad!
Some time ago there was an article by Steve Maillet, referenced by many newsgroup posts. But it isn't there anymore (http://www.embeddedfusion.com/Articles/CustomCoreUI.htm). Do you have a local copy? Please spread it!

In the end I played around with the various environment variables listed in the help topic and - what a wonder - when sysgen finally buildt gwes.dll the linker took my own oomui.lib. So, technically the solution works - but only at first glance! I didn't want to run an extra sysgen step to get my version of gwes.dll. The solution has to work in a single sysgen run, too.
One of my colleagues told me that he runs nmake to build the usb stack. So, I spent some time playing around with nmake, environment variables and trying to understand the involved makefiles, batches and so on. Finally I arrived at the conclusion that this way does not work. Unfortunately, some libraries are deleted by building the gwes target so I always ended up with linker errors (at least _GwesMain).

May be I missed something. If you have got a clue let me know! But as far as I noticed there is no other way to hook into the sysgen step (after platform binaries have been built) to get gwes.dll linked with the platforms oomui.lib.

My solution is quite simple and definitively works without any changes to public code. The only disadvantage is that you have to copy the files after you changed something in your oomui code.

1. Clone oomui code from \PUBLIC\COMMON\OAK\DRIVERS\OOMUI
2. Adapt it according to your requirements, e.g.



void OomUI_OnShow (void)
{
RETAILMSG(1, (TEXT("%S"), "This Text is just for checking correct linking"));
}
BOOL OomUI_FShowOomWindow (void)
{
return 0;
}
LRESULT CALLBACK OomUI_OomWndProc (HWND hwnd, UINT message, WPARAM uParam, LPARAM Param)
{
return DefWindowProc(hwnd, message, uParam, lParam);
}

LRESULT CALLBACK
OomUI_NotRespondingWndProc (HWND hwnd, UINT message, WPARAM uParam, LPARAM lParam)
{
return DefWindowProc (hwnd, message, uParam, lParam);
}
void OomUI_SetWindowsInfo (int cApps, WINDOWINFO *rgwi)
{
}



3. Compile (modify sources and makefile.inc before)

makefile.inc:

resfile: $(_RELEASELIBDIR)\$(RESFILE)

$(_RELEASELIBDIR)\$(RESFILE) : $(_OBJDIR)\$(RESFILE)
copy $? $@


sources

resfile: $(_RELEASELIBDIR)\$(RESFILE)
$(_RELEASELIBDIR)\$(RESFILE) : $(_OBJDIR)\$(RESFILE)
# lib will be stored in C:\WINCE600\OSDesigns\\\Wince600\_\oak\lib\\\oomui.lib
RELEASETYPE=OAK

TARGETNAME=oomui
TARGETTYPE=LIBRARY

CDEFINES= $(CDEFINES) -DGWE

!IFDEF MEM_ACCOUNT
CDEFINES=$(CDEFINES) -DMEM_ACCOUNT=1
!ENDIF

SOURCES=oomui.cpp
RESFILE=oomui.res
WINCETARGETFILES=resfile
FILE_VIEW_INCLUDES_FOLDER=oomuirc.h
FILE_VIEW_ROOT_FOLDER=oomui.rc


4. Add oomui to the appropriate dirs file
5. Copy oomui.* files to \prebuild\oomui\ directory (you have to add this directory to change control system)
6. Extend your .bat:


set REPLACE_SYSGEN_OOMUI=1
set GWES_REPLACE_COMPONENTS=oomui
set REPLACE_ROOT=%_PROJECTOAKROOT%\..


Done!

As already mentioned: I really appreciate improvements, hints, comments!

Cheers,
Jürgen


Read more! Post this to a friend!