From 37a7e2ff20978a5f28437d1830cebd47060cfef7 Mon Sep 17 00:00:00 2001 From: MiloradCvjetkovic Date: Tue, 4 Jun 2024 10:33:42 +0200 Subject: [PATCH 1/2] USB: update USB Host config file - change "relocate" to "locate" - update comments - update source files related to "relocate" to "locate" change - update documentation - update examples - update examples for CI --- .ci/USB/Host/RTE/USB/USBH_Config_0.h | 35 ++++++++------- .../Host/RTE/USB/USBH_Config_0.h.base@8.0.0 | 35 ++++++++------- .ci/USB/Host/RTE/USB/USBH_Config_1.h | 35 ++++++++------- .../Host/RTE/USB/USBH_Config_1.h.base@8.0.0 | 35 ++++++++------- .ci/USB/Host/RTE/USB/USBH_Config_2.h | 35 ++++++++------- .../Host/RTE/USB/USBH_Config_2.h.base@8.0.0 | 35 ++++++++------- .ci/USB/Host/RTE/USB/USBH_Config_3.h | 35 ++++++++------- .../Host/RTE/USB/USBH_Config_3.h.base@8.0.0 | 35 ++++++++------- Components/USB/Config/USBH_Config.h | 35 ++++++++------- Components/USB/Source/usbh_config.c | 18 ++++---- Components/USB/Source/usbh_config.h | 2 +- Components/USB/Source/usbh_lib_core.c | 6 +-- Components/USB/Source/usbh_section.h | 8 ++-- .../USB/src/images/usbh_config_0_h.png | Bin 18540 -> 18734 bytes Documentation/Doxygen/USB/src/rl_usb.txt | 16 +++---- Documentation/Doxygen/USB/src/usb.txt | 2 +- .../USB/Host/Keyboard/RTE/USB/USBH_Config_0.h | 41 ++++++++++-------- .../RTE/USB/USBH_Config_0.h.base@8.0.0 | 35 ++++++++------- .../Host/MassStorage/RTE/USB/USBH_Config_0.h | 41 ++++++++++-------- .../RTE/USB/USBH_Config_0.h.base@8.0.0 | 35 ++++++++------- 20 files changed, 292 insertions(+), 227 deletions(-) diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_0.h b/.ci/USB/Host/RTE/USB/USBH_Config_0.h index 6681bd1a..d6f3cdd0 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_0.h +++ b/.ci/USB/Host/RTE/USB/USBH_Config_0.h @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH0_HC_NUM 0 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH0_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH0_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH0_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH0_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH0_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH0_HC_MEM_POOL_SECTION_NAME ".driver.usbh0" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH0_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_0.h.base@8.0.0 b/.ci/USB/Host/RTE/USB/USBH_Config_0.h.base@8.0.0 index 6681bd1a..d6f3cdd0 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_0.h.base@8.0.0 +++ b/.ci/USB/Host/RTE/USB/USBH_Config_0.h.base@8.0.0 @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH0_HC_NUM 0 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH0_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH0_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH0_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH0_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH0_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH0_HC_MEM_POOL_SECTION_NAME ".driver.usbh0" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH0_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_1.h b/.ci/USB/Host/RTE/USB/USBH_Config_1.h index f1a82f7b..be394d85 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_1.h +++ b/.ci/USB/Host/RTE/USB/USBH_Config_1.h @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH1_HC_NUM 1 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH1_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH1_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH1_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH1_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH1_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH1_HC_MEM_POOL_SECTION_NAME ".driver.usbh1" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH1_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_1.h.base@8.0.0 b/.ci/USB/Host/RTE/USB/USBH_Config_1.h.base@8.0.0 index f1a82f7b..be394d85 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_1.h.base@8.0.0 +++ b/.ci/USB/Host/RTE/USB/USBH_Config_1.h.base@8.0.0 @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH1_HC_NUM 1 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH1_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH1_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH1_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH1_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH1_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH1_HC_MEM_POOL_SECTION_NAME ".driver.usbh1" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH1_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_2.h b/.ci/USB/Host/RTE/USB/USBH_Config_2.h index 200a23c6..56eeafc6 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_2.h +++ b/.ci/USB/Host/RTE/USB/USBH_Config_2.h @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH2_HC_NUM 2 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH2_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH2_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH2_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH2_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH2_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH2_HC_MEM_POOL_SECTION_NAME ".driver.usbh2" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH2_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_2.h.base@8.0.0 b/.ci/USB/Host/RTE/USB/USBH_Config_2.h.base@8.0.0 index 200a23c6..56eeafc6 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_2.h.base@8.0.0 +++ b/.ci/USB/Host/RTE/USB/USBH_Config_2.h.base@8.0.0 @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH2_HC_NUM 2 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH2_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH2_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH2_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH2_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH2_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH2_HC_MEM_POOL_SECTION_NAME ".driver.usbh2" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH2_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_3.h b/.ci/USB/Host/RTE/USB/USBH_Config_3.h index 5a3bd30f..e07468a9 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_3.h +++ b/.ci/USB/Host/RTE/USB/USBH_Config_3.h @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH3_HC_NUM 3 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH3_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH3_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH3_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH3_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH3_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH3_HC_MEM_POOL_SECTION_NAME ".driver.usbh3" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH3_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/.ci/USB/Host/RTE/USB/USBH_Config_3.h.base@8.0.0 b/.ci/USB/Host/RTE/USB/USBH_Config_3.h.base@8.0.0 index 5a3bd30f..e07468a9 100644 --- a/.ci/USB/Host/RTE/USB/USBH_Config_3.h.base@8.0.0 +++ b/.ci/USB/Host/RTE/USB/USBH_Config_3.h.base@8.0.0 @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH3_HC_NUM 3 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH3_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH3_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH3_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH3_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH3_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH3_HC_MEM_POOL_SECTION_NAME ".driver.usbh3" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH3_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/Components/USB/Config/USBH_Config.h b/Components/USB/Config/USBH_Config.h index 23fd2bbf..501d9964 100644 --- a/Components/USB/Config/USBH_Config.h +++ b/Components/USB/Config/USBH_Config.h @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH%Instance%_HC_NUM %Instance% -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH%Instance%_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH%Instance%_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH%Instance%_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH%Instance%_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH%Instance%_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH%Instance%_HC_MEM_POOL_SECTION_NAME ".driver.usbh%Instance%" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH%Instance%_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/Components/USB/Source/usbh_config.c b/Components/USB/Source/usbh_config.c index 880d5329..0d652961 100644 --- a/Components/USB/Source/usbh_config.c +++ b/Components/USB/Source/usbh_config.c @@ -57,7 +57,7 @@ extern void USBH_SignalPipeEvent (uint8_t ctrl, ARM_USBH_EP_HANDLE ep_hndl, uin static const uint8_t usbh0_power = (uint8_t)(USBH0_HC_POWER / 2); static const uint32_t usbh0_pipe_num = USBH0_HC_PIPE_NUM; static const uint32_t usbh0_mem_pool_size = USBH0_HC_MEM_POOL_SIZE; -static const uint8_t usbh0_mem_pool_reloc = USBH0_HC_MEM_POOL_RELOC; +static const uint8_t usbh0_mem_pool_locate = USBH0_HC_MEM_POOL_LOCATE; USBH_PIPE usbh0_pipe [USBH0_HC_PIPE_NUM]; static uint32_t usbh0_mem_pool [USBH0_HC_MEM_POOL_SIZE / 4] USBH0_HC_MEM_POOL_SECTION; static ARM_DRIVER_USBH *usbh0_hcd_ptr = &USBHn_DRIVER(USBH0_HC_NUM); @@ -99,7 +99,7 @@ static const osThreadAttr_t usbh0_core_thread_attr = { static const uint8_t usbh1_power = (uint8_t)(USBH1_HC_POWER / 2); static const uint32_t usbh1_pipe_num = USBH1_HC_PIPE_NUM; static const uint32_t usbh1_mem_pool_size = USBH1_HC_MEM_POOL_SIZE; -static const uint8_t usbh1_mem_pool_reloc = USBH1_HC_MEM_POOL_RELOC; +static const uint8_t usbh1_mem_pool_locate = USBH1_HC_MEM_POOL_LOCATE; USBH_PIPE usbh1_pipe [USBH1_HC_PIPE_NUM]; static uint32_t usbh1_mem_pool [USBH1_HC_MEM_POOL_SIZE / 4] USBH1_HC_MEM_POOL_SECTION; static ARM_DRIVER_USBH *usbh1_hcd_ptr = &USBHn_DRIVER(USBH1_HC_NUM); @@ -141,7 +141,7 @@ static const osThreadAttr_t usbh1_core_thread_attr = { static const uint8_t usbh2_power = (uint8_t)(USBH2_HC_POWER / 2); static const uint32_t usbh2_pipe_num = USBH2_HC_PIPE_NUM; static const uint32_t usbh2_mem_pool_size = USBH2_HC_MEM_POOL_SIZE; -static const uint8_t usbh2_mem_pool_reloc = USBH2_HC_MEM_POOL_RELOC; +static const uint8_t usbh2_mem_pool_locate = USBH2_HC_MEM_POOL_LOCATE; USBH_PIPE usbh2_pipe [USBH2_HC_PIPE_NUM]; static uint32_t usbh2_mem_pool [USBH2_HC_MEM_POOL_SIZE / 4] USBH2_HC_MEM_POOL_SECTION; static ARM_DRIVER_USBH *usbh2_hcd_ptr = &USBHn_DRIVER(USBH2_HC_NUM); @@ -183,7 +183,7 @@ static const osThreadAttr_t usbh2_core_thread_attr = { static const uint8_t usbh3_power = (uint8_t)(USBH3_HC_POWER / 2); static const uint32_t usbh3_pipe_num = USBH3_HC_PIPE_NUM; static const uint32_t usbh3_mem_pool_size = USBH3_HC_MEM_POOL_SIZE; -static const uint8_t usbh3_mem_pool_reloc = USBH3_HC_MEM_POOL_RELOC; +static const uint8_t usbh3_mem_pool_locate = USBH3_HC_MEM_POOL_LOCATE; USBH_PIPE usbh3_pipe [USBH3_HC_PIPE_NUM]; static uint32_t usbh3_mem_pool [USBH3_HC_MEM_POOL_SIZE / 4] USBH3_HC_MEM_POOL_SECTION; static ARM_DRIVER_USBH *usbh3_hcd_ptr = &USBHn_DRIVER(USBH3_HC_NUM); @@ -254,18 +254,18 @@ const uint8_t * const usbh_power_ptr [USBH_HC_NUM] = { #endif }; -const uint8_t * const usbh_mem_pool_reloc_ptr [USBH_HC_NUM] = { +const uint8_t * const usbh_mem_pool_locate_ptr [USBH_HC_NUM] = { #ifdef RTE_USB_Host_0 - &usbh0_mem_pool_reloc + &usbh0_mem_pool_locate #endif #ifdef RTE_USB_Host_1 - , &usbh1_mem_pool_reloc + , &usbh1_mem_pool_locate #endif #ifdef RTE_USB_Host_2 - , &usbh2_mem_pool_reloc + , &usbh2_mem_pool_locate #endif #ifdef RTE_USB_Host_3 - , &usbh3_mem_pool_reloc + , &usbh3_mem_pool_locate #endif }; diff --git a/Components/USB/Source/usbh_config.h b/Components/USB/Source/usbh_config.h index 7d824b2f..3bd425e5 100644 --- a/Components/USB/Source/usbh_config.h +++ b/Components/USB/Source/usbh_config.h @@ -119,7 +119,7 @@ extern USBH_PIPE usbh3_pipe[]; #endif extern const uint8_t * const usbh_power_ptr []; -extern const uint8_t * const usbh_mem_pool_reloc_ptr []; +extern const uint8_t * const usbh_mem_pool_locate_ptr[]; extern uint32_t * const usbh_mem_pool_ptr []; extern const uint32_t * const usbh_mem_pool_size_ptr []; extern USBH_PIPE * const usbh_pipe_ptr []; diff --git a/Components/USB/Source/usbh_lib_core.c b/Components/USB/Source/usbh_lib_core.c index f21ac139..0e5415bb 100644 --- a/Components/USB/Source/usbh_lib_core.c +++ b/Components/USB/Source/usbh_lib_core.c @@ -833,7 +833,7 @@ usbStatus USBH_PipeReceive (USBH_PIPE_HANDLE pipe_hndl, uint8_t *buf, uint32_t l remain_len = len; max_data_len = len; - if (*usbh_mem_pool_reloc_ptr[ctrl] != 0U) { // If memory relocation is enabled + if (*usbh_mem_pool_locate_ptr[ctrl] != 0U) { // If memory pool location is enabled if (remain_len == 0U) { // If ZLP is requested alloc_mem = false; } else { @@ -1106,7 +1106,7 @@ usbStatus USBH_PipeSend (USBH_PIPE_HANDLE pipe_hndl, const uint8_t *buf, uint32_ remain_len = len; max_data_len = len; - if (*usbh_mem_pool_reloc_ptr[ctrl] != 0U) { // If memory relocation is enabled + if (*usbh_mem_pool_locate_ptr[ctrl] != 0U) { // If memory pool location is enabled if (len == 0U) { // If ZLP is requested alloc_mem = false; } else { @@ -2552,7 +2552,7 @@ static usbStatus USBH_PipeSendSetup (USBH_PIPE_HANDLE pipe_hndl, const USB_SETUP ptr_pipe->locked = 1U; - if (*usbh_mem_pool_reloc_ptr[ctrl] != 0U) { // If memory relocation is enabled + if (*usbh_mem_pool_locate_ptr[ctrl] != 0U) { // If memory pool location is enabled alloc_mem = !USBH_MemoryIsInPool (ctrl, (const uint8_t *)setup_packet); if (alloc_mem) { // If memory for USB must be relocated, allocate 8 bytes for SETUP packet diff --git a/Components/USB/Source/usbh_section.h b/Components/USB/Source/usbh_section.h index a572b6f8..90ece03e 100644 --- a/Components/USB/Source/usbh_section.h +++ b/Components/USB/Source/usbh_section.h @@ -16,7 +16,7 @@ #define USBHn_HC_MEM_POOL_SECTION_(str) __attribute__((section(str))) #ifdef USBH0_HC_NUM -#if (USBH0_HC_MEM_POOL_RELOC == 1) +#if (USBH0_HC_MEM_POOL_LOCATE == 1) #define USBH0_HC_MEM_POOL_SECTION USBHn_HC_MEM_POOL_SECTION_(USBH0_HC_MEM_POOL_SECTION_NAME) #else #define USBH0_HC_MEM_POOL_SECTION @@ -24,7 +24,7 @@ #endif #ifdef USBH1_HC_NUM -#if (USBH1_HC_MEM_POOL_RELOC == 1) +#if (USBH1_HC_MEM_POOL_LOCATE == 1) #define USBH1_HC_MEM_POOL_SECTION USBHn_HC_MEM_POOL_SECTION_(USBH1_HC_MEM_POOL_SECTION_NAME) #else #define USBH1_HC_MEM_POOL_SECTION @@ -32,7 +32,7 @@ #endif #ifdef USBH2_HC_NUM -#if (USBH2_HC_MEM_POOL_RELOC == 1) +#if (USBH2_HC_MEM_POOL_LOCATE == 1) #define USBH2_HC_MEM_POOL_SECTION USBHn_HC_MEM_POOL_SECTION_(USBH2_HC_MEM_POOL_SECTION_NAME) #else #define USBH2_HC_MEM_POOL_SECTION @@ -40,7 +40,7 @@ #endif #ifdef USBH3_HC_NUM -#if (USBH3_HC_MEM_POOL_RELOC == 1) +#if (USBH3_HC_MEM_POOL_LOCATE == 1) #define USBH3_HC_MEM_POOL_SECTION USBHn_HC_MEM_POOL_SECTION_(USBH3_HC_MEM_POOL_SECTION_NAME) #else #define USBH3_HC_MEM_POOL_SECTION diff --git a/Documentation/Doxygen/USB/src/images/usbh_config_0_h.png b/Documentation/Doxygen/USB/src/images/usbh_config_0_h.png index 7354635d90ec36c991505a279bdb5601d258acaa..504fbc23650b7d308d05c1a4251c3e90f464e274 100644 GIT binary patch literal 18734 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≷~`$WbSyJkHD2rj${3x&c-`Zd|37 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

F2qf@RY=CrdXPQs!;z*kzIh`` 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.h contains the follo - Maximum Port Power Consumption specifies maximum current that a port can source (in mA). USB Devices exceeding this requirement will not be usable by the USB Host. - Maximum Pipes in system specifies the maximum number of active pipes (pipe is a communication channel to an USB Device endpoint). -- Memory Pool Size specifies the size of the memory pool used by the USB Host Component. - It has to be larger than maximum packet size on any endpoint for typically 128 bytes, making this a default size of 640 bytes to - cover 512 bytes bulk endpoint maximum packet size. -- Relocate Memory Pool specifies if the memory pool is relocated to a specific memory address (via the linker script). - This is usually necessary in case that USB Controller has some specific requirements regarding memory for transfers. - For example if USB Controller can only access specific memory, or if this memory needs to be non-cacheable. -- Memory Pool section name specifies the section name for the memory pool that is used by the linker script to position it in memory. - Default section name is .driver.usbh, for example for USB Controller 0 the default section name is .driver.usbh0. +- Memory Pool specifies the size of the USB memory pool and is also used for locating the USB memory pool in specific memory. + - Size specifies the size of the USB memory pool (in bytes) that the USB Host controller will use for the USB communication data. + This size should be at least equal to the size of the maximum expected packet + 128 bytes. + - Locate specifies if the USB memory pool is located in a specific memory (via the linker script). + This is usually necessary in case that USB Controller has some specific requirements regarding memory for USB transfers. + For example if USB Controller can only access specific memory, or if this memory needs to be non-cacheable. + - Section Name specifies the section name for the USB memory pool that is used by the linker script to position it in memory. + Default section name is .driver.usbh, for example for USB Controller 0 the default section name is .driver.usbh0. - Use the OS Resources Settings to optimize the usage of OS resources. - The default Core Thread Stack Size is \a 2048 bytes. - The default Core Thread priority is osPriorityAboveNormal. diff --git a/Documentation/Doxygen/USB/src/usb.txt b/Documentation/Doxygen/USB/src/usb.txt index ff65f899..0ae65616 100644 --- a/Documentation/Doxygen/USB/src/usb.txt +++ b/Documentation/Doxygen/USB/src/usb.txt @@ -923,7 +923,7 @@ The USBH_Config_n.h file contains additional settings for the spec - Power Consumption can be configured according to hardware capability of the USB Host Controller. - Maximum Pipes can be specified according to expected USB Device classes that are expected to be used by the USB Host. - Memory Pool parameters can be configured that are necessary for USB Host operation. - This memory pool can also be relocated to specific memory via the linker script. + This memory pool can also be located to specific memory via the linker script. Refer to \ref usbh_coreFunctions_conf for a detailed list of all available settings. diff --git a/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h b/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h index 35b2903a..0db02aea 100644 --- a/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h +++ b/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h @@ -20,31 +20,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH0_HC_NUM CMSIS_DRIVER_USBH -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH0_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH0_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. -#define USBH0_HC_MEM_POOL_SIZE 4224 - -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH0_HC_MEM_POOL_RELOC 0 - -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. +#define USBH0_HC_MEM_POOL_SIZE 640 + +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH0_HC_MEM_POOL_LOCATE 0 + +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH0_HC_MEM_POOL_SECTION_NAME ".driver.usbh0" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -53,5 +57,6 @@ // Core Thread Priority #define USBH0_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h.base@8.0.0 b/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h.base@8.0.0 index 6681bd1a..d6f3cdd0 100644 --- a/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h.base@8.0.0 +++ b/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h.base@8.0.0 @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH0_HC_NUM 0 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH0_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH0_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH0_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH0_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH0_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH0_HC_MEM_POOL_SECTION_NAME ".driver.usbh0" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH0_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h b/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h index 35b2903a..0db02aea 100644 --- a/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h +++ b/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h @@ -20,31 +20,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH0_HC_NUM CMSIS_DRIVER_USBH -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH0_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH0_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. -#define USBH0_HC_MEM_POOL_SIZE 4224 - -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH0_HC_MEM_POOL_RELOC 0 - -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. +#define USBH0_HC_MEM_POOL_SIZE 640 + +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH0_HC_MEM_POOL_LOCATE 0 + +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH0_HC_MEM_POOL_SECTION_NAME ".driver.usbh0" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -53,5 +57,6 @@ // Core Thread Priority #define USBH0_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // diff --git a/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h.base@8.0.0 b/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h.base@8.0.0 index 6681bd1a..d6f3cdd0 100644 --- a/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h.base@8.0.0 +++ b/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h.base@8.0.0 @@ -14,31 +14,35 @@ // Specifies instance of the Host Controller hardware interface. #define USBH0_HC_NUM 0 -// Maximum Port Power Consumption<2-500:2> -// Specifies the maximum power consumption per port (in mA) +// Maximum Port Power Delivery (in mA) <2-500:2> +// Specifies the maximum power delivery per port. #define USBH0_HC_POWER 500 -// Maximum Pipes in system +// Maximum Pipes in System // Specifies the maximum number of Pipes that will be used by // the USB Host controller in the system simultaneously. #define USBH0_HC_PIPE_NUM 3 -// Memory Pool Size <640-1048576:4> -// Specifies the size of the memory pool (in bytes) that -// the USB Host controller will use for the USB communication data. -// This size should be at least equal to -// size of maximum expected packet + 128 bytes. +// Memory Pool +// Size <640-1048576:4> +// Specifies the size of the USB memory pool (in bytes) that +// the USB Host controller will use for the USB communication data. +// This size should be at least equal to the size +// of the maximum expected packet + 128 bytes. #define USBH0_HC_MEM_POOL_SIZE 640 -// Relocate Memory Pool -// Specifies if the memory pool is located at a specific address -// (via linker script). -#define USBH0_HC_MEM_POOL_RELOC 0 +// Locate +// Specifies if the USB memory pool is located in a specific memory +// (via the linker script). +#define USBH0_HC_MEM_POOL_LOCATE 0 -// Memory Pool section name -// Specifies the section name of the Memory Pool +// Section Name +// Specifies the section name for the USB memory pool +// (for positioning via the linker script). #define USBH0_HC_MEM_POOL_SECTION_NAME ".driver.usbh0" -// + +// +// // OS Resources Settings // These settings are used to optimize usage of OS resources. @@ -47,5 +51,6 @@ // Core Thread Priority #define USBH0_CORE_THREAD_PRIORITY osPriorityAboveNormal + // // From c00fa091a361977bc0e6c5f18b2680c047e63ed4 Mon Sep 17 00:00:00 2001 From: MiloradCvjetkovic Date: Tue, 4 Jun 2024 10:40:15 +0200 Subject: [PATCH 2/2] USB: update USB Host config file - revert Memory Pool Size setting in examples --- Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h | 2 +- Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h b/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h index 0db02aea..ccff9576 100644 --- a/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h +++ b/Examples/USB/Host/Keyboard/RTE/USB/USBH_Config_0.h @@ -35,7 +35,7 @@ // the USB Host controller will use for the USB communication data. // This size should be at least equal to the size // of the maximum expected packet + 128 bytes. -#define USBH0_HC_MEM_POOL_SIZE 640 +#define USBH0_HC_MEM_POOL_SIZE 4224 // Locate // Specifies if the USB memory pool is located in a specific memory diff --git a/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h b/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h index 0db02aea..ccff9576 100644 --- a/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h +++ b/Examples/USB/Host/MassStorage/RTE/USB/USBH_Config_0.h @@ -35,7 +35,7 @@ // the USB Host controller will use for the USB communication data. // This size should be at least equal to the size // of the maximum expected packet + 128 bytes. -#define USBH0_HC_MEM_POOL_SIZE 640 +#define USBH0_HC_MEM_POOL_SIZE 4224 // Locate // Specifies if the USB memory pool is located in a specific memory