sd-card read hang in USB composite mass storage

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

sd-card read hang in USB composite mass storage

1,038 次查看
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

标签 (4)
0 项奖励
回复
2 回复数

778 次查看
bobv
Contributor I

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

0 项奖励
回复

778 次查看
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 项奖励
回复