From b96c5390889bc40ce45ca9a3a69315d684f42018 Mon Sep 17 00:00:00 2001 From: Robert Fisk Date: Tue, 31 May 2016 22:43:57 +1200 Subject: [PATCH] Implemented FIFO support in Downstream host, significant speed increase! Each USB transaction passed to the driver now consists of multiple 64-byte packets. 8 packets when receiving, 4 packets when transmitting. The STM32 silicon bugs out when more than 4 packets are scheduled to write at a time :( Reads 1.0MB/sec, writes 967kB/sec, not CPU limited :) --- Downstream/.cproject | 6 +- .../Inc/stm32f4xx_hal_hcd.h | 7 +- .../Inc/stm32f4xx_ll_usb.h | 43 ++-- .../Src/stm32f4xx_hal_hcd.c | 232 +++++++++++------- .../Src/stm32f4xx_ll_usb.c | 96 ++++++-- .../Class/MSC/Src/usbh_msc_bot.c | 28 +-- .../Core/Inc/usbh_def.h | 7 +- .../Core/Src/usbh_pipes.c | 7 +- Upstream/.cproject | 2 +- 9 files changed, 276 insertions(+), 152 deletions(-) diff --git a/Downstream/.cproject b/Downstream/.cproject index d86772c..bd2671c 100644 --- a/Downstream/.cproject +++ b/Downstream/.cproject @@ -47,7 +47,7 @@