none
SD Card - above 2GB is not detected in Windows CE 6.0 RRS feed

  • Question

  • Hi all,

    I m working on SD Card Driver in Windows CE 6.0 . Installed Windows CE 6.0 R2.The Normal SDHC Card is detected and working properly if its a 2GB SD Card and its not detected if the capacity is more than 2GB ie., for example 4GB. The hardware which I am using has PXA270 processor and it supports high capacity memory as I tested with 4GB SD Card on Linux Environment.And Also the Hardware supports high capacity mass storage device such as 4GB Pendrive on both linux and Windows CE 6.0 environment.I also added the catalog items components and registry entries to support high capacity memory.Kindly Revert with solutions

     

    Regards,

    Gokul

    Monday, September 20, 2010 2:51 PM

Answers

  • Did you include the legacy SD bus driver or the updated SD bus driver
    (set IMGSDBUS2=1)?
     
    Check the catalog under \Device Drivers\SD\ and select "SD Bus Driver",
    NOT "Legacy SD Bus Driver". Then do a clean sysgen (rebuild solution).
     

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.
    Tuesday, September 21, 2010 2:00 AM
    Moderator

All replies

  • Did you include the legacy SD bus driver or the updated SD bus driver
    (set IMGSDBUS2=1)?
     
    Check the catalog under \Device Drivers\SD\ and select "SD Bus Driver",
    NOT "Legacy SD Bus Driver". Then do a clean sysgen (rebuild solution).
     

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.
    Tuesday, September 21, 2010 2:00 AM
    Moderator
  • Hi Mr.Michel,

    Thanks for your reply. Its working

     

     

    Regards

    Gokul

    Wednesday, September 22, 2010 5:51 AM
  • Hi Mr.Michel,

    As Per your guidance I included 'SD Bus Driver' and the high capacity memory gets detected. But the problem is 'if i go for a hot swap, the boards resets' ie., if the 4GB SD Card is inserted before booting then its working properly. But if I remove and re-insert after booting, the board restarts. I am not facing this problem if I use SD Card 2GB or less. Please suggest with solutions.

     

     

    Regards

    Gokul

    Thursday, September 23, 2010 4:59 AM
  • I'm pretty sure this behavior has nothing to do with size, but with that
    specific type/brand of SD. Usually an unexpected reset is because of a
    brown-out caused by a power dip or glitch. Check your hardware design,
    hook up a scope to the proper voltage rail and see what happens when you
    insert/remove/insert while running CE.
     
    This is a HW problem, not SW.
     

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.
    • Proposed as answer by ringo803315 Sunday, November 21, 2010 2:36 PM
    Thursday, September 23, 2010 6:13 AM
    Moderator
  • Dear Mr. Verhagen,

     

    On my WinCE6 device I found a problem related to the FAT filesystem implementation.

    I found the issue while I was developing a simple embedded application reading huge files (several GB each) from the SD Card plugged in my device. The application uses Win32API to open and read the file. At a given condition I am going to describe you, the ReadFile function returns an error and cannot read data from the file starting from a given address. The condition is that ReafFile is reading a file which is wrapped (splitted) betweend the end and the beginning of the SD card.

    This is the procedure I followed to reproduce the issue sistematically with any SD card of any size. The procedure was done using my WinXP desktop PC:

    - take a 8GB SD card
    - format it
    - copy a 1.6 GB file to SD
    - copy a 2.0 GB file to SD
    - copy a 2.5 GB file to SD
    - delete the 1.6GB file
    - copy one more 2.5 GB file to SD (since it is a 8GB SD card, and I deleted the 1.6GB file, this file is splitted; it is the file causing the problem and faulty read by my application)

    When my application starts reading the second 2.5 GB file, at a given offset ReadFile starts returning error without reading data. If I go back to the beginning of the file (offset=0) ReadFile works properly.

    So I made some further tests to investigate the issue.

    1) Instead of using the XP desktop PC to prepare the SD card, I used my Linux PC: I ran the application to read the file on my WinCE device but the error still occurred.
    2) In both XP and Linux cases, the prepared SD cards are read perfectly by the two PCs.
    3) I also tried to used the WinCE device itself to prepare the SD card, and the incredible result is that, in this case, the ReadFile function does not return any error and reads the whole file!!

    So, I proved that:
    - the problem occurs with any SD card, the condition is that the file going to be read wraps the SD card
    - it is not a problem of my SD card driver
    - it is a problem of how FAT filesystem is implemented for read operation in WinCE

    I sought the Web for information about this problem, but without any success.
    Has anyone ever experienced a problem like that? Has anyone any suggest about how to fix it?

    Tnks in Advance and Best Regards

    Ale

    Tuesday, October 12, 2010 8:52 AM