FreeRTOS port on GAP8/RISC-V
|
Functions | |
pi_task_t * | __pi_task_block (pi_task_t *callback_task) |
Prepare a blocking event task. More... | |
pi_task_t * | __pi_task_callback (pi_task_t *callback_task, pi_callback_func_t func, void *arg) |
void | __pi_task_destroy (pi_task_t *task) |
Delete an event task. More... | |
void | __pi_task_wait_on (pi_task_t *task) |
Wait on an event task. More... | |
void | __pi_task_push (pi_task_t *task) |
Push an event task. More... | |
pi_task_t * | pi_task_callback_no_mutex (pi_task_t *callback_task, pi_callback_func_t func, void *arg) |
pi_task_t * | pi_task_block_no_mutex (pi_task_t *callback_task) |
void | pi_task_release (pi_task_t *task) |
void | pi_cl_pi_task_wait (pi_task_t *task) |
void | pi_cl_pi_task_notify_done (pi_task_t *task) |
void | pi_task_wait_on_no_mutex (pi_task_t *task) |
void | pi_task_push_delayed_us (pi_task_t *task, uint32_t delay) |
This function initializes an instance of event task. A semaphore will be initialized.
task | Pointer to event task. |
References pi_task_t::core_id, pi_task_t::done, pi_task_t::id, pi_task_t::next, pi_sem_init(), pi_task_t::timeout, and pi_task_t::wait_on.
Referenced by pi_task_block().
References pi_task_t::arg, pi_task_t::core_id, pi_task_t::done, pi_task_t::id, pi_task_t::next, pi_task_t::timeout, and pi_task_t::wait_on.
void __pi_task_destroy | ( | pi_task_t * | task | ) |
This function removes an event task. It will delete the semaphore if it has been allocated.
task | Pointer to event task. |
References hal_compiler_barrier(), pi_sem_deinit(), and pi_task_t::wait_on.
Referenced by __pi_task_wait_on(), and pi_task_destroy().
void __pi_task_push | ( | pi_task_t * | task | ) |
This function is used to push an event task to the event kernel.
task | Pointer to event task. |
References disable_irq(), pmsis_event_get_default_scheduler(), pmsis_event_push(), and restore_irq().
Referenced by pi_task_push().
void __pi_task_wait_on | ( | pi_task_t * | task | ) |
This function allows to wait on an event task until the event occurs.
task | Pointer to event task. |
References __pi_task_destroy(), DEBUG_PRINTF, pi_task_t::done, hal_compiler_barrier(), pi_sem_take(), and pi_task_t::wait_on.
Referenced by pi_task_wait_on().
void pi_cl_pi_task_notify_done | ( | pi_task_t * | task | ) |
References pi_task_t::done, and FC_NOTIFY_CLUSTER_EVENT.
Referenced by pi_task_release().
void pi_cl_pi_task_wait | ( | pi_task_t * | task | ) |
References pi_task_t::done, FC_NOTIFY_CLUSTER_EVENT, and hal_eu_evt_mask_wait_and_clr().
References pi_task_t::core_id, pi_task_t::done, pi_task_t::id, pi_task_t::next, pi_task_t::timeout, and pi_task_t::wait_on.
Referenced by pi_cl_uart_write(), pi_cl_uart_write_byte(), pi_cpi_capture(), pi_i2c_read(), and pi_i2c_write().
pi_task_t* pi_task_callback_no_mutex | ( | pi_task_t * | callback_task, |
pi_callback_func_t | func, | ||
void * | arg | ||
) |
References pi_task_callback().
Referenced by __pi_cl_delegate_uart_write().
void pi_task_push_delayed_us | ( | pi_task_t * | task, |
uint32_t | delay | ||
) |
References disable_irq(), pi_task_delayed_fifo_enqueue(), and restore_irq().
void pi_task_release | ( | pi_task_t * | task | ) |
References pi_task_t::core_id, DEBUG_PRINTF, pi_task_t::done, hal_compiler_barrier(), pi_cl_pi_task_notify_done(), pi_sem_give(), and pi_task_t::wait_on.
Referenced by __pi_aes_event_handler_internal(), __pi_cpi_handle_end_of_task(), __pi_hyper_handle_end_of_task(), __pi_i2c_handle_error(), __pi_irq_handle_end_of_task(), __pi_pmu_handler(), __pi_uart_handle_end_of_task(), __pi_udma_timeout_event_handler(), __spim_handle_end_of_transfer(), pi_task_push(), and pmsis_event_release().
void pi_task_wait_on_no_mutex | ( | pi_task_t * | task | ) |
References pi_task_t::done, and hal_compiler_barrier().
Referenced by pi_cpi_capture(), pi_i2c_read(), and pi_i2c_write().