检测F28M36x微控制器的引导程序中是否存在USB记忆棒

问题描述

我们已经为F28M36x Concerto微控制器(德克萨斯仪器)开发了引导加载程序,该引导加载程序从USB记忆棒加载软件。 我们已将USBlib集成到引导加载程序中(请参阅API指南here)。

从USB记忆棒启动有效;但是,检测高容量的USB笔式驱动器需要花费很长时间。确切地说,要花很长时间才能在回调MSCCallback()函数获取事件“ MSC_EVENT_OPEN”,该事件已传递给API USBHMSCDriveOpen()

g_ulMSCInstance = USBHMSCDriveOpen(0,MSCCallback);

当前,这是第一个使引导加载程序了解到存在pendrive的事件。

因此,我们将计时器设置为大约5秒钟:如果在计时器到期之前触发了MSC_EVENT_OPEN事件,则引导程序将从USB加载SW应用程序。如果计时器到期但未检测到任何USB驱动程序,则会从闪存加载软件。因此,问题在于加电后启动软件会花费很长时间,因为它徒劳地等待USB笔式驱动器的存在,而USB笔式驱动器在99%的情况下没有插入。

所以问题是:是否可以(通过调用适当的USBlib API或以其他任何方式)立即了解USB笔式驱动器已插入?如果我们可以快速检测到USB驱动器,我们将避免徒劳地等待5秒钟:如果物理上没有USB笔驱动器,则引导程序将立即开始从闪存中加载应用程序。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)