Welcome to MSDN Blogs Sign in | Join | Help

Barry Bond Emulation interview on MSDN Channel 9

Check out the interview with Barry Bond, architect (and developer) on the ARM based Device Emulator for Windows CE and Windows Mobile - interview is now available for viewing on MSDN Channel 9.

- Mike 

WindowsForDevices: Shared Source Contest: Results are in...

WindowsForDevices has been running a Windows CE Shared Source Contest - people taking part in the competition were challenged to build a cool device using the USB WebCam Shared Source driver and the Windows CE DVR engine - more information about the competition and the winners is available on the WindowsForDevices Shared Source Contents page

- Mike

What's with the moon ?

When I was at MEDC Malaysia with Loke and the MEDC team I noticed the new moon looked different to the new moon we typically see in Seattle and in the UK - the UK/Seattle new moon is just like the Dreamworks logo (see first image below)

but, when in Malaysia, the new moon looked like this...

Same moon, same week, different location - so why is the moon on it's side ?

- Mike

posted by mikehall | 9 Comments

LinuxWorld: March of the Penguins...

Yesterday, Jason Stolarczyk, Dan Javnozon, and Mike Hall (yep, that's me!) headed for LinuxWorld - we took over part of Jillians close to the Moscone Center (location of the conference) - interestingly, none of the well big/known Linux players were at LinuxWorld this year (found that to be very interesting).

We invited attendees from LinuxWorld to "march" over to Jillians (perhaps a march of the penguins) see photo below...

March of the Penguins

We probably had around 100 people or so turn up to the meeting, had some arrive to chat before we were "open for business", and also had the VP of LinuxWorld turn up to see what we were doing (and perhaps grab some chicken wings and a beer).

Here's some photos from the meet/discussion - there were some really interesting discussions, and certainly a number of common mis-perceptions about access to Windows CE source, speed of development of both operating systems and applications, community and more - I think the discussions and tools demos were useful - there were certainly a number of comments about how easy it was to develop a CE 6.0 operating system image, add applications and debug the operating system.

So, on to the photos... Here's the crowd enjoying beer/food - the bar wouldn't let people leave the bar with their beer, so they either needed to abandon their beer or stay and talk about Linux/Microsoft technologies!

Here's Mike (someone or other) giving a demo of the CE 6.0 development tools - that certainly raised a number of questions about operating system architecture, access to source, componentization (is that a real word?), native and managed development, and a bunch of other things - very interesting, I'd like to have more of these conversations with Linux developers.

Not sure where this photo came from - this is a photo of some guy outside LinuxWorld holding a piece of card with something written on it, unfortunately we can't make out what it says, perhaps it's time for you (the reader) to come up with an appropriate title for the banner...

If you came along to the Microsoft discussion then do drop a comment with your thoughts/comments from the meeting.

- Mike

Jason Browne, bSquare, Windows CE Blog.

Jason Browne, a software developer at bSquare has now created a blog (hoorah!) - the blog is going to be focused on the next release of Windows CE, version 6.0 which is planned to be released this calendar year. So far Jason has provided information on some of the core memory architecture changes and API changes between Windows CE 5.0 (the current shipping version of Windows CE) and CE 6.0.

 

I'm looking forward to keeping up with Jason's blog - having seen some of Jason's presentations at MEDC I would expect the blog to be both useful and entertaining.

- Mike 

posted by mikehall | 1 Comments
Filed Under: ,

Feedback on Windows XP Embedded Feature Pack

The Windows XP Embedded SP2 Feature Pack CTP (Community Tech Preview) was released to the web in July, if you've downloaded the CTP and have any comments or feedback you can submit this directly through the Windows XP Embedded Connect Site.

- Mike

posted by mikehall | 0 Comments
Filed Under:

Windows CE - Developing applications for "retail" devices.

When writing a managed application today against a debug (or retail) Windows CE 5.0 device (using Visual Studio 2005) you need to run two applications on your target device (conmanclient2 and cmaccept) before connecting VS to your target - for native applications you can use eMbedded Visual C++ 4.0/SP4 which can piggy-back your existing Platform Builder connection.

ActiveSync provides the link between the desktop and Windows Mobile devices for application development and debugging - but what about shipping CE based devices ? - the majority of embedded devices are shipping without support for ActiveSync, perhaps don't have serial or USB support on the device and may just have a TCP/IP connection (and note that TCP/IP ActiveSync hasn't been around since version 4.0) - so, given just an IP address how do you write/deploy/debug applications against a retail CE device - from eMbedded Visual C++ 4.0 this was of course possible using a simple command line on the device, clicking your heels together three times and spinning around in your chair - here's how the command line looked, simple, eh!

CEMGRC.EXE /T:TCPIPC.DLL /Q  /D:192.168.2.1:5913

With CE 6.0 both native and managed application development will be supported in Visual Studio 2005 - this means that you will have to run ConManClient2 and CmAccept on your device before connecting Visual Studio 2005 - also note that you have three minutes in which to connect VS 2005 to your device otherwise the connection times out. For device development and debugging this seems ok, and "open" devices like Pocket PC/Smartphone have ActiveSync to host their Visual Studio development/debugging connection - but what about CE based 'embedded' devices - do you have much of a need to write/deploy/debug applications to a shipping 'embedded' device ?

