Microsoft @ 40: A Closer Look at Embedded Compact 6.0
It started with a vision.
A computer on every desktop in every home.
Thus, on 4th April 1975, Bill Gates and Paul Allen started
Since then, this PC colossus has seen its share of changes in markets and user expectations; its operating systems moving from desktop to gaming, smartphone, PDA, tablet, and embedded devices.
This week, as Microsoft marks its 40th anniversary, ByteSnap takes a closer look at Windows Embedded Compact 6.0, or WinCE 6.0 – one of its most popular variants of the embedded operating systems to date. We chaired a Win CE 6.0 open forum with Nigel Goodyear, Embedded Platform Architect at Direct Insight, and our Principal Engineer, Martin Thompson.
In the first of two parts, we examine how the OS has managed to maintain its staying power.
Microsoft launch Win CE 6 in 2008
MT: Well Win CE 6 has been around for about the last nine years. It was a big improvement on CE 5, in that it protected the system more, so it prevents direct access to the hardware; it was more flexible, and it’s a much better operating system than CE 5. But there was a problem with it – in that Microsoft were still basing their pocket pc and smartphone platforms – although they were also called 6.X – they were still based on the CE 5 core rather than the CE 6. So, right from the start there was an issue with whether you could get drivers for components that you need to plug in onto a processor board, like Wi-Fi chips or Bluetooth chips; whether you could really get drivers for CE 6 as opposed to CE 5. And it really mattered because the core – the very, very heart of the system – is different in CE6 to how it was in CE5. So initially, there was some reluctance to gain traction with CE 6. But it did improve with time. CE 7, when it came along, made major changes. You should actually call it Embedded Compact 7 –
BYTESNAP: – Microsoft is rather touchy when it comes to naming conventions, aren’t they?
MT: Yes – you have to change the names regularly. The situation when CE 7 came along was that CE 6 was better supported; primarily because there were a lot of PND devices; basically sat navs, that type of thing – and there’s a lot of CE6 devices out there which were designed as sat navs. Therefore, as a result, there were drivers available for CE6 – but nothing like that has happened for Compact 7 and later. And, as I say, it mattered for 5 to 6, because 6 cannot run drivers written for 5, but 7 can run drivers which were written for 6.
BYTESNAP: Nigel, what about the reasoning behind Microsoft’s stance in terms of Win CE 6 and not offering support on debugging the kernel? They will look after security issues, but are a bit patchy on the debugging side.
NG: Well, we don’t have any problems with continuing to support CE 6. It’s a different development environment, it’s an old version of Visual Studio, but for what it’s needed to do and for what it creates it’s perfectly functioning and capable.
MT: Visual Studio 2005 is still available of course… NG: …yes – through MSDN licensing; so there’s an MSDN Embedded variant, which is part of the Visual Studio Professional. You can get all the old tools and it’s all supported. You can still buy CE 6 Platform Builder, which comes with a free copy of Visual Studio 2005.
So, all the tools are still available as a retail product, they’re all still supported. They’re £795 ($1182) for a single developer seat, or about £1300 ($1933) for the full MSDN Embedded license – which is a subscription; it really depends on what you need in terms of ongoing support and tools.
The advantage of MSDN is that you get the latest tools as well. So, you get every developer seat. But CE6 is still, from a business point of view, the most popular license; we’ve got tens of thousands of units running Windows CE 6 in the field.
MT: And there’s a very good reason for Windows CE 6 continuing to be popular – the licensing cost.
NG: Well, yes – most of the products that we ship are Pro licenses, rather than Core – but yes, Core is still popular.
MT: And it’s still the two licenses, isn’t it – Pro and Core? There’s nothing in between?
NG: Well for the normal public, unless you’re a vertical market product like a PND (Portable Navigation Device) – but CE 6 is mainly targeted and the reason for CE 6 is because it runs on the ARM9 processor, rather than the Cortex cores.
Compact 7 is only an advantage when it comes to running Cortex-A8 ARMv7 instructions, because it has that compiler – where the CE 6 didn’t.
MT: And there’s a measurable increase in performance; if you run the old ARMv4 code, against ARMv7 code, on the same processor, it’s measurably better to run ARMv7.
NG: Yes, but a lot of customers don’t require that sort of performance for an embedded platform. So, the processors that have got an ARMv4 core, there’s no real advantage to using Compact 7 and, as I say, we support CE 6 on all those for new designs.
Win CE 6 v Compact Embedded 7 v Compact Embedded 2013
BYTESNAP: It seems Win CE 6 is far more popular than the systems that have followed it; obviously there are economic reasons for that. What are the other factors?
NG: Mainly marketing – marketing and awareness, really –
MT: – this is very typical of the way Microsoft work. Not only on the embedded side, which they are publicising a lot less than they used to, but generally they have a lot of old technology where they never officially say, “Don’t adopt this technology for new designs,” If the technology is out there, then you can still do it. This applies to desktop; it applies to server and to embedded.
But, specifically with CE 6, you now have to remember that not only is there Compact Embedded 7, there’s also Compact Embedded 2013. So you’re actually talking three versions of the operating system ago. So, you wouldn’t expect Microsoft to be pushing Vista for new designs on the desktop when you’ve already had Windows 7 and Windows 8; nor expect them to be actively encouraging people to say, yes – adopt a new Vista based design for your application. It’s a similar thing, really – you wouldn’t expect Microsoft to say “Yes, of course – use CE 6”.
However, the reality is that there is less support out there for add-on chips for CE 7 and Compact 2013. So, it’s useful to a lot of people to stay on CE 6, and because the CE licence is cheaper than the Compact 7 – I don’t know about the Compact 2013, but presumably it’s similar – it encourages of customers of relatively low price devices to stay with CE 6.
BYTESNAP: But it’s a stable and mature OS with a low footprint of RAM – aren’t those attributes of the Win CE 6 system favourable enough for CE 6 to stand its ground?
NG: Well, yes – the whole principle of it being – I believe – over ten years old; in fact it is a proven, reliable system in the field… the memory footprint comes back to the architecture, so back to what we talked about with the ARMv4, so it takes up less room; Martin’s correct that, because of the period of time it’s been around, the silicon vendors of the chips and the peripheral chips have got support, and they are mature and they are proven solutions. There are a lot of advantages, especially in embedded space where the product is going into the field and, normally unmanaged, for long periods of time.
End of Part One
Join us for Part Two of Microsoft @ 40: A Closer Look at Embedded Compact 6.0 next week – when the forum tackles issues including obsolescence, and how Win CE 6 fairs alongside Android and Linux.