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.

[参考译文] TMS320C6748:USB MSC设备运行中止

Guru**** 2036780 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1088727/tms320c6748-usb-msc-device-runs-abort

部件号:TMS320C6748

我使用定制板,芯片是C6748,我使用eMMC进行存储。

FATFS在我的主板中运行良好, C6748可以在eMMC中读/写文件。 事实上,此主板和应用程序已在我们的产品中使用多年。

我还可以运行 USB_DevMsc_lcdkOMAPL138_c674xExampleProject。 它使用ramdisk作为示例。

似乎很容易粘附DevMsc和eMMC驱动程序。 我使用在..\packages\ti\drv\USB\examples\USB_dev\msc中找到的已连接的"usbd_mmsd_glute.c"文件。

但是,当程序运行时,它会中止。

这是因为 USBDMSCStorageRead 是从HWI中断调用的,而USBDMSCStorageRead则调用MMCSD_Read,它使用SemaphoreP_Pend,而HWI中不能调用该项。

因此 ,当Assert从Hwi和Swi捕获semaphore_pend调用 时,如果非零超时,则会中止。 如下图所示。

我很难修改USBMSC驱动程序,也很难修改MMCSD驱动程序。

我有没有办法解决这个问题?

谢谢你。

弗兰克

e2e.ti.com/.../usbd_5F00_mmcsd_5F00_glue.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Frank,

    很抱歉 ,TI已停止支持 基于TI-RTOS和裸机软件开发C6748。 请参阅 本公布 ,并于内查阅综合资源。

    此致,

    建中