我在 STM32L412KB Nucleo32 上,用 CubeIDE 搭建了一个 USB‑CDC 项目。
我启用了 USB 外设与中间件,使用 USB‑CDC 的默认配置。
运行该代码后,程序会进入硬件错误处理函数,在调用USB_EnableGlobalInt(hpcd)时触发 INVSTATE 异常,对应位置为stm32l4xx_hal_pcd.c文件第 1014 行的HAL_PCD_Start()函数,地址 0x8000d26。
调用栈后续依次为:0xfffffff9处的信号处理函数、0x0、0xfffffff1 处的信号处理函数,最终跳转到stm32l4xx_it.c第 88 行的HardFault_Handler(),地址 0x800432a。
USB‑CDC 在 STM32F072 和 F103 的项目中可以正常工作。
L4的配置是否有所不同?
|
|