Posted By sps on 11 Feb 2009 3:15 PM
Alan,
Have you made any progress on your CF performance? We found similar issues, but have been able to get fair performance (can''t seem to find the test data to give you a number).
More importantly - we do see hang issues with CF cards. What we''ve found is that coming out of Suspend mode may lose the CF card fairly often. This happens on both the LITEkit and our hardware, slow and fast cards. Getting the CE error box you mentioned (Unidentified PCCard Adapter) is a sign you''ve lost the CF card. It will be gone from My Device, and you will usually hang when trying any navigation. We''re trying to document this more carefully before asking LPD.
Do you continue to see CF hangs?
Steve
Sorry for the late reply, but...
I was able to fix problems with my CompactFlash card by changing the timings. However, we do not actually use windows to suspend our device so I would not know whether it works with suspend. Let me give you the timings I have been using which you can try.
I've been able to get over 2,000 KB/s with the new timings. One tip is: Make sure you read or write at least 4 KB at a time, sequentially, for best performance. The performance will drop off if you are reading with a buffer less than 4 KB. Also, for some reason..(maybe it is a more direct route?) we get better speed on our board layout than the dev kit.
Here's some basic read benchmarks that I got.
Our's (buffer size - speed)
4 KB - 2421 KB/s
8 KB - 2785 KB/s
16 KB - 2878 KB/s
32 KB - 2906 KB/s
Dev kit.
4 KB - 2196 KB/s
8 KB - 2351 KB/s
16 KB - 2406 KB/s
32 KB - 2409 KB/s
This was probably done with a faster card... 133x or 266x but I'm not sure which one I used and most any card is capable of doing much faster than this. I believe this is the best you will do on the LogicPD IMX31 because it does not have DMA for CompactFlash.
Timings :
"PccStrobeLength"=dword:00000009 ; Maximum value is 0x7F
"PccStrobeSetupTime"=dword:00000002 ; Maximum value is 0x3F
"PccStrobeHoldTime"=dword:00000002 ; Maximum value is 0x3F
I had reduced PccStrobeLength before to 5 or so maybe.. but I seem to recall that led to some problems. I believe these are the timings that I used for those benchmarks.