Native Code Application Development for Windows Embedded Platforms

Posted March 4, 2003

Chat Date: February 5, 2003

Please note: Portions of this transcript have been edited for clarity

Chat Participants:

  • Jean Gareau, Embedded MVP
  • Robert Burdick, Embedded MVP
  • Zoran Galovic, Embedded MVP
  • Mike Hall (EAPG), Product Manager
  • Michael Fosmire, Community Program Manager

Moderator: Mike Fos (Microsoft)
Q: What's different about an MVP chat (some MVPs as hosts?)?

A: MVPs are not Microsoft employees, but they're experts in using Microsoft products!

Moderator: Jana (Microsoft)
This chat will be hosted by some of our best MVPs within the Windows Embedded space.

Moderator: Mike Fos (Microsoft)
We have roughly 75 MVPs in the Embedded space, dealing with Windows XP Embedded, Windows CE .NET and the associated dev tools

Moderator: Mike Fos (Microsoft)
Welcome to Today’s MVP chat regarding Native Code Application Development for Windows Embedded platforms! Questions, comments, and suggestions are welcome.

Moderator: Mike Fos (Microsoft)
Let’s introduce our hosts for today.

Host: J Gareau (MVP)
Hi this is Jean Gareau, currently leading Bluetooth development work on PocketPC (such as iPAQ545x). I have been focusing on PocketPC application development for the past two years. I was previously involved in WCE development using Platform Builer.

Moderator: Mike Fos (Microsoft)
Robert Burdick. Author "Essential Windows CE Application Programming", also run wAppearances, a wireless on-demand content delivery company.

Host: Zoran (MVP)
Hello everybody! I am Zoran Galovic, Embedded MVP. I am responsible for DotNetEmbedded Solutions which have specialized in WCE .NET, .NET Compact Framework and offers solutions in conjunction with .NET, .NET Web Services, ASP.NET, ADO.NET. I have had speaking engagements and publications on various embedded and industrial conferences.

Moderator: Mike Fos (Microsoft)
Welcome everyone, let’s get started!

Host: J Gareau (MVP)
Q: Will we see a transition to complexly managed code for the PocketPC? Will eVC still be needed?

A: eVC++ will remain for native code development.

Host: J Gareau (MVP)
Q: Will eVC++ become like the VC++ 7.1 compiler in regards to mixing native and managed?

A: eVC++ 3.0 is for native development, eVC++ 4.0 is for .NET platforms, and VS is also for .NET development. No future plans in terms of integrating tools further.

Host Guest_rburdick (MVP)
Q: Is XScale pretty much the processor of choice right now for power?

A: Yes

Host: J Gareau (MVP)
Q: Any idea when we will see a Pocket PC 200x based on WinCE 4.1?

A: PPC2003 will most likely be based on it. OEM will certainly release devices in the next months.

Moderator: Mike Fos (Microsoft)
Q: Ginny : Can you give us any specifics about PPC2003 yet?

A: Not yet. ;-)

Host: Mike Hall (Microsoft)
Q: Does ewf work? starting our 1st XPE project soon... newsgroup filled with ewf problems...

A: This chat isn't covering Windows XP Embedded technologies - yes, EWF does work, you should post any EWF specific questions to the newsgroup

Host: Zoran (MVP)
Q: Have any decision been made concerning the future of eVB, of any?

A: eVB is going to disappear. Everything is moving towards VB .NET and eVC is an interim solution.

Host: J Gareau (MVP)
Q: Know of any devices that can tunnel IR over Bluetooth, to communicate with legacy IR-only devices (like some tvs)?

A: This feature is not available today.

Host: Zoran (MVP)
Q: What's the best way to get text to speech (and speech to text) on a PPC2k2?

A: There is a Speech.NET SDK. I am not sure if it is supported by .NET Compact Framework so you could use it on PocketPC2002 platform.

Host: J Gareau (MVP)
Q: Will eVC++ be integrated with VS, so that we can target different platforms from within a single IDE?

A: It was like that (WCE development via Visual C++ 5.0) and for some reasons, the eMbedded Tools were instead promoted. Maybe all the tools will eventually be merged back into VS...

Host: J Gareau (MVP)
Q: What are some of the benefits XScale offers besides faster clock speeds?

A: It's better for OEMs (cost, performance, hardware integration, etc.)

Host: Mike Hall (Microsoft)
Q: Does the CF have a XScale optimized JIT?

A: That's a great question for tomorrows Managed code chat - can you come back tomorrow?

Host: Mike Hall (Microsoft)
Q: For C++ development, is either VS 6.0 or VS.net (C++) preferable?

A: eMbedded Visual C++ 3.0 for Windows CE 3.0 - eMbedded Visual C++ 4.0 for Windows CE .NET

Host: Mike Hall (Microsoft)
Q: bobt : How about for XP embedded?

A: any tool that can create NT/2000/XP binaries can be used to develop applications, VS.NET, VC 6, Turbo Pascal etc...

Host: J Gareau (MVP)
Q: When will we have pts in the evc++ compiler?

A: What do you mean by pts?

Host: J Gareau (MVP)
Q: BTW: Has jgareau a real name?

