Posted By: Charles | Sep 7th, 2006 @ 2:06 PM
The upcoming release of Windows CE 6.0 ships with a redesigned kernel, memory model and device driver architecture, Juggs Ravalia is a Program Manager on the Windows CE drivers team who gives us the low down on the new driver architecture and what that means for embedded device developers. Mike Hall, Senior Product Manager and Channel 9 correpsondent, conducts this interview.
Rating:
0
0
LiQ
LiQ
There was a lot of knowledge shared here. I can't say I understood it all, but it's really inspirational.

I think this clip was better than the other on CE 6.0. Seems like a lot of confusion in that clip.

Great job. Show us your... skills... Wink
Thanks LiQ for your comments

Let me know what needs further clarification if any and I will do my best to explain it better Wink
Will watch the video tonight.  Question:
I asked a question to Peter Wieland on his Channel 9 video of UMDF about if the source code for a UMDF can be recompiled in the Windows CE 6.0 environment and the Driver will run.   He replied and left the question open.

You can of course see the benifits of this just as WDM did for Windows 98 and Windows 2000.   You get of course "free" drivers shared between Windows and Windows CE.

-William Michael Jones



I enjoyed the video.
(1) On all of the interviews on Channel 9, why not use the PC tablet instead of a white board.  Hard to see the white board.  Cool app time maybe for creating presentations.  Use it here then sell it.
(2) Just a suggestion, synchronous and asynchronous sounded exactly the same Juggs on the Video.
(3) After adjusting to the two above the presentation was Excellent.  You are clear and you convey understanding. Thank you. I for one liked when you showed how some of the supported Kernal apis are supported in both kernel and user mode.  Also the statement the Reflexor is the nucleus of the UMDF. 
(4) Using UMDF in Windows CE stills teases me with respect to porting code from Windows to Windows CE.
Hi Juggs,

How many drivers do my Windows Embedded CE Device has on an average ?
William

We have been working hand in hand with Peter Wieland to make sure our technologies align well. That said, drivers today on the desktop and CE are of different forms and whenever we think of introducing WDM compatibility for CE, we always wonder if there are a ton of chips shared across the two platforms and the ROM Size implications

Rest assured, we are always working to get the best for our customers for all platforms
Mjones--

1) Cool idea, the white board is quite clear in reality. The camera capture might need to tweaked.

2) Right the notion of synchronous and asynchronous here might be confusing, but of highly important value and so I will clarify here:

When porting your drivers to CE 6, if the driver is going to access the caller's buffer on the caller's thread, then it falls under the synchronous access arena and you dont have to do any marshalling since the kernel driver can access the caller's buffer directly. That is to say that the kernel guarantees that the caller's process is mapped when the caller's thread is running and hence the kernel driver can be sure that it is accessing the correct buffer when doing so on the caller's thread.

If on the other hand the driver is going to access the caller's buffer on a thread that belongs to some other process, say the kernel, then it falls under asynchronous arena and the driver has to marshall the buffer using the marshalling APIs so that the kernel driver has a local copy of the buffer that can be accessed when needed on any thread

The marshalling need here arises from the fact that you cannot be sure of the user process mapped when accessing the caller buffer on some other thread. And so, you have to marshal the buffer initially on the caller's thread to get a local copy for future use. The local buffer can then be accessed by any other driver thread and upon completion needs to call the right API to free up the local buffer and to copy back the buffer to the caller's process.

Let me know if this helps - else I will put up some diagrams to illustrate this clearly

3) Thank you for your kind words. And thank you for your patience in listening and understanding these complex concepts.

4) Tongue Out
Hello  funkster--

The number of drivers really depend on the CE Device you are building or refering to. But on the general, a CE device will have some Storage/block driver, some networking driver(s), probably an Ethernet Debug one, soemtimes USB and SD/SDIO, Audio for others and Display/Video for those with screens and soetimes with Touch for touch capability. In addition I have seen PCMCIA/PC Card, Keyboard, Mouse Input drivers, Serial/Parallel so you can see exactly how the average is so hard to define across the numerous different CE Devices.

Is there any particular information you are tryign to gether that I might be able to help with?

Thanks, Juggs!

I am into tech Quizzing, and was gathering information for upcomming quiz on Windows Embedded CE Big Smile.
If i am not wrong any fresh WinXP installation with default hardware (USB, NIC etc.)will have around 200 drivers in its system folder and out of them only half of them are frequently used! So i was curious about devices with small footprints.

BTW, Thank you once again and awesome video;)