summaryrefslogtreecommitdiff
path: root/hw/bsp/stm32f7
AgeCommit message (Collapse)Author
2026-06-11Fix stm32f723disco host/cdc_msc_hid HIL: UART RX starvation + DWC2 DMA ↵Ha Thach
split-IN NAK storm (#3677) Fix stm32f723disco host HIL: UART RX starvation + DWC2 split bulk NAK/XactErr handling (#3677) stm32f7 BSP — UART RX starvation - The host console USART shared interrupt priority with the USB OTG ISR, so a long OTG interrupt could starve RXNE and drop received bytes. Raise the USART RX IRQ above OTG_FS/OTG_HS in both the bare-metal and FreeRTOS init paths, guarded by #ifdef UART_ID so boards without a UART console keep the default OTG priority. dwc2 host — split NAK/XactErr handling - Slave mode: a persistently-NAKing split bulk/control IN poll re-armed the start-split immediately, storming the ISR and starving task context. Throttle by disabling the channel and re-arming on the resulting halt (no frame deferral). - Buffer-DMA mode: a pure split bulk-OUT NAK was unhandled, leaving the channel halted and stalling the transfer — the dominant cause of CDC echo truncation. Handle it by rewinding the buffer pointers and retrying the start-split (Programming Guide v4.20a 5.1.4.2). - Buffer-DMA mode: a split bulk-OUT XactErr was retried immediately, exhausting HCD_XFER_ERROR_MAX before the transient cleared. Throttle via channel_disable + re-arm to give the hub TT a recovery gap, mirroring slave mode. - All three are scoped to split transfers (hcsplt.split_en); non-split NAK/XactErr keep the core-handled / immediate-retry behavior. The OUT XactErr throttle also excludes periodic split, where channel_disable() is a no-op and would wedge the channel. The nak_disabled flag is generalized to retry_disabled and honors xfer->closing so an endpoint close during a throttled retry tears down cleanly. Verified on stm32f723disco HIL (slave + CFG_TUH_DWC2_DMA_ENABLE): host/cdc_msc_hid, msc_file_explorer, and device_info all pass on both variants; DMA CDC echo went from ~15-25% raw failure to 10/10 clean.
2026-06-03refactor(cmake): comment out unused target folder propertieshathach
2026-05-29bsp/stm32f7: fix f746disco jlink deviceHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-04-29ensure board_uart_write return -1 on defaultHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2026-04-06remove IAR toolchain support from make build systemhathach
IAR is only supported with CMake. Remove all IAR-specific references from the Make build system including toolchain files, SRC_S_IAR, LD_FILE_IAR variables, and IAR toolchain detection. Also fix GET_SECTOR_COUNT truncation in msc_file_explorer and broken formatting in stm32f7 board_uart_write. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-04-03update stm32 to use better uart idhathach
2026-04-03stm32 add uart hwfifo if supported, otherwise usb tu_fifo_t for receive uart ↵hathach
in irq
2026-03-18add board_uart_read() for f7hathach
2026-02-28replace board_millis() with tusb_time_millis_api()hathach
2026-02-13use CFG_TUD_CONFIGURE_DWC2_DEFAULT to make it easier to add more valuehathach
2026-01-31bsp/stm32f7: update vbus senseHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-11-25bsp: Disable SysTick ISR if FreeRTOS is enabledZixun LI
2025-10-28fix warning with strict prototypes warningshathach
2025-10-28disable warning for startup filehathach
2025-10-24fix more warningshathach
2025-10-23refactor family.cmake: rename add_board_target() to family_add_board() and ↵hathach
move it to family_configure_common() also move startup and linker from board target to actual exe
2025-10-14fix lots of warnings for missing-prototypes for irqhandlerhathach
2025-09-04fix linker h745 issue with clanghathach
2025-07-04Revise DCache with RTT sectionHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-07-03Merge branch 'master' into fork/HiFiPhile/stm32_cachehathach
2025-07-02remove legacy DEPS_SUBMODULES in makehathach
2025-06-13hw/h7rs: Enable D-Cache in BSPHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2025-01-25cmake remove EXAMPLE-tinyusb target as libraryhathach
2025-01-24add cmake RTOS=zephyr (default noos) for zephyr buildhathach
2025-01-22- change to use CMAKE_SYSTEM_CPU to prevent CMAKE_SYSTEM_PROCESSOR conflict ↵hathach
with zephyr - change tinyusb CMakeLists.txt to function tinyusb_target_add() instead of defining tinyusb lib target
2024-12-27embed metadata to family.c and board.h to generate supported boards dochathach
2024-11-30Add bin & hex output to cmake targets.HiFiPhile
2024-11-13hil add stm32f723disco, add test flags for device/host/dualhathach
2024-11-08minor clean uphathach
2024-11-07update bsp for h7 to support host modehathach
2024-11-07enable stm32f4 hosthathach
2024-11-06fix iar buildhathach
2024-11-06update bsp for f7hathach
2024-11-04usbh use the new tusb_time_delay_ms_api()hathach
fix duplicated device attach for some devices which cause "USBH Defer Attach until current enumeration complete" include dev0 for tuh_edpt_abort_xfer()
2024-10-31fix f7 ci buildhathach
2024-10-25fix make buildhathach
2024-10-18testing hcd with f723 due to h743eval issue with mfx vbus drive.hathach
2024-10-15move core init code to dwc2 common. update/correct build for esppressifhathach
2024-07-19Fix STM32F7 FS port build.HiFiPhile
2024-05-03add cmake for stm32wbhathach
2024-04-28Build STM32F7 with single-point FPU.HiFiPhile
2024-04-24update clang make build for stm32: f0 f1 f2 f3 f4 f7 h7 g0 g4 l0 l4 samd21 ↵hathach
samd51 nrf
2024-04-23clang f7, update cmsis f7 to fix startup bughathach
2023-12-18update FreeRTOSConfig.hhathach
- remove configAssert() - configCHECK_HANDLER_INSTALLATION=0 (to prevent unused-parameter error with configAssert(x)=nil
2023-11-23move tools/cmake to examples/build_systemhathach
2023-11-23make nanolib linking explicitly by each family/boardhathach
2023-11-16switch freertos to static allocation only (dynamic = 0), since it is ↵hathach
possible now with latest freertos cmake
2023-10-31Fix STM32F7 OTG_HS GPIO alt mapping.HiFiPhile
2023-10-31minor clean uphathach
2023-08-04add uid for some stm32hathach