写在前面
- 现在,网上关于STM32的USB的文章数不胜数。写这篇文章仅仅是对于自我学习的一个记录。主要是对实际学习中遇到的一些棘手问题做个备忘录。使用的芯片为STM32F407VG 。
- 目前,ST的USB驱动有两套,一套是早期的独立版USB驱动,官方培训文档中称为Legacy library,最新版为2.2.0;一套为针对其Cube系列的驱动,根据芯片不同可能有区别,具体见对应芯片的Cube驱动包,官方培训文档中称为Cube library。 本文使用的为Legacy libraryUSB驱动。更详细的请参考博文STM32 之 USB IP(USB模块) 详解。
- HAL库 + Legacy library USB库两个混用
- 目前,Fatfs 驱动最新版为R0.13a 。
- 本文多出自于ST的官方文档,读者也可以直接去ST官网查阅相关文档。
- 本文主要涉及USB Host(全速)+ MSC + Fatfs的移植。其他移植后续用到再说。
- 关于独立版USB驱动库的详解见 http://blog.csdn.net/zcshoucsdn/article/details/78936456
USB驱动部分
源码移植
源码的移植相对来说比较简单,