June 2009 Entries

Platform Builder: makeimg: FATAL ERROR: Out of buffer space
Here is an interesting makeimg error: makeimg: FATAL ERROR: Out of buffer space. Seems that if the folder path for the _FLATRELEASEDIR is too long, makeimg fails with this cryptic error. I to reproduce this error I changed my release folder from: C:\WINCE500\PBWorkspaces\xx... \xxxxxxxx_ARMV4I_Release To C:\WINCE500\PBWorkspaces\xx... And it failed. Notice the two folders named FolderWithLongNameToTryToCa... ......

Posted On Wednesday, June 17, 2009 10:18 PM | Comments (0)

Windows CE: Keeping the Backlight On
Chris Tacke of OpenNetCF and I were talking about how to keep the backlight on in Windows CE 6.0 today. He had noticed that the function SystemIdleTimerReset() no longer kept the backlight on, but does keep the system running. I had noticed this a while back, but didn’t have time to look into it. I did have a solution though. The solution is to get an event name from the registry for an event that the power manager is monitoring. Then create the event and set it. Here is how I did it: #define GWE_REG_PATH ......

Posted On Wednesday, June 17, 2009 6:59 PM | Comments (12)

Platform Builder: Looking for an Engineer
Eurotech is looking for a Senior Software Engineer to port and maintain Windows CE on our single board computers. This position is in our Columbia, MD office near Baltimore and Washington DC. If you are looking for a change, or know a good engineer, take a look at our Eurotech Careers page. We are not looking for application developers. We are looking for engineers with experience writing device drivers and bootloaders. We would prefer engineers with Platform Builder experience. But that is not a ......

Posted On Monday, June 15, 2009 11:09 PM | Comments (0)

Windows CE Live Chat Tueday June 30, 2009
Another great opportunity to ask Microsoft engineers your technical questions is coming up on Tuesday, June 30th. These chats are your opportunity to get advice and answers from the engineers at Microsoft. You may want to review the transcripts from previous chats to get an idea what these chats are all about. Title: Windows CE Live Chat! When: Tuesday, June 30, 2009 9:00 - 10:00 A.M. Pacific time Add to Calendar Additional Time Zones: http://www.timeanddate.com/... ......

Posted On Monday, June 15, 2009 10:46 PM | Comments (0)

Windows CE: OEMInterruptEnable() and OEMInterruptDisable()
The functions OEMInterruptEnable() and OEMInterruptDisable() are functions that a Windows CE device OEM must provide to enable and disable single interrupts. These functions receive as a parameter a SYSINTR value. They must map the SYSINTR value to an IRQ and then enable or disable the correct interrupt. These functions are called indirectly by drivers. Drivers call functions like InterruptInitialize(), InterruptDone(), InterruptDisable(), and InterruptMask(). InterruptInitialize(), InterruptDone() ......

Posted On Monday, June 15, 2009 10:36 PM | Comments (0)

Windows CE: OEMInterruptHandler()
OEMInterruptHandler() is a required kernel function for ARM processors. When an interrupt occurs, the kernel calls OEMInterruptHandler() to determine which interrupt needs to be serviced. OEMInterruptHander() then returns the SYSINTR value associated with the interrupt. OEMInterruptHandler() allows Windows CE to handle interrupts on various CPUs and board designs. There are many ways to write OEMInterruptHandler(), and the implementation will vary based on the CPU being used. Each CPU potentially ......

Posted On Wednesday, June 10, 2009 9:06 PM | Comments (0)

Platform Builder: error C2065: 'dpCurSettings' : undeclared identifier
So you build your BSP and it fails with an error like: C2065: 'dpCurSettings' : undeclared identifier Or C2065: 'ZONE_INIT' : undeclared identifier The easy answer is that you haven’t declared the variables, but the last time you built the BSP it built okay, so how could it be that all of a sudden there are undeclared variables? The most likely reason is that you are building a debug build and you had previously been building a retail or release build. The difference is explained in Platform Builder: ......

Posted On Tuesday, June 9, 2009 6:58 PM | Comments (2)

Windows CE: Kernel Interrupt Handling
What happens when an interrupt occurs? This article will focus on what the kernel does when the interrupt occurs, so this will assume that the interrupt is initialized and enabled. 1. IRQ is signaled in hardware 2. A vectored function is called in the kernel – the calling of the function is controlled by hardware, so the implementation is CPU family dependent. The vector table is initialized by the Kernel when it starts. 3. Interrupts are disabled 4. OEMInterruptHandler() is called to determine the ......

Posted On Monday, June 8, 2009 8:38 PM | Comments (4)

Platform Builder: Buildrel and Hard Links
There was an interesting newsgroup post this week that I thought I would take some time to discuss. The question went something like this: I have ONE BSP for my board and I build several OSDesign projects against it. When I switch between OSDesigns and run makeimg it fails with the following message “Error: Mismatched time stamp on .rel file for module nk.exe” When I first read it, I was stumped. This is not an uncommon activity for me. I switch between projects that build against the same BSP often ......

Posted On Friday, June 5, 2009 4:48 PM | Comments (2)

Embedded News: Intel to buy WindRiver
Intel is buying WindRiver. With the introduction of the Atom processor Intel is staying in the embedded market and needs to support a Linux release that takes advantage of the low power features of the chip. Eurotech will continue to market Atom SBC supporting Linux, Windows Embedded Standard and Windows CE. See Intel buys Wind River to push Linux for more information about the Intel deal. Copyright © 2009 – Bruce Eitman All Rights Reserved ......

Posted On Thursday, June 4, 2009 6:49 PM | Comments (0)

New Chapter in my Career
As of this week I have changed positions within Eurotech to become a Field Application Engineer (FAE). This is an exciting new challenge for me, and I look forward to it. I spent the last five years working as the Director of Windows CE Software Engineering, managing development at three offices. This period of my career was rewarding and challenging, very challenging. I have watched the company grow and eventually be bought by a bigger company. My team has architected solutions to manage the ever ......

Posted On Tuesday, June 2, 2009 10:51 PM | Comments (5)