fix MountUsb function error

This commit is contained in:
Liu_Weichao 2022-11-08 17:02:39 +08:00
parent 9a818b1ef4
commit 696c9f6fe0
22 changed files with 154 additions and 47 deletions

View File

@ -35,9 +35,11 @@ menu "aiit-arm32-board feature"
menu "config board peripheral" menu "config board peripheral"
config MOUNT_SDCARD config MOUNT_SDCARD
bool "mount sd card" bool
default n
config MOUNT_USB
bool
default n default n
select BSP_USING_SDIO
endmenu endmenu
endmenu endmenu
endmenu endmenu

View File

@ -51,7 +51,6 @@ extern int HwSramInit(void);
extern int Stm32HwAdcInit(void); extern int Stm32HwAdcInit(void);
extern int Stm32HwDacInit(void); extern int Stm32HwDacInit(void);
extern int Stm32HwLcdInit(void); extern int Stm32HwLcdInit(void);
extern int STM32USBHostRegister(void);
extern int Stm32HwUsbInit(void); extern int Stm32HwUsbInit(void);
static void ClockConfiguration() static void ClockConfiguration()
@ -151,7 +150,6 @@ struct InitSequenceDesc _board_init[] =
#endif #endif
#ifdef BSP_USING_USB #ifdef BSP_USING_USB
#ifdef BSP_USING_STM32_USBH #ifdef BSP_USING_STM32_USBH
{ "STM32USBHostRegister", STM32USBHostRegister },
{ "hw usb", Stm32HwUsbInit }, { "hw usb", Stm32HwUsbInit },
#endif #endif
#endif #endif

View File

@ -1,6 +1,6 @@
config BSP_USING_STM32_USBH config BSP_USING_STM32_USBH
bool "Using usb host" bool "Using usb host"
default y default n
if BSP_USING_STM32_USBH if BSP_USING_STM32_USBH
config USB_BUS_NAME config USB_BUS_NAME
string "usb bus name" string "usb bus name"
@ -11,5 +11,15 @@ config BSP_USING_STM32_USBH
config USB_DEVICE_NAME config USB_DEVICE_NAME
string "usb bus device name" string "usb bus device name"
default "usb_dev" default "usb_dev"
config MOUNT_USB_FS
bool "mount usb file system"
default y
select MOUNT_USB
if MOUNT_USB_FS
config MOUNT_USB_FS_TYPE
int "choose file system type : FATFS(0) LWEXT4(3)"
default 0
endif
endif endif

View File

