sd-card read hang in USB composite mass storage

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

sd-card read hang in USB composite mass storage

849 Views
bobv
Contributor I

Hi,

 

I am new to the lpc platform. I am trying to build a usb composite device with VCOM and MSC (storage over sd-card). I am using a NGX Xplorer 1830. I modified the usbd_rom_dfu_composite example, by adding the sd-card initialization routine into main(), and modified translate_rd and translate_wr with read and write from sd-card.

 

However, I notice that the device hangs during read from the card:

 

static void sd_rd(uint32_t@ offset, uint8_t * *buff_adr, uint32_t length, uint32_t hi_offset)

{

  // only using offset, access limited to <~ 4GB

  int x;

  Board_LED_Set(1,1);

  x = FSMCI_CardReadSectors(0,verifyBuff,offset/sdSectorSize,length/sdSectorSize);

  Board_LED_Toggle(1);

  *buff_adr = verifyBuff;

}

 

Although, the read works fine during initialisation.

The project with lpc-xpresso is attached.

Any help will be greatly appreciated

Original Attachment has been moved to: pd_project_bad.tar.7z.zip

Labels (4)
0 Kudos
2 Replies

589 Views
bobv
Contributor I

The problem is now solved. I set a higher interrupt priority for the sd card than the USB.

0 Kudos

589 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi

I recommend just remove below code from main() and ms_timerDelay() functions to check if SD card read works or not.

__WFI();


Wish it helps.

Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos