February 2009 Entries

Windows CE: Dumpbin
A customer contacted me today to ask for help with a Windows CE 3.0 device. Yes, Windows CE 3.0 is alive and kicking on thousands of systems in the field. They were trying to update a driver on the system but the driver wouldn’t load and run. The driver was from a third party who claimed that the driver would run on Windows CE 3.0. I asked a few questions. Is the driver for CE 3.0? Is the driver dependent on some DLL or APIs that aren’t available? Customers being customers, the best that he could ......

Posted On Wednesday, February 25, 2009 8:36 PM | Comments (6)

Platform Builder: IMGRAM64
This evening someone posted a question about setting IMGRAM64 in the Platform Builder newsgroup. The environment variable IMGRAM64 has always intrigued me for several reasons, so I thought that I would examine some of those reasons. 1. IMGRAM64 is in the project settings Build Options. In Platform Builder 6.0 it is in Project\Properties and in previous versions of Platform Builder it is in Project\Settings. This has amazed me since the first time I saw it there because most BSPs do not support this ......

Posted On Monday, February 16, 2009 10:01 PM | Comments (4)

Windows CE: Editing the Registry
I have posted several articles about writing software to modify and read the registry (see Summary of Registry Posts.) But what if you aren’t a Software Engineer, or don’t want to write a program to make a simple change to the registry? There are several registry editors available: · Remote Registry Editor – this tool comes with the development tools for Windows CE. It allows users to edit the Windows CE registry on a PC via a connection to the Windows CE device. The connection can be through ActiveSync, ......

Posted On Monday, February 16, 2009 12:40 PM | Comments (2)

Windows CE: Monitor Power State Changes
I started writing this as a how to monitor for system resume. But then I thought that a more general function that monitors for power state changes would be more useful. Many applications have reasons to monitor for Suspend and Resume transitions. There isn’t a good general way to monitor for Suspend, but applications can be notified when the system resumes. I do think that it would be good for applications to be notified on suspend so that they can save data just in case of power loss during suspend. ......

Posted On Saturday, February 14, 2009 11:33 PM | Comments (6)

Windows CE: Guide to Setting Thread Priorities
Windows CE has supported 256 thread priorities since version 3.0. Microsoft increased the number of thread priorities at that time to enhance the Windows CE real-time performance. With so many thread priorities, how can a system engineer determine which threads to set at which priority? I am going to attempt to give some guidance for setting the thread priorities in the article. The thread priorities currently supported are 0 through 255. Zero is the highest priority and 255 is the lowest. What this ......

Posted On Friday, February 13, 2009 11:30 PM | Comments (6)

Windows CE: Detecting Timer Interrupt Failures
I have written about problems with timer interrupt handlers before in Windows CE: Why does my system halt for 20 minutes? But that is really aimed at the OEM responsible for writing the interrupt service routine for the timer interrupt. Today, I have been fielding questions from an end user who thinks that he might have this problem. He needs to convince the OEM that the OEM has the problem and needs to fix it. Of course the first thing to do is determine if he really does have the problem. Let’s ......

Posted On Sunday, February 8, 2009 10:40 PM | Comments (11)

Windows CE: More on Starting an Application when the Device Boots
I have written several posts about starting an application when a Windows CE device boots. These posts have been fairly popular, but there are still some questions. The how to posts include: · Windows CE: Starting an Application when the System Boots which covers information needed by both application developers and Platform Builder users. · Windows CE: Programmatically Setting Up an Application to Auto Start which covers writing an application that sets itself up to run when the system boots. · ......

Posted On Saturday, February 7, 2009 11:49 PM | Comments (0)

Windows CE: Setting the System Path
When loading an exe or dll Windows CE searches the following folders to find the file to load: LoadLibrary searches for the dll in: · The path given in the call to LoadLibrary() · The directory that the current exe was loaded from · The \Windows folder · The ROM DLL files · A search path defined in the registry CreateProcess searches for the exe in: · The path given in the call to CreateProcess() · The \Windows folder · The root folder · A search path define in the registry The search path defined ......

Posted On Saturday, February 7, 2009 11:45 PM | Comments (3)

Contact Information
Before you contact me, there are some things that you should know. If you have a specific question that you want an answer for: 1. I encourage you to use the Windows CE Newsgroups where you will find quick answers to many of your questions. The advantage of using the newsgroups is that there are many experts from around the world monitoring and answering questions. 2. I work for Eurotech. We do engineering work to make a profit. That means that we charge money for the engineering work that we do ......

Posted On Saturday, February 7, 2009 10:36 PM