diff options
| author | sakumisu <[email protected]> | 2026-02-11 19:49:08 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2026-02-11 19:58:09 +0800 |
| commit | 362fec943a386c8cf623108f5f9019904270156f (patch) | |
| tree | 9c9258a1f0c47adf38817f0a249e2da068b7917d /osal | |
| parent | 081c87206fccb374d1f1926fe47a44f75ff7d67a (diff) | |
refactor: move cherryrb and cherrymp into common dir, rename with usb_ringbuffer and usb_mempool
Signed-off-by: sakumisu <[email protected]>
Diffstat (limited to 'osal')
| -rw-r--r-- | osal/idf/usb_osal_idf.c | 5 | ||||
| -rw-r--r-- | osal/usb_osal_freertos.c | 11 | ||||
| -rw-r--r-- | osal/usb_osal_liteos_m.c | 5 | ||||
| -rw-r--r-- | osal/usb_osal_nuttx.c | 5 | ||||
| -rw-r--r-- | osal/usb_osal_rtthread.c | 5 | ||||
| -rw-r--r-- | osal/usb_osal_threadx.c | 5 | ||||
| -rw-r--r-- | osal/usb_osal_zephyr.c | 14 |
7 files changed, 50 insertions, 0 deletions
diff --git a/osal/idf/usb_osal_idf.c b/osal/idf/usb_osal_idf.c index b87db74f..69f734e8 100644 --- a/osal/idf/usb_osal_idf.c +++ b/osal/idf/usb_osal_idf.c @@ -43,6 +43,11 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return (usb_osal_sem_t)xSemaphoreCreateCounting(1, initial_count); } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + return (usb_osal_sem_t)xSemaphoreCreateCounting(0, max_count); +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { vSemaphoreDelete((SemaphoreHandle_t)sem); diff --git a/osal/usb_osal_freertos.c b/osal/usb_osal_freertos.c index 6bdd883b..b30433cb 100644 --- a/osal/usb_osal_freertos.c +++ b/osal/usb_osal_freertos.c @@ -53,6 +53,17 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return sem; } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + usb_osal_sem_t sem = (usb_osal_sem_t)xSemaphoreCreateCounting(max_count, 0); + if (sem == NULL) { + USB_LOG_ERR("Create semaphore failed\r\n"); + while (1) { + } + } + return sem; +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { vSemaphoreDelete((SemaphoreHandle_t)sem); diff --git a/osal/usb_osal_liteos_m.c b/osal/usb_osal_liteos_m.c index cda86665..6eaf76d9 100644 --- a/osal/usb_osal_liteos_m.c +++ b/osal/usb_osal_liteos_m.c @@ -81,6 +81,11 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return (usb_osal_sem_t)sem_handle; } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + return usb_osal_sem_create(0); +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { UINT32 sem_handle = (UINT32)sem; diff --git a/osal/usb_osal_nuttx.c b/osal/usb_osal_nuttx.c index 1a44fb48..36b53fa2 100644 --- a/osal/usb_osal_nuttx.c +++ b/osal/usb_osal_nuttx.c @@ -106,6 +106,11 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return (usb_osal_sem_t)sem; } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + return usb_osal_sem_create(0); +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { sem_t *__sem = (sem_t *)sem; diff --git a/osal/usb_osal_rtthread.c b/osal/usb_osal_rtthread.c index 8454283f..cf0e683e 100644 --- a/osal/usb_osal_rtthread.c +++ b/osal/usb_osal_rtthread.c @@ -62,6 +62,11 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return sem; } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + return usb_osal_sem_create(0); +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { rt_sem_delete((rt_sem_t)sem); diff --git a/osal/usb_osal_threadx.c b/osal/usb_osal_threadx.c index 8d6d7c6b..2a6d0057 100644 --- a/osal/usb_osal_threadx.c +++ b/osal/usb_osal_threadx.c @@ -74,6 +74,11 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return (usb_osal_sem_t)sem_ptr; } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + return usb_osal_sem_create(0); +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { tx_semaphore_delete((TX_SEMAPHORE *)sem); diff --git a/osal/usb_osal_zephyr.c b/osal/usb_osal_zephyr.c index ce214e6e..b65d7523 100644 --- a/osal/usb_osal_zephyr.c +++ b/osal/usb_osal_zephyr.c @@ -104,6 +104,20 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) return (usb_osal_sem_t)sem; } +usb_osal_sem_t usb_osal_sem_create_counting(uint32_t max_count) +{ + struct k_sem *sem; + + sem = k_malloc(sizeof(struct k_sem)); + if (sem == NULL) { + USB_LOG_ERR("Create semaphore faild\r\n"); + return NULL; + } + k_sem_init(sem, 0, max_count); + + return (usb_osal_sem_t)sem; +} + void usb_osal_sem_delete(usb_osal_sem_t sem) { while (k_sem_take((struct k_sem *)sem, K_NO_WAIT) != 0) { |
