Windows Embedded Home
Windows Embedded 8 Family
Windows Embedded 7 Family
Other Windows Embedded Products
ABOUT THE BLOGGER
David CampbellProgram Manager
David Campbell is a Program Manager on the Windows Embedded Compact team. David’s been at Microsoft since 1994 and has spent most of his time working on embedded software and hardware projects.
Posted By David CampbellProgram Manager
Welcome back! This is part 2 of Doug Boling’s great write-up on Understanding CEPC Boot Sequence in Windows Embedded Compact 7. Last time we covered the PC boot sequence in detail. That provides the background for the Windows Embedded Compact specifics. Let’s jump right in...
In Part 1, I started this discussion with an overview of two of the three different CEPC boot loaders provided in the Windows Embedded Compact 7. I discussed the LoadCEPC bootloader as well as how to use the BIOSLoader. I also talked about how the FAT file system. An understanding of the layout of a FAT storage device is important when understanding how these bootloaders work. In this installment, I will cover how the BIOSLoader and the WCELDR work and how to modify the WCELDR to adapt it to your hardware.
In Part 1, I discussed how the file system works, now let’s return back to the BIOSLoader to cover how it works. When the system starts, the BIOS will load the Master Boot Records (MBR) into RAM which will find and load the boot sector of the active partition. This boot sector will be one of the BIOSLoader boot sectors that will have to be installed on the disk. The source code for the BIOSLoader boot sectors is located in \WINCE700\platform\cepc\src\bootloader\biosloader\bootsector, There is a unique boot sector for each of the different File Allocation Table (FAT) formats including ExFAT.
The boot sector code finds the root directory and looks for the name BLDR with no extension. It expects to find this name in one of the first 32 entries in the root since the boot sector only reads the first sector of the root directory into memory.
When the BLDR entry is found, the boot loader finds the location of the file data by using the first cluster entries in the directory entry for the file. Instead of following the FAT chain to properly load the entire file, the boot sector assumes that the file will be stored in linear sectors on the disk and reads a fixed (68 sectors or 34816 bytes) into memory at address 0:1000. This hard coded size provides an absolute limit on the size of the BLDR code.
The boot sector then jumps to the first byte of the BLDR file. The BLDR then switches to protected mode and executes the remaining tasks from there. Those tasks include reading and parsing the BOOT.INI file and downloading or reading from the disk the NK.BIN file.
Comments Windows Embedded Compact
He’s back! Doug Boling has once again supplied us with a great write-up for those who missed his July webcast. The topic will be a two-part post. In the first part, Doug details an overview of the three CEPC boot loaders as well as the boot sequence on a PC - which is key to understanding the Windows Embedded Compact process:
It may come as a surprise that the most popular hardware platform for Windows Embedded Compact 7 (WEC) is the standard PC chassis. This is also the hardware platform for Windows Embedded Standard (WES), but Compact 7 brings its own unique features. A properly tuned Compact system can boot faster than WES. Writing drivers is significantly simpler on WEC than on Standard. And of course, there is the dramatically lower licensing cost. This isn’t to say that Windows Embedded Standard isn’t a great operating system, it is. The point is that Compact has a different feature set than Standard and many embedded systems choose Compact over Standard on their embedded PCs.
Doug Boling recently hosted one of his regular webcasts on Optimizing performance and power on Windows Embedded Compact 7 and has graciously provided me with a companion article. Thanks Doug! There’s more information later in the article about how you can sign up for these webcasts so please do join us for the monthly sessions.
Embedded hardware is slow. It’s designed that way. Unlike Personal Computers which are sold to customers who are dazzled by high gigahertz numbers and massive hard disks, embedded customers buy a widget that does something. If the widget does something well that’s all that matters, so the manufacturer of that widget is going to use the slowest (and often least expensive) hardware possible to implement that widget. This is one requirement that makes embedded software so challenging to write. Embedded software must have great performance so that the hardware can be as inexpensive as possible.
In this blog post, I will review some of the techniques for system design that can improve performance, and as a consequence, the power consumption of a system. I’ll also cover some lower level application driver characteristics that can lower power consumption directly.
I’d like to welcome Doug Boling back as a guest blogger. Doug has another interesting topic this month, the customization of Windows Embedded Compact’s Internet Explorer for Embedded. As a quick introduction again, Doug has been working for many years with Windows Embedded Compact and Windows Embedded CE. He is an author, trainer and consultant specializing in Windows Embedded Compact and CE. Doug also does monthly webcasts on a variety of Windows Embedded Compact topics, like this one, that I would encourage you to check out. You can learn more about Doug by visiting his website at www.bolingconsulting.com.
Windows Embedded Compact has a customized version of Microsoft’s Internet Explorer named Internet Explorer (IE) for Embedded. This powerful browser can be used in a number of ways in an embedded system to enhance the functionality of the system. This post will discuss the various ways to tune, customize and even embed IE for Embedded inside embedded applications.
IE for Embedded is a customized version of Internet Explorer 7 for the desktop with performance enhancements from IE 8 added as well. Specifically, the JScript engine brought from IE 8 provides a 400% performance improvement over the original IE 7 scripting engine. In addition gesture support along with zoom and pan support is in this browser.
Comments Windows Embedded Automotive
I’ve seen a number of questions in some of the forums about how to get started with Windows Embedded Compact from the perspective of running (hosting) the actual OS image created with Platform Builder (PB). PB makes it easy to design and create an embedded OS image, but you still need to be able to load and execute that image – typically on a piece of hardware.. Virtual PCs are great as a Windows Embedded Compact development tool since they don’t actually require new hardware. Virtual machine use with Windows Embedded Compact really falls into two categories: hosting an OS image and hosting PB itself. The one I’ll cover today is hosting an embedded OS image, built with PB, in a Virtual PC rather than on an actual device.