![]() |
RZT Flexible Software Package Documentation
Release v3.1.0
|
|
Interface for INTCPU interrupt.
The ICU_INTER_CPU_IRQ Interface is for configuring and firing INTCPU interrupts.
Data Structures | |
| struct | icu_inter_cpu_irq_callback_args_t |
| struct | icu_inter_cpu_irq_cfg_t |
| struct | icu_inter_cpu_irq_api_t |
| struct | icu_inter_cpu_irq_instance_t |
Typedefs | |
| typedef void | icu_inter_cpu_irq_ctrl_t |
| struct icu_inter_cpu_irq_callback_args_t |
Callback function parameter data
| Data Fields | ||
|---|---|---|
| void const * | p_context |
Placeholder for user data. Set in icu_inter_cpu_irq_api_t::open function in icu_inter_cpu_irq_cfg_t. |
| struct icu_inter_cpu_irq_cfg_t |
User configuration structure, used in open function
Data Fields | |
| uint8_t | channel |
| Hardware channel used. | |
| uint8_t | ipl |
| Interrupt priority. | |
| IRQn_Type | irq |
| Interrupt number assigned to this instance. | |
| void(* | p_callback )(icu_inter_cpu_irq_callback_args_t *p_args) |
| void const * | p_context |
| void const * | p_extend |
| INTCPU hardware dependent configuration. | |
| void(* icu_inter_cpu_irq_cfg_t::p_callback) (icu_inter_cpu_irq_callback_args_t *p_args) |
Callback provided INTCPU occurs.
| void const* icu_inter_cpu_irq_cfg_t::p_context |
Placeholder for user data. Passed to the user callback in icu_inter_cpu_irq_callback_args_t.
| struct icu_inter_cpu_irq_api_t |
ICU_INTER_CPU_IRQ driver structure. ICU_INTER_CPU_IRQ functions implemented at the HAL layer will follow this API.
Data Fields | |
| fsp_err_t(* | open )(icu_inter_cpu_irq_ctrl_t *const p_ctrl, icu_inter_cpu_irq_cfg_t const *const p_cfg) |
| fsp_err_t(* | generate )(icu_inter_cpu_irq_ctrl_t *const p_ctrl) |
| fsp_err_t(* | callbackSet )(icu_inter_cpu_irq_ctrl_t *const p_ctrl, void(*p_callback)(icu_inter_cpu_irq_callback_args_t *), void const *const p_context, icu_inter_cpu_irq_callback_args_t *const p_callback_memory) |
| fsp_err_t(* | close )(icu_inter_cpu_irq_ctrl_t *const p_ctrl) |
| fsp_err_t(* icu_inter_cpu_irq_api_t::open) (icu_inter_cpu_irq_ctrl_t *const p_ctrl, icu_inter_cpu_irq_cfg_t const *const p_cfg) |
Opens the core to core driver and initializes the hardware.
| [in] | p_ctrl | Pointer to control block. Must be declared by user. Elements are set here. |
| [in] | p_cfg | Pointer to configuration structure. |
| fsp_err_t(* icu_inter_cpu_irq_api_t::generate) (icu_inter_cpu_irq_ctrl_t *const p_ctrl) |
Generates INTCPU interrupt.
| [in] | p_ctrl | Control block set for this INTCPU interrupt. |
| fsp_err_t(* icu_inter_cpu_irq_api_t::callbackSet) (icu_inter_cpu_irq_ctrl_t *const p_ctrl, void(*p_callback)(icu_inter_cpu_irq_callback_args_t *), void const *const p_context, icu_inter_cpu_irq_callback_args_t *const p_callback_memory) |
Specify callback function and optional context pointer and working memory pointer.
| [in] | p_ctrl | Pointer to the ICU_INTER_CPU_IRQ control block. |
| [in] | p_callback | Callback function |
| [in] | p_context | Pointer to send to callback function |
| [in] | p_working_memory | Pointer to volatile memory where callback structure can be allocated. Callback arguments allocated here are only valid during the callback. |
| fsp_err_t(* icu_inter_cpu_irq_api_t::close) (icu_inter_cpu_irq_ctrl_t *const p_ctrl) |
Closes the driver and releases the device.
| [in] | p_ctrl | Pointer to control block set in icu_inter_cpu_irq_api_t::open call. |
| struct icu_inter_cpu_irq_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
| Data Fields | ||
|---|---|---|
| icu_inter_cpu_irq_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
| icu_inter_cpu_irq_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
| icu_inter_cpu_irq_api_t const * | p_api | Pointer to the API structure for this instance. |
| typedef void icu_inter_cpu_irq_ctrl_t |
ICU_INTER_CPU_IRQ control block. Allocate an instance specific control block to pass into the ICU_INTER_CPU_IRQ API calls.