|
请教下,自己捣鼓 usbx 运行到 ux_system_initialize 这个函数的第 186 行出现硬件错误 ?
具体是
#define USBX_MEMORY_SIZE (32 * 1024) // 这个地方不管是设置为 32KB 还是 64KB 或者是 128KB 都一样的,都会出现硬件错误
CHAR usbx_memory_buff[USBX_MEMORY_SIZE];
UINT ux_stm32_usb_init(void)
{
UINT status;
bsp_InitUSB(); // io 口配置
/* Initialize USBX Memory */
ux_system_initialize(usbx_memory_buff, USBX_MEMORY_SIZE, UX_NULL, 0); // 运行到这个函数里面时就会出现硬件错误,?? 这个还在初始化操作,其他的什么也还没有开始干啦,怎么会这样的 ??
/* Initialize FileX. */
fx_system_initialize();
/* The code below is required for installing the host portion of USBX. */
status = ux_host_stack_initialize(UX_NULL);
if (status != UX_SUCCESS)
return status;
/* Register storage class. */
status = ux_host_stack_class_register(_ux_system_host_class_storage_name,
_ux_host_class_storage_entry);
if (status != UX_SUCCESS)
return status;
/* Register all the USB host controllers available in this system. */
USB_Printf("ux_host_stack_hcd_register init please waiting ... ...\r\n");
status = ux_host_stack_hcd_register(_ux_system_host_hcd_stm32_name,
_ux_hcd_stm32_initialize_hscore, // _ux_hcd_stm32_initialize_hscore, _ux_hcd_stm32_initialize_fscore
USB2_BASE_ADDRESS,
0x0);
if (status != UX_SUCCESS)
return status;
USB_Printf("ux_stm32_usb_init OK status = %d ... ...\r\n", status);
return UX_SUCCESS;
}
初始化函数 ux_system_initialize(usbx_memory_buff, USBX_MEMORY_SIZE, UX_NULL, 0)
_ux_system -> ux_system_regular_memory_pool_start; 这个也有地址出来,也不是空指针,怎么会造成这样的问题出现啊 ???????????????
|
|