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
The problem is now solved. I set a higher interrupt priority for the sd card than the USB.
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!
-----------------------------------------------------------------------------------------------------------------------