Embedded 无RTOS嵌入式系统中的USB

Embedded 无RTOS嵌入式系统中的USB,embedded,usb,rtos,Embedded,Usb,Rtos,我没有嵌入式USB堆栈的经验,所以我的问题是,我可以在没有操作系统的情况下运行它吗 当然,在没有操作系统的情况下运行是可能的,但是如果我有一个操作系统,事情会变得容易得多吗 我想用它将数据保存到连接的USB大容量存储设备。如果您的USB设备是片上设备,那么您的芯片供应商几乎肯定会有可能包含大容量存储的USB示例代码。您不需要操作系统,但需要中断处理,还需要文件系统 您的USB控制器将需要主机或OTG功能-如果它仅支持设备,则您无法连接到另一个USB设备,只能连接到主机 操作系统(或者至少是一个简

我没有嵌入式USB堆栈的经验,所以我的问题是,我可以在没有操作系统的情况下运行它吗

当然,在没有操作系统的情况下运行是可能的,但是如果我有一个操作系统,事情会变得容易得多吗


我想用它将数据保存到连接的USB大容量存储设备。

如果您的USB设备是片上设备,那么您的芯片供应商几乎肯定会有可能包含大容量存储的USB示例代码。您不需要操作系统,但需要中断处理,还需要文件系统

您的USB控制器将需要主机或OTG功能-如果它仅支持设备,则您无法连接到另一个USB设备,只能连接到主机


操作系统(或者至少是一个简单的RTOS内核)的好处是,您可以在执行其他处理任务的同时安排文件系统活动。在这种情况下,操作系统不一定会使事情变得更简单,但它可能会使您的系统对关键任务和事件的响应更灵敏。

我过去使用的usb堆栈与PIC18F2550(8位)和LPC1343(32位ARM Cortex M3)微控制器没有任何问题。

您想连接哪个usb设备?如果您想将USB添加到串行设备、大容量设备或音频设备中,这会有所不同。您是否也可以选择SD卡作为大容量设备?因为他们几乎是微不足道的访问一个小的代码占用和ramIs的USB控制器在您的处理器上?如果是的话,处理器是什么。也许可以帮你。我还没有使用它,但需要在以后的项目中检查它,而且这个库似乎可以在没有操作系统的情况下使用,也就是说,可以将它集成到一个已经存在的项目中,并拥有自己的内核。我的控制器是一个具有主机功能的STM32F4设备。我尝试了ST中的示例代码,并将其放入预定的系统中。然后我就有时间问题了。文件写入时间太长,因此其他任务没有及时执行。RTO可能会解决该问题,只要您有足够的内存进行缓冲,因此实际写入可以在低优先级任务中执行。USB数据传输到存储设备的性能可能会受到存储设备本身的限制。通常,此类操作会有一个最高速度,超过该速度时会暂停,但没有最低速度,因此,您可能能够做的事情是重构USB/文件系统代码,以便每次通过主系统循环或每次调度时只稍微推进该过程。任何时候它都会等待一段时间或在某个条件下,它应该产生/返回,然后在下一次运行时查看是否满足超时/条件。