- Mike

So quiet ? - And where's the Windows CE 5.0 Virtual Labs ?

You are probably wondering why the blog appears to be quieter than normal - Over the last few weeks and over the next couple of weeks I'm working on a number of CE 6.0 virtual labs, technical articles, interviews with people from across the CE team to be posted to MSDN Channel 9 and a bunch of other CE related 'stuff'.

 

Talking of which - the first Windows CE virtual lab is available on the MSDN Virtual Labs site - this has raised some questions about why we didn't post any Windows CE 5.0 virtual labs - the answer is fairly boring straight forward  - For a virtual lab you really need to use the emulator as a target for the lab exercises, in the upcoming CE 6.0 release the emulator is a Win32 application that interprets ARM instructions and translates to the appropriate x86/Win32 calls - since this is "just an application" the ARM emulator runs just fine in a Virtual PC environment [we're using Virtual PC to host the Virtual labs - note that even though they are called 'virtual labs' the labs are actually real :O) ] - If you want to get more information about the device emulator then you should go check out Barry Bond's blog.

For Windows CE 5.0 the emulator was an x86 emulator based on Virtual PC - you're probably aware that Virtual PC doesn't like running inside a Virtual PC environment - so that's why we're not working on Windows CE 5.0 Virtual Labs.

- Mike

University of Florida and Windows XP Embedded win Autonomous Underwater Vehicle Competition

This is awesome, for the second year running the University of Florida have won the AUV (Autonomous Underwater Vehicle) Competition.

Click here to get the final standings from the competition.

 

The AUV from the University of Florida is running Windows XP Embedded - it would appear that the initial o/s image took a couple of days to get up and running and then just minor tweaks through to the event - I wonder if University of Florida are considering the Microsoft Robotics Studio for next years competition. The AUV competition rules can be found here.

Here's an extract from the competition rules - seems like this would be a really interesting project.

The fundamental goal of the mission is for an AUV to demonstrate its autonomy by completing three
tasks. One task is to rendezvous with a “docking station” (Station A). Another task is to have the vehicle
inspect a pipeline and marking an area in the pipeline (Station B). The third task is to home in on an
acoustic beacon and breech within the zone marked on the surface with floats (Station C).

- Mike

Windows Embedded @ LinuxWorld ! (again)

If you are attending LinuxWorld in SFO on August 16th why not come along to Jillian's @ the Metreon from 6pm - 8pm (just across the street from the conference center) to chow down on some Penguin Chicken Wings and talk about embedded operating systems with some of the guys from the Windows Embedded team ? - We came to LinuxWorld last year and had some great conversations about Linux, Windows CE, Windows XP Embedded, and Windows Embedded for Point of Service - if you feel like getting a mouthful (of Chicken Wings) and giving us a mouthful (about embedded operating systems) then feel free to come and chat.

- Mike

posted by mikehall | 2 Comments
Filed Under: ,

Windows CE 5.0 and CE 6 Beta Live Chat!

We have a Windows CE 5.0 and CE 6.0 Beta MSDN Online Chat coming up - this is a great opportunity for you to bring your Windows CE questions, either for the currently shipping release of Windows CE 5.0 or the upcoming release of CE 6.0.

More information about upcoming chats can be found on the MSDN/Chats page.

Here's the information about the Windows CE online chat.

Date: August 30th

Time: 9:00 - 10:00 Pacific Time

Here's a link to the MSDN Chat Room

- Mike

posted by mikehall | 3 Comments
Filed Under: ,

MSDN Chat: Windows XP Embedded Feature Pack

We have a Windows XP Embedded Feature Pack discussion coming up on MSDN - so mark your calendars and bring your Feature Pack questions! - Some information about the feature pack "Features" can be found on the Windows Embedded Blog.

Chat Date: August 15th

Time: 10:00 - 11:00 Pacific Time

On the day of the chat you can get into the MSDN chat room using this link.

Information about other up-coming MSDN/Embedded chats can be found on the MSDN Chats Page.

- Mike

Why Windows CE Shared Source and Community Projects?

Windows CE has been shipping with Shared Source for some time now (at least since Windows CE 3.0 which shipped way back in 2000) and perhaps even earlier if you consider the BSP code that shipped with Windows CE 2.0 (1997) for devices like ODO (the Hitachi D9000) which formed the basis of a whole range of other BSPs.

<diversion>ODO as a name has some history, many of the Windows CE development team were (and probably still are) Trekkies and at the time of Windows CE 2.0 launch were more than likely watching Star Trek Deep Space 9 which featured an interesting character by the name of ODO who was a Constable on DS9. ODO was a changeling, or shape-shifter - the Hitachi D9000 (ODO) was in many respects a hardware changeling, in so much as the base board didn't have a processor, you plugged in a processor board which would then provide the personality or "shape" of the underlying hardware.</diversion>

