功能 | FreeRTOS | uc/OS-II/III | RT-Thread | |
---|---|---|---|---|
总 | 分 | |||
任务管理 | 创建/初始化 | xTaskCreate() xTaskCreateStatic() vTaskPrioritySet()//优先级 | OSTaskCreate() OSTaskCreateExt() | rt_thread_create/init() |
启动 | vTaskStartScheduler() | OSStart()//启动调度 | rt_thread_startup() | |
运行 | rt_thread_delay/control() | |||
让出处理器 | vTaskDelay() vTaskDelayUntil() | OSTaskChangePrio()//优先级 | rt_thread_yield() rt_schedule() | |
睡眠 | OSTimeDlyHMSM() OSTimeDly() | rt_thread_sleep/delay/mdelay() | ||
挂起和恢复 | vTaskSuspend() vTaskResume() xTaskResumeFromISR() | OSTaskSuspend() OSTaskResume() | rt_thread_suspend() rt_thread_resume() | |
删除/脱离 | vTaskDelete() | OSTaskDel() | rt_thread_delete/detach() | |
时钟管理 | 创建/初始化 | xTimerCreate() | rt_timer_create/init() | |
启动 | xTimerStart() | rt_timer_start() | ||
停止/控制 | xTimerStop() xTimerChangePeriod() xTimerReset() | rt_timer_stop/control() | ||
删除/脱离 | rt_timer_delete/detach() | |||
任务同步 | 信号量 | xSemaphoreCreateBinary() The xSemaphoreTake() xSemaphoreGive/FromISR() xSemaphoreCreateCounting() | OSSemCreate() OSSemPend() OSSemPost() OSSemAccept()//无等待请求 OSSemQuery() | rt_sem_create/init() rt_sem_release() rt_sem_take/ trytake() rt_sem_delete/ detach () |
互斥量 | xSemaphoreCreateMutex() xSemaphoreCreateMutexStatic() | rt_mutex_create/init() rt_mutex_take() rt_mutex_release() rt_mutex_delete/detach() | ||
事件集 | xEventGroupCreate() xEventGroupSetBits() xEventGroupSetBitsFromISR() xEventGroupWaitBits() xEventGroupSync() | rt_event_create/init() rt_event_send() rt_event_recv() rt_event_delete/detach() | ||
任务通信 | 邮箱 | OSMboxCreate() OSMboxPend() OSMboxPost() OSMboxAccept() OSMboxQuery() | rt_mb_create/init() rt_mb_send/urgent() rt_mb_recv() rt_mb_delete/detach() | |
消息队列 | xQueueCreate() xQueueSendToBack() xQueueSendToFront() xQueueReceive() xQueueOverwrite() uxQueueMessagesWaiting() xQueueCreateSet()//队列集 xQueueAddToSet() xQueueSelectFromSet() | *OSQCreate () OSQPend() OSQPost() OSQPostFront() OSQAccept() OSQQuery() | rt_mq_create/init() rt_mq_send/send_wait() rt_mq_recv() rt_mq_delete/detach() | |
信号/通知 | xTaskNotify() xTaskNotifyAndQuery() xTaskNotifyGive() | rt_signal_install() rt_signal_mask/unmask() rt_signal_kill() rt_signal_wait() | ||
内存管理 | 内存堆 | pvPortMalloc () vPortFree() | rt_system_heap_init() rt_memheap_init() rt_malloc/realloc/calloc() rt_free()/rt_free_sethook() | |
内存池 | xPortGetFreeHeapSize() xPortGetMinimumEverFreeHeapSize() | rt_mp_create/init() rt_mp_alloc() rt_mp_free() rt_mp_delete/detach() | ||
中断管理 | OSIntEnter() OSIntExit() | rt_hw_interrupt_install() rt_hw_interrupt_mask() rt_hw_interrupt_umask() rt_hw_interrupt_disable() rt_hw_interrupt_enable() rt_interrupt_enter() rt_interrupt_leave() rt_interrupt_get_nest() | ||
资源管理 | taskENTER_CRITICAL() taskEXIT_CRITICAL() | OS_ENTER_CRITICAL() OS_EXIT_CRITICAL() |
08-01