diff options
| author | sakumisu <[email protected]> | 2022-09-18 18:12:05 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2022-09-18 18:12:05 +0800 |
| commit | 7837e34f7588d92ea9f8b5d15f1a2fd1a7ff02b5 (patch) | |
| tree | c9e287c6021e438435bfac174964a2f7c51e8e99 | |
| parent | 554a85ac6c418e9ff0690f5100a75c1043d60f97 (diff) | |
delete event and thread suppend/resume port
| -rw-r--r-- | osal/usb_osal.h | 9 | ||||
| -rw-r--r-- | osal/usb_osal_freertos.c | 38 | ||||
| -rw-r--r-- | osal/usb_osal_rtthread.c | 50 | ||||
| -rw-r--r-- | osal/usb_osal_rtx.c | 42 |
4 files changed, 0 insertions, 139 deletions
diff --git a/osal/usb_osal.h b/osal/usb_osal.h index d127950a..45adf313 100644 --- a/osal/usb_osal.h +++ b/osal/usb_osal.h @@ -12,13 +12,9 @@ typedef void *usb_osal_thread_t; typedef void *usb_osal_sem_t; typedef void *usb_osal_mutex_t; -typedef void *usb_osal_event_t; typedef void (*usb_thread_entry_t)(void *argument); usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, uint32_t prio, usb_thread_entry_t entry, void *args); -void usb_osal_thread_delete(usb_osal_thread_t thread); -void usb_osal_thread_suspend(usb_osal_thread_t thread); -void usb_osal_thread_resume(usb_osal_thread_t thread); usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count); void usb_osal_sem_delete(usb_osal_sem_t sem); @@ -30,11 +26,6 @@ void usb_osal_mutex_delete(usb_osal_mutex_t mutex); int usb_osal_mutex_take(usb_osal_mutex_t mutex); int usb_osal_mutex_give(usb_osal_mutex_t mutex); -usb_osal_event_t usb_osal_event_create(void); -void usb_osal_event_delete(usb_osal_event_t event); -int usb_osal_event_recv(usb_osal_event_t event, uint32_t set, uint32_t *recved); -int usb_osal_event_send(usb_osal_event_t event, uint32_t set); - size_t usb_osal_enter_critical_section(void); void usb_osal_leave_critical_section(size_t flag); diff --git a/osal/usb_osal_freertos.c b/osal/usb_osal_freertos.c index 66f66630..009a61b3 100644 --- a/osal/usb_osal_freertos.c +++ b/osal/usb_osal_freertos.c @@ -18,16 +18,6 @@ usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, return (usb_osal_thread_t)htask; } -void usb_osal_thread_suspend(usb_osal_thread_t thread) -{ - vTaskSuspend(thread); -} - -void usb_osal_thread_resume(usb_osal_thread_t thread) -{ - vTaskResume(thread); -} - usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) { return (usb_osal_sem_t)xSemaphoreCreateCounting(1, initial_count); @@ -76,34 +66,6 @@ int usb_osal_mutex_give(usb_osal_mutex_t mutex) return (xSemaphoreGive((SemaphoreHandle_t)mutex) == pdPASS) ? 0 : -EINVAL; } -usb_osal_event_t usb_osal_event_create(void) -{ - return (usb_osal_event_t)xEventGroupCreate(); -} - -void usb_osal_event_delete(usb_osal_event_t event) -{ - vEventGroupDelete((EventGroupHandle_t)event); -} - -int usb_osal_event_recv(usb_osal_event_t event, uint32_t set, uint32_t *recved) -{ - *recved = xEventGroupWaitBits((EventGroupHandle_t)event, set, pdTRUE, pdFALSE, portMAX_DELAY); - return 0; -} - -int usb_osal_event_send(usb_osal_event_t event, uint32_t set) -{ - BaseType_t xHigherPriorityTaskWoken = pdFALSE; - int ret; - - ret = xEventGroupSetBitsFromISR((EventGroupHandle_t)event, set, &xHigherPriorityTaskWoken); - if (ret == pdPASS) { - portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - } - return (ret == pdPASS) ? 0 : -EINVAL; -} - size_t usb_osal_enter_critical_section(void) { taskDISABLE_INTERRUPTS(); diff --git a/osal/usb_osal_rtthread.c b/osal/usb_osal_rtthread.c index 264cece7..e9e7b2aa 100644 --- a/osal/usb_osal_rtthread.c +++ b/osal/usb_osal_rtthread.c @@ -16,16 +16,6 @@ usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, return (usb_osal_thread_t)htask; } -void usb_osal_thread_suspend(usb_osal_thread_t thread) -{ - rt_thread_suspend(thread); -} - -void usb_osal_thread_resume(usb_osal_thread_t thread) -{ - rt_thread_resume(thread); -} - usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) { return (usb_osal_sem_t)rt_sem_create("usbh_sem", initial_count, RT_IPC_FLAG_FIFO); @@ -78,46 +68,6 @@ int usb_osal_mutex_give(usb_osal_mutex_t mutex) return (int)rt_mutex_release((rt_mutex_t)mutex); } -usb_osal_event_t usb_osal_event_create(void) -{ - return (usb_osal_event_t)rt_event_create("psc_event", RT_IPC_FLAG_FIFO); -} - -void usb_osal_event_delete(usb_osal_event_t event) -{ - rt_event_delete((rt_event_t)event); -} - -int usb_osal_event_recv(usb_osal_event_t event, uint32_t set, uint32_t *recved) -{ - int ret = 0; - rt_err_t result = RT_EOK; - - result = rt_event_recv((rt_event_t)event, set, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER, (rt_uint32_t *)recved); - if (result == RT_ETIMEOUT) { - ret = -ETIMEDOUT; - } else if (result == RT_ERROR) { - ret = -EINVAL; - } else { - ret = 0; - } - - return ret; -} - -int usb_osal_event_send(usb_osal_event_t event, uint32_t set) -{ - int ret = 0; - rt_err_t result = RT_EOK; - - result = rt_event_send((rt_event_t)event, set); - if (result != RT_EOK) { - ret = -EINVAL; - } - - return ret; -} - size_t usb_osal_enter_critical_section(void) { return rt_hw_interrupt_disable(); diff --git a/osal/usb_osal_rtx.c b/osal/usb_osal_rtx.c index a3955631..ef24a735 100644 --- a/osal/usb_osal_rtx.c +++ b/osal/usb_osal_rtx.c @@ -24,16 +24,6 @@ usb_osal_thread_t usb_osal_thread_create(const char *name, uint32_t stack_size, args); } -void usb_osal_thread_suspend(usb_osal_thread_t thread) -{ - os_suspend(); -} - -void usb_osal_thread_resume(usb_osal_thread_t thread) -{ - os_resume(0); -} - usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count) { void *sem = _alloc_box(sem_mpool); @@ -90,38 +80,6 @@ int usb_osal_mutex_give(usb_osal_mutex_t mutex) return (os_mut_release(mutex) == OS_R_OK) ? 0 : -EINVAL; } -usb_osal_event_t usb_osal_event_create(void) -{ - return (usb_osal_event_t)os_tsk_self(); -} - -void usb_osal_event_delete(usb_osal_event_t event) -{ - return; -} - -int usb_osal_event_recv(usb_osal_event_t event, uint32_t set, uint32_t *recved) -{ - os_evt_wait_or(set, 0xffff); - *recved = os_evt_get(); - return 0; -} - -//���̣߳��жϾ����� -int usb_osal_event_send(usb_osal_event_t event, uint32_t set) -{ - uint32_t intstatus = 0; - /* Obtain the number of the currently executing interrupt. */ - __asm volatile ( "mrs intstatus, cpsr" ); - if ((intstatus & 0xf) == 0) { //user mode - os_evt_set(set, (OS_TID)event); - } else { - isr_evt_set(set, (OS_TID)event); - } - - return 0; -} - //����������ֻ���̵߳��ã����Ը�Ϊtsk_lock��tsk_unlock�汾 size_t usb_osal_enter_critical_section(void) { |
