Big Book of BSP Wiki

I wanted to point our readers to the new “Big Book of BSP” wiki on Channel-9. The BSP and Drivers folks at Microsoft have been  generating content relevant to BSP development for the community. We want to enable higher-quality BSPs, so we’re providing this as a resource for you: Do you know what a BSP is? Try https://channel9.msdn.com/wiki/default.aspx/CeDeveloper.BSP Are you a…

3

How Bus Drivers Work

Posted by David Liao Abstract   A bus driver is designed for controlling and configuring a specific Bus. It also configures and controls hardware on the bus and loads & unloads hardware drivers called client drivers. It also carries out bus request from its client drivers.  A bus driver has two basic functions from software…

1

Understanding VirtualSetAttributes

Posted by Kurt Kennett  Virtual Memory is fantastic. It allows you to create this personalized ‘view’ of the memory space of a computer, and rearrange where things are physically to suit your desires.  This is especially good for the organization of registers of memory-mapped peripherals.  By allocating a range of virtual memory, and mapping that memory onto…

30

HAL Flat Display Driver Demystified

 Posted by Oguz Sinanoglu   Let’s talk about display drivers, particularly HAL Flat ones. HAL stands for Hardware Abstraction Layer and is also known as OEM Adaptation Layer (OAL).   What is a HAL Flat display driver?   In brief, it is yet another implementation of a GPE (Graphics Primitive Engine) based display driver, but…

1

Introduction: Kurt Kennett

Hi!  I’m a development lead on the Windows CE base team here at Microsoft.  I just started back in June, after working in the industry for over 15 years at companies like Electronic Arts, General Electric, Nortel Networks, and Intrinsyc Software.  I used to be a ‘technologist’ doing systems integration for ARM-based platforms and general…

4

KITL and OAL debug messages in Windows CE6.0

Posted by Travis Hobrla    KITL and OAL debug messages in Windows CE6.0   Introduction Last time we talked, we learned about debug messages and debug zones in Windows CE.  Today we’ll continue that topic (read the first part if you haven’t already) and talk about some modules that behave a bit differently than others…

1

Debug messages and debug zones in Windows CE

Posted by Travis Hobrla (thanks to Sue Loh who assisted with many portions of this article) IntroductionDebug messages are an excellent supplement to a debugger.  They give information about the system’s state, warn about potential failures, and assist in understanding order of execution.  Of course, you could use the debugger to get that information, but…

4

CE6 OAL: What you need to know

Posted by: Sue Loh This material is drawn from a talk that Travis Hobrla gave at MEDC 2006 (thanks Travis!) and contributed to by the whole Windows CE BSP team. The driver changes that I have already written about the biggest CE6 differences that OEMs would care about.  Much less significant are the CE6 OAL…

4

Optimizing OEMIdle for lower power consumption

Posted by Matt Anfang   Optimizing OEMIdle is crucial for battery powered devices. While many power saving features on a device (like a backlight timeout) involve the user, power saving on the processor happens completely behind the scenes. OEMIdle() is the OAL entry point called by the kernel when there are no active threads to…

0

Understanding the Variable Tick Timer

Posted by Sha Viswanathan. Today I wanted to talk a bit about the variable tick timer, and how it affects the Windows CE scheduler. The timer is interesting because it provides the ‘heartbeat’ for every Windows CE system. On each timer interrupt, the kernel analyzes threads in the sleep- and run-queues to decide which thread…

6