A: Jean Louis Gareau

Host Guest_rburdick (MVP)
Q: Which kinds of scenarios (besides drivers) is native code a better choice than il?

A: One example is building thin client browser applications, for example using the built in PocketIE components. The .netCF currently doesn't wrap this functionality in a managed class. Also, if you need to build control panel applets, native code (so far) is your only choice. Also, at present doing any serial IO (such as taling or IRComm) must be done in native code, via P/Invoke.

Host: Mike Hall (Microsoft)
A: Native code is great for drivers, real-time applications, control panel applets, and of course small footprint devices - the .NET CF is about 1.3MB in size - Win32 Native doesn't need a runtime.

Host: Mike Hall (Microsoft)
Q: Since .net is mentioned...is it available/supported for Win XP Embedded?

A: Yes, the .NET Framework is now a component with Windows XP Embedded SP1.

Host: J Gareau (MVP)
Q: Do you predict that for many applications, people will quickly move to managed code, P/Invoking where needed, or does native still have a long lifetime for > 50% of all apps?

A: I think there will be room for both, a little like eVB and eVC++ applications.

Moderator: Mike Fos (Microsoft)
Q: When will we have partial template specialization in the evc++ compiler?

A: Looks like you've stumped our experts. Congratulations! Unfortunately, we don't have folks in the chat today from Microsoft product team who are responsible for this area and can address this.

Moderator: Mike Fos (Microsoft)
Q: Does he win a prize or something?

A: Yes...but he'll have to come to Redmond to pick it up Ask for Mike when you get here. :-)

Host: J Gareau (MVP)
A: How hard is native XScale or ARM? If one knows x86/IL is it hard to pick up?

Q: It's completely different. Knowing X86 assembly language gives a good base, but lots of hours are required to get into the StrongARM/XScale.

Host: J Gareau (MVP)
Q: Know any good tutorials on StrongARM/XScale?

A: There are a few books out there. I suggest to stop by your nearest bookstore or go online to browse a little... Also there are the Intel ref manuals...

Host: Mike Hall (Microsoft)
Q: I forget, is Automotive wince available for free for personal use?

A: There is a Windows CE for Automotive development kit - go to this page to get more information - https://www.microsoft.com/automotive/windowsautomotive/partners/faq.mspx

Moderator: Mike Fos (Microsoft)
Q: When will we have partial template specialization in the evc++ compiler?

A: (courtesy of Mario Chenier, Microsoft) For the next version of VS we are planning to integrate Native Device support into VS and as part of that work it will be to update the compilers that are used. PTS should be available for the next version of VS. We are still in planning and the beginnings of development though. "next version" being a couple of versions out actually.

Host Guest_rburdick (MVP)
Q: What are the alternatives, advantages and disadvantages for live video on a Pocket PC from a programmatic standpoint?

A: As far as client side programming, there's the Windows Media Player SDK. It's a navtive code ActiveX control based wrapper for the Windows Media Player functionality. Advantages are that you can embed the control in web pages or any client application, giving you full Media Player power with your own look and feel. The biggest disadvantage from my point of view is you need to program native ActiveX controls. Not the end of the world, but certainly more tedious than .NEtcf development. Also there are the usual network bandwidth issues, but these are programmatic problems.

Host: J Gareau (MVP)
Q: Does anybody have any idea what percentage of eVT developers use C++ compared with VB?

A: By browing the software sold at PocketPC.com (via Handango), best sellers are definitely in eVC++, especially those that integrate in the shell and tools. Applications that focus on data management are often written in eVB. So Id say it's about 50-50.

Host: Zoran (MVP)
Q: What is the next version of VS? Everett aka VS.NET 2003? Everett has LOTS of support for devices.

A: The next version of VS is VS .NET 2003 (Everett edition). It is in public Beta and it could be downloaded. It runs on the top of .NET framework v1.1 and .NET CF support is integrated into it. (It flies …)

Moderator: Mike Fos (Microsoft)
Q: Is native code significantly faster than managed code in XP Embedded?

A: Native code/managed code execution should perform in the same manner In Windows XP Embedded as it does on Windows XP.

Moderator: Mike Fos (Microsoft)
Q: Maybe this was already covered but has Microsoft added any processor specific macros to assist native coders in writing more secure code?

A: Drat, stumped again. :-( The experts on the chat today aren't sure.

Host: Mike Hall (Microsoft)
Q: I was actually asking for the "ATL Server" thing (no not a ATL COM Server or something)

A: The eMbedded Visual C++ Wizard provides for ATL objects as both DLL or Executable

Host: Zoran (MVP)
Q: I'm wondering about the efficiency of managed code when run from a CD-ROM XP Embedded app.

A: XP Embedded SP1 supports .NET Framework as a component, so your application will run from memory not from CD.

Moderator: Mike Fos (Microsoft)
Thanks for joining us today and thanks for the questions. A special thank you to all our hosts today: Mike Hall, Zoran, Robert, and Jean! It's time for us to go now.

For further information on this topic please visit the following:

Newsgroups: Mobile and embedded application development topics

Embedded Transcripts: Read the archive

Website: Visit the Mobile & Embedded Developer Center

Top of pageTop of page