@ -25,6 +25,14 @@
uint32 UdiskRead_new_api(void *dev, struct BusBlockReadParam *read_param); uint32 UdiskRead_new_api(void *dev, struct BusBlockReadParam *read_param);
uint32 UdiskWirte_new_api(void *dev, struct BusBlockWriteParam *write_param); uint32 UdiskWirte_new_api(void *dev, struct BusBlockWriteParam *write_param);
#ifdef MOUNT_USB
int MountUsb(void)
{
STM32USBHostRegister();
return 0;
}
#endif
static uint32 UdiskOpenNewApi(void *dev) static uint32 UdiskOpenNewApi(void *dev)
{ {
return EOK; return EOK;

View File

@ -71,7 +71,7 @@ extern int HwCh376Init(void);
* @description: Mount USB * @description: Mount USB
* @return 0 * @return 0
*/ */
int MountUSB(void) int MountUsb(void)
{ {
if (MountFilesystem(USB_BUS_NAME, USB_DEVICE_NAME, USB_DRIVER_NAME, FSTYPE_CH376, "/") == 0) if (MountFilesystem(USB_BUS_NAME, USB_DEVICE_NAME, USB_DRIVER_NAME, FSTYPE_CH376, "/") == 0)
KPrintf("usb mount to '/'"); KPrintf("usb mount to '/'");

View File

@ -68,7 +68,7 @@ extern int HwSpiInit(void);
* @description: Mount USB * @description: Mount USB
* @return 0 * @return 0
*/ */
int MountUSB(void) int MountUsb(void)
{ {
if (MountFilesystem(USB_BUS_NAME, USB_DEVICE_NAME, USB_DRIVER_NAME, FSTYPE_CH376, "/") == 0) if (MountFilesystem(USB_BUS_NAME, USB_DEVICE_NAME, USB_DRIVER_NAME, FSTYPE_CH376, "/") == 0)
KPrintf("usb mount to '/'\n"); KPrintf("usb mount to '/'\n");

View File

@ -42,7 +42,10 @@ menu "ok1052-c feature"
menu "config board peripheral" menu "config board peripheral"
config MOUNT_SDCARD config MOUNT_SDCARD
bool "mount sd card" bool
default n
config MOUNT_USB
bool
default n default n
endmenu endmenu

View File

@ -11,5 +11,15 @@ config BSP_USING_NXP_USBH
config USB_DEVICE_NAME config USB_DEVICE_NAME
string "usb bus device name" string "usb bus device name"
default "usb_dev" default "usb_dev"
config MOUNT_USB_FS
bool "mount usb file system"
default y
select MOUNT_USB
if MOUNT_USB_FS
config MOUNT_USB_FS_TYPE
int "choose file system type : FATFS(0) LWEXT4(3)"
default 0
endif
endif endif

View File

@ -34,6 +34,8 @@ Modification:
extern usb_host_msd_command_instance_t g_MsdCommandInstance; extern usb_host_msd_command_instance_t g_MsdCommandInstance;
usb_host_handle g_HostHandle; usb_host_handle g_HostHandle;
static void UsbHostTask(void* parameter);
extern usb_status_t USB_HostMsdReadApi(usb_host_msd_command_instance_t *msdCommandInstance, uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num); extern usb_status_t USB_HostMsdReadApi(usb_host_msd_command_instance_t *msdCommandInstance, uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num);
extern usb_status_t USB_HostMsdWriteApi(usb_host_msd_command_instance_t *msdCommandInstance, const uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num); extern usb_status_t USB_HostMsdWriteApi(usb_host_msd_command_instance_t *msdCommandInstance, const uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num);
@ -148,6 +150,22 @@ void UsbUnmountFileSystem()
{ {
UnmountFileSystem(UDISK_MOUNTPOINT); UnmountFileSystem(UDISK_MOUNTPOINT);
} }
#ifdef MOUNT_USB
int MountUsb(void)
{
int32 usb_host_task = 0;
usb_host_task = KTaskCreate("usbh", UsbHostTask, NONE,
USB_HOST_STACK_SIZE, 8);
if(usb_host_task < 0) {
KPrintf("usb_host_task create failed ...%s %d.\n", __FUNCTION__,__LINE__);
return ERROR;
}
StartupKTask(usb_host_task);
return 0;
}
#endif
#endif #endif
static uint32 UsbHostOpen(void *dev) static uint32 UsbHostOpen(void *dev)
@ -258,7 +276,6 @@ static int BoardUsbDevBend(void)
int Imxrt1052HwUsbHostInit(void) int Imxrt1052HwUsbHostInit(void)
{ {
x_err_t ret = EOK; x_err_t ret = EOK;
int32 usb_host_task = 0;
static struct UsbBus usb_bus; static struct UsbBus usb_bus;
memset(&usb_bus, 0, sizeof(struct UsbBus)); memset(&usb_bus, 0, sizeof(struct UsbBus));
@ -280,15 +297,6 @@ int Imxrt1052HwUsbHostInit(void)
return ERROR; return ERROR;
} }
usb_host_task = KTaskCreate("usbh", UsbHostTask, NONE,
USB_HOST_STACK_SIZE, 8);
if(usb_host_task < 0) {
KPrintf("usb_host_task create failed ...%s %d.\n", __FUNCTION__,__LINE__);
return ERROR;
}
StartupKTask(usb_host_task);
return ret; return ret;
} }

View File

@ -33,6 +33,14 @@ menu "stm32f407-st-discovery feature"
default 0x20000000 default 0x20000000
endmenu endmenu
menu "config board peripheral"
config MOUNT_SDCARD
bool
default n
config MOUNT_USB
bool
default n
endmenu
endmenu endmenu
endmenu endmenu

View File

@ -50,7 +50,6 @@ extern int Stm32HwRtcInit();
extern int HwSdioInit(); extern int HwSdioInit();
extern int Stm32HwAdcInit(void); extern int Stm32HwAdcInit(void);
extern int Stm32HwDacInit(void); extern int Stm32HwDacInit(void);
extern int STM32USBHostRegister(void);
extern int Stm32HwUsbInit(void); extern int Stm32HwUsbInit(void);
#ifdef BSP_USING_LWIP #ifdef BSP_USING_LWIP
extern int ETH_BSP_Config(); extern int ETH_BSP_Config();
@ -143,7 +142,6 @@ struct InitSequenceDesc _board_init[] =
#endif #endif
#ifdef BSP_USING_USB #ifdef BSP_USING_USB
#ifdef BSP_USING_STM32_USBH #ifdef BSP_USING_STM32_USBH
{ "STM32USBHostRegister", STM32USBHostRegister },
{ "hw usb", Stm32HwUsbInit }, { "hw usb", Stm32HwUsbInit },
#endif #endif
#endif #endif

View File

@ -1,6 +1,7 @@
config BSP_USING_STM32_USBH config BSP_USING_STM32_USBH
bool "Using usb host" bool "Using usb host"
default y default n
if BSP_USING_STM32_USBH
config USB_BUS_NAME config USB_BUS_NAME
string "usb bus name" string "usb bus name"
default "usb" default "usb"
@ -9,4 +10,15 @@ config BSP_USING_STM32_USBH
default "usb_drv" default "usb_drv"
config USB_DEVICE_NAME config USB_DEVICE_NAME
string "usb bus device name" string "usb bus device name"
default "usb_dev" default "usb_dev"
config MOUNT_USB_FS
bool "mount usb file system"
default y
select MOUNT_USB
if MOUNT_USB_FS
config MOUNT_USB_FS_TYPE
int "choose file system type : FATFS(0) LWEXT4(3)"
default 0
endif
endif

View File

@ -27,6 +27,14 @@
uint32 UdiskRead_new_api(void *dev, struct BusBlockReadParam *read_param); uint32 UdiskRead_new_api(void *dev, struct BusBlockReadParam *read_param);
uint32 UdiskWirte_new_api(void *dev, struct BusBlockWriteParam *write_param); uint32 UdiskWirte_new_api(void *dev, struct BusBlockWriteParam *write_param);
#ifdef MOUNT_USB
int MountUsb(void)
{
STM32USBHostRegister();
return 0;
}
#endif
static uint32 UdiskOpenNewApi(void *dev) static uint32 UdiskOpenNewApi(void *dev)
{ {
return EOK; return EOK;

View File

@ -42,7 +42,10 @@ menu "xidatong-arm32 feature"
menu "config board peripheral" menu "config board peripheral"
config MOUNT_SDCARD config MOUNT_SDCARD
bool "mount sd card" bool
default n
config MOUNT_USB
bool
default n default n
endmenu endmenu

View File

@ -11,5 +11,15 @@ config BSP_USING_NXP_USBH
config USB_DEVICE_NAME config USB_DEVICE_NAME
string "usb bus device name" string "usb bus device name"
default "usb_dev" default "usb_dev"
config MOUNT_USB_FS
bool "mount usb file system"
default y
select MOUNT_USB
if MOUNT_USB_FS
config MOUNT_USB_FS_TYPE
int "choose file system type : FATFS(0) LWEXT4(3)"
default 0
endif
endif endif

View File

@ -34,6 +34,8 @@ Modification:
extern usb_host_msd_command_instance_t g_MsdCommandInstance; extern usb_host_msd_command_instance_t g_MsdCommandInstance;
usb_host_handle g_HostHandle; usb_host_handle g_HostHandle;
static void UsbHostTask(void* parameter);
extern usb_status_t USB_HostMsdReadApi(usb_host_msd_command_instance_t *msdCommandInstance, uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num); extern usb_status_t USB_HostMsdReadApi(usb_host_msd_command_instance_t *msdCommandInstance, uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num);
extern usb_status_t USB_HostMsdWriteApi(usb_host_msd_command_instance_t *msdCommandInstance, const uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num); extern usb_status_t USB_HostMsdWriteApi(usb_host_msd_command_instance_t *msdCommandInstance, const uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num);
@ -148,6 +150,22 @@ void UsbUnmountFileSystem()
{ {
UnmountFileSystem(UDISK_MOUNTPOINT); UnmountFileSystem(UDISK_MOUNTPOINT);
} }
#ifdef MOUNT_USB
int MountUsb(void)
{
int32 usb_host_task = 0;
usb_host_task = KTaskCreate("usbh", UsbHostTask, NONE,
USB_HOST_STACK_SIZE, 8);
if(usb_host_task < 0) {
KPrintf("usb_host_task create failed ...%s %d.\n", __FUNCTION__,__LINE__);
return ERROR;
}
StartupKTask(usb_host_task);
return 0;
}
#endif
#endif #endif
static uint32 UsbHostOpen(void *dev) static uint32 UsbHostOpen(void *dev)
@ -258,7 +276,6 @@ static int BoardUsbDevBend(void)
int Imxrt1052HwUsbHostInit(void) int Imxrt1052HwUsbHostInit(void)
{ {
x_err_t ret = EOK; x_err_t ret = EOK;
int32 usb_host_task = 0;
static struct UsbBus usb_bus; static struct UsbBus usb_bus;
memset(&usb_bus, 0, sizeof(struct UsbBus)); memset(&usb_bus, 0, sizeof(struct UsbBus));
@ -280,15 +297,6 @@ int Imxrt1052HwUsbHostInit(void)
return ERROR; return ERROR;
} }
usb_host_task = KTaskCreate("usbh", UsbHostTask, NONE,
USB_HOST_STACK_SIZE, 8);
if(usb_host_task < 0) {
KPrintf("usb_host_task create failed ...%s %d.\n", __FUNCTION__,__LINE__);
return ERROR;
}
StartupKTask(usb_host_task);
return ret; return ret;
} }

View File

@ -70,7 +70,7 @@ extern int HwWdtInit(void);
* @description: Mount USB * @description: Mount USB
* @return 0 * @return 0
*/ */
int MountUSB(void) int MountUsb(void)
{ {
if (MountFilesystem(USB_BUS_NAME, USB_DEVICE_NAME, USB_DRIVER_NAME, FSTYPE_CH376, "/") == 0) if (MountFilesystem(USB_BUS_NAME, USB_DEVICE_NAME, USB_DRIVER_NAME, FSTYPE_CH376, "/") == 0)
KPrintf("usb mount to '/'\n"); KPrintf("usb mount to '/'\n");

View File

@ -42,7 +42,10 @@ menu "xiwangtong-arm32 feature"
menu "config board peripheral" menu "config board peripheral"
config MOUNT_SDCARD config MOUNT_SDCARD
bool "mount sd card" bool
default n
config MOUNT_USB
bool
default n default n
endmenu endmenu

View File

@ -11,5 +11,15 @@ config BSP_USING_NXP_USBH
config USB_DEVICE_NAME config USB_DEVICE_NAME
string "usb bus device name" string "usb bus device name"
default "usb_dev" default "usb_dev"
config MOUNT_USB_FS
bool "mount usb file system"
default y
select MOUNT_USB
if MOUNT_USB_FS
config MOUNT_USB_FS_TYPE
int "choose file system type : FATFS(0) LWEXT4(3)"
default 0
endif
endif endif

View File

@ -34,6 +34,8 @@ Modification:
extern usb_host_msd_command_instance_t g_MsdCommandInstance; extern usb_host_msd_command_instance_t g_MsdCommandInstance;
usb_host_handle g_HostHandle; usb_host_handle g_HostHandle;
static void UsbHostTask(void* parameter);
extern usb_status_t USB_HostMsdReadApi(usb_host_msd_command_instance_t *msdCommandInstance, uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num); extern usb_status_t USB_HostMsdReadApi(usb_host_msd_command_instance_t *msdCommandInstance, uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num);
extern usb_status_t USB_HostMsdWriteApi(usb_host_msd_command_instance_t *msdCommandInstance, const uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num); extern usb_status_t USB_HostMsdWriteApi(usb_host_msd_command_instance_t *msdCommandInstance, const uint8_t *buffer, uint32_t pos, uint32_t block_size, uint32_t block_num);
@ -148,6 +150,22 @@ void UsbUnmountFileSystem()
{ {
UnmountFileSystem(UDISK_MOUNTPOINT); UnmountFileSystem(UDISK_MOUNTPOINT);
} }
#ifdef MOUNT_USB
int MountUsb(void)
{
int32 usb_host_task = 0;
usb_host_task = KTaskCreate("usbh", UsbHostTask, NONE,
USB_HOST_STACK_SIZE, 8);
if(usb_host_task < 0) {
KPrintf("usb_host_task create failed ...%s %d.\n", __FUNCTION__,__LINE__);
return ERROR;
}
StartupKTask(usb_host_task);
return 0;
}
#endif
#endif #endif
static uint32 UsbHostOpen(void *dev) static uint32 UsbHostOpen(void *dev)
@ -258,7 +276,6 @@ static int BoardUsbDevBend(void)
int Imxrt1052HwUsbHostInit(void) int Imxrt1052HwUsbHostInit(void)
{ {
x_err_t ret = EOK; x_err_t ret = EOK;
int32 usb_host_task = 0;
static struct UsbBus usb_bus; static struct UsbBus usb_bus;
memset(&usb_bus, 0, sizeof(struct UsbBus)); memset(&usb_bus, 0, sizeof(struct UsbBus));
@ -280,15 +297,6 @@ int Imxrt1052HwUsbHostInit(void)
return ERROR; return ERROR;
} }
usb_host_task = KTaskCreate("usbh", UsbHostTask, NONE,
USB_HOST_STACK_SIZE, 8);
if(usb_host_task < 0) {
KPrintf("usb_host_task create failed ...%s %d.\n", __FUNCTION__,__LINE__);
return ERROR;
}
StartupKTask(usb_host_task);
return ret; return ret;
} }

View File

@ -44,7 +44,7 @@ extern int Lwext4Init(void);
extern int LibcSystemInit(void); extern int LibcSystemInit(void);
extern int RtcNtpSyncInit(void); extern int RtcNtpSyncInit(void);
extern int MountSDCard(void); extern int MountSDCard(void);
extern int MountUSB(void); extern int MountUsb(void);
extern int DfsMountTable(void); extern int DfsMountTable(void);
extern int userShellInit(void); extern int userShellInit(void);
extern int STM32USBHostRegister(void); extern int STM32USBHostRegister(void);

View File

@ -117,7 +117,7 @@ struct InitSequenceDesc env_init[] =
{ "MountSDCard", MountSDCard }, { "MountSDCard", MountSDCard },
#endif #endif
#ifdef MOUNT_USB #ifdef MOUNT_USB
{ "MountUSB", MountUSB }, { "MountUsb", MountUsb },
#endif #endif
#ifdef FS_VFS_MNTTABLE #ifdef FS_VFS_MNTTABLE
{ "DfsMountTable", DfsMountTable }, { "DfsMountTable", DfsMountTable },