IDE CF Desperately slow under WinCE

windows ce


  • 1. Adding Features to CEPC platform
    Hi, I followed the these tutorials from the PB help system. They are good and explain much: 1. Using Platform Builder with the Emulator 2. Using Platform Builder with a CEPC 3. Creating a Feature and Adding it to a Platform However, I now want to add a feature to the CEPC, not the emulator. When I r-click "My Feature" in PB, I can't add it to the CEPC platform. Is this a limitation of the CEPC platform? The reason I want to do this is because I do not yet have the SBC we will be using for our project and I want to do some of the driver development work now while we are waiting for the SBC. My plan is to do this: Install the PCI card on the PC. Install a modified CEPC platform that contains some PCI bus enumeration applications Profile the PCI card (registers, memory space, IRQ, etc). Create a driver skeleton. Modify the CEPC platform to contain my driver skeleton dll. Work on getting the driver to load properly. Work on generic driver functionality until the SBC is delivered. Thanks, Nick.
  • 2. Emulator locks up
    Morning all, In house we have built an emulator image that our QA group is loading to run tests against our software with. This works great most of the time. We have had 2 instances though where we've uninstalled the Platform's SDK and reinstalled it only to find that the emulator will not come up afterwards. It comes up to a black screen. I've tried 'cleaning' the registry of any potentially left over entries, looked for rouge files left around from previous installs, etc. Nothing can bring the emulator back up on that machine. What am I missing? What can I do to get the emulator to come back up? Regards, Greg .
  • 3. [Q] PXA255 & WinCE.Net 4.2 : IrDA has problem?
    Hello anybody, I am porting WinCE.Net 4.2 to PDA. PDA spec.: CPU : PXA255 OS : WinCE.Net 4.2(Platform Builder 4.2) But, I have problem in IrDA(using STUART : SIR mode). When I send data(anyone), receiver(proved the other device) received one more character(0xff) at last. At HW_XSC1_TxIntrEx(...) in xsc1_16550.c, I inserted RETAILMSG in front of OUTB(...). RETAILMSG displayed correct message I sent. Absolutely, function doesn't send '0xff'. Who does send '0xff'? Does serial driver(about Ir mode) in PB4.2(XSC1BD) have probelm? Let me know where do I modify? Thanks.
  • 4. WNetOpenEnum fails
    Hi am stuck with this problem for quite a while now. Has anyone used WnetOpenEnum on Windows CE .NET? My code look like follows and GetLastError always returns 87 (Parameter is incorrect.) Can someone point out as to what am I doing wrong? Thanks in advance. BV int main (void) { HANDLE hEnum = NULL; // first call, enumerate all resources (including containers) // starting at the root of the network if (WNetOpenEnum (RESOURCE_GLOBALNET, RESOURCETYPE_PRINT, 0, NULL, &hEnum) != NO_ERROR) { _tprintf (L"Error enumerating resources: % d\n", GetLastError()); return -1; } // Initiate recursive enumeration through all containers DisplayResources (hEnum); // Close enumeration WNetCloseEnum (hEnum); return 0; } /* main */

IDE CF Desperately slow under WinCE

Postby Colin Ringer » Wed, 26 May 2004 00:14:56 GMT

Ok, I'm still having trouble with the speed of 
reading/writing to Compact Flash under CE.

I have 2 completely seperate pieces of x86 hardware, one 
is a Geode SC2200 (GX1) the other is not much difference 
from a standard PC, both of which have an IDE Compact 
Flash slot.

Both units when running in DOS mode the speed of the CF 
is not very much different from that of a hard drive.

However when running under CE they slow down hugely, the 
situation is made many many times worse when lots of 
small files are being read from or written to the CF.

One of the units we are using also has a standard HDD (as 
well as the IDE CF) and we are not seeing any of these 
speed issues when on the HDD.

This leaves me to conclude that the problem lies with the 
CF driver part of CE.  What is in the CF part of the 
driver that makes so much difference and causing such a 
slow down?  

Does anyone have any suggestions as to what we can do 
about this?

Re: IDE CF Desperately slow under WinCE

Postby Steve Maillet (eMVP) » Wed, 26 May 2004 00:33:35 GMT

Assuming this is a CF in TRUE IDE mode.
What version of Windows CE? Have you applied all available QFEs?

Steve Maillet (eMVP)

Re: IDE CF Desperately slow under WinCE

Postby anonymous » Wed, 26 May 2004 00:39:59 GMT

CE4.2 and I'm pretty certain all the QFEs have been 
applied, I went through them all a couple of weeks ago.

On both machines the CF is seen in the BIOS as an HDD on 
the IDE.

available QFEs?

Re: IDE CF Desperately slow under WinCE

Postby BillMar (eMVP) » Wed, 26 May 2004 02:56:23 GMT

This subject has got to be one of the most recurring newsgroup subjects of
all time.  Everyone was griping Microsoft didn't include a free IDE driver
before version 4.0, then it's not fast enough, etc.  Microsoft seems to be
listening, so see their atapi enhancements in their Version 5.0 Technology

The Windows CE 4.x atapi driver was never designed for speed (no large
read-ahead cache, no scatter/gather reordering, no assembler tricks, etc).
In the tradition of OEM adaptation kits, I'm told Microsoft originally
intended all driver source code in Platform Builder to be "sample code",
expecting each OEM to optimize it for their own circumstances.  It seems you
can't consider yourself a journeyman Windows CE driver engineer until you
rewrite your own atapi driver.

Most competent third-party system integrators offer an optimized atapi
driver as a value-add product.  Most low-cost board vendors simply include
the free Microsoft stuff with little or no additional value-add.  My
contribution to this problem had been to offer several "Missing Labs" in my
hands-on Windows CE training classes around the steps and features that
optimize disk performance.  What one learns trying to optimize the atapi
driver can be applied to many other drivers on a particular board
architecture.  You could learn to do this yourself in a few weeks since the
atapi technology is well documented and available.

William Mar
Special Computing

Similar Threads:

1.WinCE 5.0 IDE CF card enumeration

x86 Device with IDE CF card on Secondary Master, harddrive on Primary 
Master.  ATAPI driver enumerates the devices as harddrive = "Hard Disk" and 
CF card = "Hard Disk2".  Due to hardware design I cannot switch the 
connections but need to have the reverse naming, i.e. CF card = "Hard Disk" 
and harddrive = "Hard Disk2". I thought this could be done in the registry. 
I tried swapping "DeviceId" settings between "...PDC20262\Device1" and 
"...PDC2026\Device0" registry keys and that did not work.  I tried 
introducing "InstanceIndex" keys and that did not work.

Does anyone know how to coerce the IDE device enumeration to get the naming 
I desire?


2.CF Cloning via USB to IDE to CF


I have a configuration now using a USB to IDE box with an IDE-CF adapter
installed. I also use Acronis True Image to copy a paritioned image to my
CF. This works great. However, my IDE-CF adapter is only good for non-DMA
CF. Does anyone know of an adapter that will handle DMA fixed CF?

Much appreciated


3.WinCE 6.0 and MANAGED Application (catalog CF 2.0 with CF 3.5)

4.IDE to CF Card Issue


I am running windows ce 5.0 on X86 based VIA ETX board. In that i am trying 
to use CF card via IDE to CF card converter. The CF Card is not at all 
detected in the os. ATAPI driver is included in the build. I tried lot of cf 
cards from which only one is detected which is from RiDATA manufacturer. I 
have searched lot in the internet groups. i didn't get any clues. Can anybody 
help me to resolve this? 

Thanks in advance.

5.A question about CF card (IDE interface)!

I use PB4.2 to build my OS image ,add "ATAPI PCI/IDE Storage Block Driver"
and "FAT file system" by drag them from the catalog.
My hardware is x86-based.In this condition ,IDE harddisk and some CF cards
work well,(can read/write ,and displayed in WINCE OS ),but some CF cards
does not work(have no icon in WINCE OS,so can't read or write) .I use a
utility named HWINFO to check the disk information about my CF cards.
I found that, the CF cards that works well only support LBA mode in the
harddisk features,and that can not displayed in the WINCE OS support two or
more features ,such as LBA,DMA,IOROY,and so on .
Does this means that WINCE only support some singel harddisk feature,but not
support the CF cards that hold two or more features well?
How to make my WINCE OS support the CF cards that hold two or more features

Any help would be greatly appreciated!

6. Version of ATADisk.DLL to support CF microdrives in True-IDE mode

7. Configuring 2nd CF IDE in PB 4.2

8. Hive vs Ram and IDE/cf problem

Return to windows ce


Who is online

Users browsing this forum: No registered users and 39 guest