stm32 usb_初始化硬故障
我正在尝试从STM32_USB-FS-Device_Lib_V4.0.0运行虚拟_COM_端口。我用的是IAR7.3。一切正常,但不运行usb。我开始使用调试器。在函数中stm32 usb_初始化硬故障,usb,stm32,cdc,Usb,Stm32,Cdc,我正在尝试从STM32_USB-FS-Device_Lib_V4.0.0运行虚拟_COM_端口。我用的是IAR7.3。一切正常,但不运行usb。我开始使用调试器。在函数中 void USB_Init(void) { pInformation = &Device_Info; pInformation->ControlState = 2; pProperty = &Device_Property; pUser_Standard_Requests = &U
void USB_Init(void)
{
pInformation = &Device_Info;
pInformation->ControlState = 2;
pProperty = &Device_Property;
pUser_Standard_Requests = &User_Standard_Requests;
/* Initialize devices one by one */
pProperty->Init();
}
联机属性=&Device\u属性;调试器跳转到异常处理程序HardFault\u处理程序。有什么问题吗?IAR或某些设置有问题吗?您正在访问memmory,但不应该。默认情况下,Hardfault_处理程序捕获所有异常,禁用可配置的故障异常。尝试打开MEMU故障:
SCB->CHCSR |= SCB_SHCSR_MEMFAULTENA_Msk;
//Set the priority of the MemManage fault (using CMSIS):
NVIC_SetPriority(MemoryManagement_IRQn, *priority*);
//Default name for MemManage fault function is:
void MemManage_Handler(void);
在此之后,您的硬故障可能会变成内存故障。不多,但它能让你更好地了解你在处理什么
有关在iar上调试硬故障的信息,请参见此
我不能确定您在哪里设置了Device_属性变量,但请仔细检查是否可以将其内存地址指定给其他对象