With each new release of Windows CE more components/technologies of the operating system are added to shared source - there are two levels of shared source - the "public" shared source that ships with the evaluation versions of Windows CE and the full Windows CE product. And the second level is Premium Source that doesn't ship with the Windows CE products but is available through an application process - premium source ships most of the operating system as source with the Windows CE premium source release.

So why does Microsoft ship shared source with Windows CE ? - there are a number of reasons - Windows CE is not like Windows XP/Embedded - for the desktop version of Windows XP (and Windows XP Embedded) the underlying processor architecture and hardware is x86 processor and PC architecture hardware - there isn't a "porting" process to get Windows XP/Embedded running on a new system - the underlying hardware/processor for an XP/Embedded system is consistent across devices - this is clearly the case, take the Windows XP installer that installs the desktop operating system on the wide range of PCs and Laptops that exist today - sure some of the peripherals are different, but the underlying hardware configurating is the same - for Windows XP Embedded tools such as TA(p) [Target Analyzer] can be used to take a snapshot of your taget system hardware configuration and then make it easy to configure/boot a Windows XP Embedded o/s.

Windows CE on the other hand doesn't need to run on x86/PC Architecture hardware - the operating system can run on ARM, MIPS, SH4, and x86 processors with very little hardware requirements - in this case developers need to "port" the operating system to their custom hardware, this typically involves working on a bootloader, OEM Adaptation Layer (OAL), device drivers etc... - having access to shared source is useful in this device bring up phase, giving developers the ability to set breakpoints in source, single step source, examine registers, memory, call stacks etc... and also modify the source to add additional debug information. Shared Source can also be modified and shipped on your device without needing to provide any of the changes back to Microsoft. The license agreement (a click/install agreement when installing the Windows CE product) gives a number of rights for using the shared source - these are.

  • Document - Get a deeper understanding of Windows CE and its inner design. Source code is a great documentation and self support tool.
  • Debug – Step through Windows CE Source code as needed to better debug and troubleshoot your devices and applications.
  • Adapt – Modify Windows CE Source code to adapt it to your device's specific requirements. Distribute commercial derivatives with the OEM license agreement as part of your Windows CE based product.
  • Improve – Modify Windows CE Source code to improve the general performance and feature set of the platform. Innovate on the Windows CE platform and distribute commercial derivatives with the OEM license agreement as part of your Windows CE based product.
  • Share - If you decide to do so, share your code with customers, partners or/and other developers under the specific requirements of the license granted.
  • More information about shared source can be found here.

     

    But what about the Community Projects ? (webcam, phidgets, LSP sample - and others coming soon...) - We get feedback from customers and partners that they would like to see hardware or software supported on the Windows CE operating system that isn't currently in the plan to be supported either in a main release (every two years) or in an upcoming feature pack - for last years Windows Embedded Student Challenge (WESC) there were two requests that came from the teams, support for USB WebCam and support for USB WiFi - Windows Mobile 5.0 has a camera well defined camera driver model and appropriate camera APIs for both native and managed code - the camera driver model for Windows Mobile 5.0 was added to Windows Mobile after Windows CE 5.0 shipped, so Windows CE 5.0 doesn't have a camera driver model (expect to see that change with the upcoming Windows CE 6.0 release) - to "fill the gap" and make it easier for this years students to build cool/interesting devices we kicked off a community project to build a USB WebCam driver (link to GotDotNet workspace) based on the Logitech QuickCam Pro 5000 camera (which supports the USB Video Class specification) - The USB WebCam driver source then became the starting point for the Windows CE Phidgets driver.

    Community projects are supported by the community project owner and by the community, in the case of the USB WebCam driver that would be Doug Boling - Our hope is that the community projects are useful for reference (examine the WebCam driver code, take a look at the LSP sample etc...) and for additional community development, for example, if you have another type of USB WebCam that you want to support you could modify the existing sample code and optionally drop the changes back to the community. You may have some ideas for additional community projects, if so leave a comment, let us know what you would like to see.

    Expect to see more community projects being released over the coming months.

    Let me know if you have any comments/questions.

    - Mike

    posted by mikehall | 4 Comments
    Filed Under: ,

    Starbucks iCup coming to campus!

    Just been reading Alex Barnetts blog - Alex has evidence that Startucks iCup (interractive cup) is being installed across campus.

    - Mike

    posted by mikehall | 1 Comments

    Windows CE 6.0 (Beta) Virtual Lab LIVE!

    If you are interested in getting "Hands on" with the Beta of Windows CE 6.0 you can now head over to MSDN Virtual Labs and take a 90 minute hands on lab - you don't need Visual Studio or Windows CE tools installed to run the lab - you will need to install a small ActiveX control to be able to get to the back-end Virtual Server.

    The Windows CE 6.0 Virtual Lab takes your through the typical process for configuring, building, and debugging an operating system image, you will also get to play with some of the new features of Platform Builder, including the new registry editor - we're using the new ARM based Device Emulator

    Look out for more Virtual Labs coming closer to product launch.

    We're definately interested in your feedback - was the lab useful? - is this a good way to get "hands on" with the Windows Embedded development tools.

    - Mike

    posted by mikehall | 7 Comments
    Filed Under: ,
    More Posts Next page »