This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Read Issue from SDCard

Hi,

I am using OMAP4 BSP. we are seeing that it takes around 2.5 to 3 minutes for reading NK.bin from SD Card to RAM.

I have increased the SD Clock rate to 25 and 50MHz, but we are still seeing the same results.

What else am I missing. 

Regards,

GSR

  • GSR,

    You'll have to optimize the SD card driver achieve better throughput. What is the size of the NK.bin that you are reading or what is the current throughput that you are receiving?

  • Hi,

    Thank you for the reply. The size of the nk.bin is 72 or 73 MB.

    OS: Compact 7

    Regards,

    GSR

  • GSR,

    I believe you are getting almost 500KB/sec throughput from MMC driver in EBOOT. This can be improved pretty much to more than 5MB/sec (depending on the card) and can go upto 20MB/sec(depends)

    For getting this kind of throughput some optimization in the MMC driver has to performed. One simple thing you can try is to implement Multi-block read instead of single-block read.  

  • Hi Renjith,

    Thanks for the reply. I understand what you are telling. I see that currently it reads sector by sector.

    I will implement and let you know the results.

    Thanks for the suggestion.

    Regards,

    GSR

  • Hi,

    I was looking at the code and observed that the FileIo is implemented to read single sector at a time.

    I am trying to understand the FileIoReadNextSector API which will read the kernel image from the SD Card.

    It calculates Cluster, Sector no  and etc...But at the end why can't EBOOT read straight away multiple sectors at a time?

    On sd card is the data will not be available in consecutive sectors?

    Regards,

    GSR

  • GSR,

    1258021 said:

    It calculates Cluster, Sector no  and etc...But at the end why can't EBOOT read straight away multiple sectors at a time?

    I can't answer this question. But you can certainly implement multi-sector read to fix this issue.