Home
last modified time | relevance | path

Searched full:etm (Results 1 – 25 of 69) sorted by relevance

123

/hal_espressif-latest/components/driver/gpio/include/driver/
Dgpio_etm.h17 * @brief GPIO edges that can be used as ETM event
20 GPIO_ETM_EVENT_EDGE_POS, /*!< A rising edge on the GPIO will generate an ETM event signal */
21 GPIO_ETM_EVENT_EDGE_NEG, /*!< A falling edge on the GPIO will generate an ETM event signal */
22 GPIO_ETM_EVENT_EDGE_ANY, /*!< Any edge on the GPIO can generate an ETM event signal */
26 * @brief GPIO ETM event configuration
29 gpio_etm_event_edge_t edge; /*!< Which kind of edge can trigger the ETM event module */
33 * @brief Create an ETM event object for the GPIO peripheral
35 * @note The created ETM event object can be deleted later by calling `esp_etm_del_event`
36 …* @note The newly created ETM event object is not bind to any GPIO, you need to call `gpio_etm_eve…
38 * @param[in] config GPIO ETM event configuration
[all …]
/hal_espressif-latest/components/esp_hw_support/include/
Desp_etm.h17 * @brief ETM channel handle
22 * @brief ETM event handle
27 * @brief ETM task handle
32 * @brief ETM channel configuration
39 * @brief Allocate an ETM channel
43 * @param[in] config ETM channel configuration
44 * @param[out] ret_chan Returned ETM channel handle
46 * - ESP_OK: Allocate ETM channel successfully
47 * - ESP_ERR_INVALID_ARG: Allocate ETM channel failed because of invalid argument
48 * - ESP_ERR_NO_MEM: Allocate ETM channel failed because of out of memory
[all …]
Desp_async_memcpy.h111 * @brief Async memory copy specific events that supported by the ETM module
118 * @brief Get the ETM event handle for async memcpy done signal
120 * @note The created ETM event object can be deleted later by calling `esp_etm_del_event`
123 * @param[in] event_type ETM event type
124 * @param[out] out_event Returned ETM event handle
127 * - ESP_OK: Get ETM event successfully
128 * - ESP_ERR_INVALID_ARG: Get ETM event failed because of invalid argument
129 …* - ESP_ERR_NOT_SUPPORTED: Get ETM event failed because the DMA hardware doesn't support ETM
130 * - ESP_FAIL: Get ETM event failed because of other error
/hal_espressif-latest/components/soc/esp32c6/include/soc/
Dgpio_ext_reg.h386 * Etm Config register of Channel0
390 * Etm event channel select gpio.
397 * Etm event send enable bit.
405 * Etm Config register of Channel1
409 * Etm event channel select gpio.
416 * Etm event send enable bit.
424 * Etm Config register of Channel2
428 * Etm event channel select gpio.
435 * Etm event send enable bit.
443 * Etm Config register of Channel3
[all …]
Dgpio_ext_struct.h95 /** Group: Etm Configure Registers */
97 * Etm Config register of Channeln
102 * Etm event channel select gpio.
107 * Etm event send enable bit.
116 * Etm Configure Register to decide which GPIO been chosen
121 * Enable bit of GPIO response etm task.
125 * GPIO choose a etm task channel.
130 * Enable bit of GPIO response etm task.
134 * GPIO choose a etm task channel.
139 * Enable bit of GPIO response etm task.
[all …]
/hal_espressif-latest/components/soc/esp32h2/include/soc/
Dgpio_ext_reg.h432 * Etm Config register of Channel0
436 * Etm event channel select gpio.
443 * Etm event send enable bit.
451 * Etm Config register of Channel1
455 * Etm event channel select gpio.
462 * Etm event send enable bit.
470 * Etm Config register of Channel2
474 * Etm event channel select gpio.
481 * Etm event send enable bit.
489 * Etm Config register of Channel3
[all …]
Dgpio_ext_struct.h137 /** Group: Etm Configure Registers */
139 * Etm Config register of Channeln
144 * Etm event channel select gpio.
149 * Etm event send enable bit.
158 * Etm Configure Register to decide which GPIO been chosen
163 * Enable bit of GPIO response etm task.
167 * GPIO choose a etm task channel.
172 * Enable bit of GPIO response etm task.
176 * GPIO choose a etm task channel.
181 * Enable bit of GPIO response etm task.
[all …]
/hal_espressif-latest/components/hal/esp32c6/include/hal/
Detm_ll.h22 * @brief Enable the clock for ETM module
24 * @param hw ETM register base address
33 * @brief Enable ETM channel
35 * @param hw ETM register base address
48 * @brief Disable ETM channel
50 * @param hw ETM register base address
63 * @brief Check whether the ETM channel is enabled or not
65 * @param hw ETM register base address
79 * @brief Set the input event for the ETM channel
81 * @param hw ETM register base address
[all …]
Dgpio_etm_ll.h38 * @param chan GPIO ETM Event channel number
50 * @param chan GPIO ETM Event channel number
62 * @param chan GPIO ETM Event channel number
76 * @param chan GPIO ETM Task channel number
125 * @return GPIO ETM Task channel number
/hal_espressif-latest/components/hal/esp32h2/include/hal/
Detm_ll.h21 * @brief Enable the clock for ETM module
23 * @param hw ETM register base address
32 * @brief Enable ETM channel
34 * @param hw ETM register base address
47 * @brief Disable ETM channel
49 * @param hw ETM register base address
62 * @brief Check whether the ETM channel is enabled or not
64 * @param hw ETM register base address
78 * @brief Set the input event for the ETM channel
80 * @param hw ETM register base address
[all …]
Dgpio_etm_ll.h38 * @param chan GPIO ETM Event channel number
50 * @param chan GPIO ETM Event channel number
62 * @param chan GPIO ETM Event channel number
76 * @param chan GPIO ETM Task channel number
125 * @return GPIO ETM Task channel number
/hal_espressif-latest/components/esp_hw_support/include/esp_private/
Detm_interface.h20 * @brief List the peripherals that can trigger ETM task/event
23 ETM_TRIG_PERIPH_GPIO, /*!< ETM trigger source: GPIO */
24 ETM_TRIG_PERIPH_GDMA, /*!< ETM trigger source: GDMA */
25 ETM_TRIG_PERIPH_GPTIMER, /*!< ETM trigger source: GPTimer */
26 ETM_TRIG_PERIPH_SYSTIMER, /*!< ETM trigger source: Systimer */
30 * @brief ETM event interface definition
39 * @brief ETM trigger peripheral
50 * @brief ETM task interface definition
59 * @brief ETM trigger peripheral
Dgdma.h268 … engine failed because of invalid state, e.g. the channel is controlled by ETM, so can't start it …
283 … engine failed because of invalid state, e.g. the channel is controlled by ETM, so can't stop it m…
319 * @brief GDMA ETM event configuration
322 gdma_etm_event_type_t event_type; /*!< GDMA ETM event type */
326 * @brief Get the ETM event for GDMA channel
328 * @note The created ETM event object can be deleted later by calling `esp_etm_del_event`
331 * @param[in] config GDMA ETM event configuration
332 * @param[out] out_event Returned ETM event handle
334 * - ESP_OK: Get ETM event successfully
335 * - ESP_ERR_INVALID_ARG: Get ETM event failed because of invalid argument
[all …]
/hal_espressif-latest/components/hal/include/hal/
Detm_hal.h21 typedef struct soc_etm_dev_t *etm_soc_handle_t; // ETM SOC layer handle
24 * @brief HAL context type of ETM driver
27 etm_soc_handle_t regs; /*!< ETM Register base address */
31 * @brief Initialize the ETM HAL driver
33 * @param hal: ETM HAL context
38 * @brief Deinitialize the ETM HAL driver
40 * @param hal: ETM HAL context
Dtimer_types.h30 * @brief GPTimer specific tasks that supported by the ETM module
42 * @brief GPTimer specific events that supported by the ETM module
Dgdma_types.h43 * @brief GDMA channel events that supported by the ETM module
51 * @brief GDMA channel tasks that supported by the ETM module
/hal_espressif-latest/components/esp_hw_support/
Desp_etm.c31 static const char *TAG = "etm";
39 etm_group_t *groups[SOC_ETM_GROUPS]; // etm group pool
58 etm_chan_fsm_t fsm; // record ETM channel's driver state
63 // ETM driver platform, it's always a singleton
71 // prevent install ETM group concurrently in etm_acquire_group_handle()
78 // initialize ETM group members in etm_acquire_group_handle()
81 // enable APB access ETM registers in etm_acquire_group_handle()
82 … // if we have multiple ETM groups/instances, we assume the peripheral defines are continuous in etm_acquire_group_handle()
193 ESP_LOGD(TAG, "new etm channel (%d,%d) at %p", group_id, chan_id, chan); in esp_etm_new_channel()
216 ESP_LOGD(TAG, "del etm channel (%d,%d)", group_id, chan_id); in esp_etm_del_channel()
[all …]
DREADME.md17 …**core** driver, which focuses on ETM channel allocation and offers APIs to connect the channel wi…
18 …nsions, e.g. GPTimer support generating different kinds of ETM events, and accept multiple ETM tas…
/hal_espressif-latest/components/esp_hw_support/dma/
Dgdma_etm.c24 static const char *TAG = "gdma-etm";
60 ESP_GOTO_ON_FALSE(event, ESP_ERR_NO_MEM, err, TAG, "no memory for ETM event"); in gdma_new_etm_event()
73 // fill the ETM event object in gdma_new_etm_event()
94 ESP_GOTO_ON_FALSE(task, ESP_ERR_NO_MEM, err, TAG, "no memory for ETM task"); in gdma_new_etm_task()
109 // set a flag, now the GDMA channel is start/stop by ETM subsystem in gdma_new_etm_task()
111 // fill the ETM task object in gdma_new_etm_task()
/hal_espressif-latest/components/driver/gpio/
Dgpio_etm.c29 static const char *TAG = "gpio-etm";
51 size_t num_of_gpios; // record the number of GPIOs that are bound to the etm task
150 // make sure user has called `gpio_etm_task_rm_gpio` to clean the etm task channel in gpio_del_etm_task()
151 …pio_task->num_of_gpios == 0, ESP_ERR_INVALID_STATE, TAG, "some GPIO till bounded to the etm task"); in gpio_del_etm_task()
247 …ALSE(event->trig_periph == ETM_TRIG_PERIPH_GPIO, ESP_ERR_INVALID_ARG, TAG, "not a gpio etm event"); in gpio_etm_event_bind_gpio()
251 // disable gpio etm event channel first in gpio_etm_event_bind_gpio()
255 // enable gpio etm event channel again in gpio_etm_event_bind_gpio()
263 …_FALSE(task->trig_periph == ETM_TRIG_PERIPH_GPIO, ESP_ERR_INVALID_ARG, TAG, "not a gpio etm task"); in gpio_etm_task_add_gpio()
294 // check if the gpio is managed by this etm task channel in gpio_etm_task_rm_gpio()
/hal_espressif-latest/components/esp_system/include/
Desp_systick_etm.h17 * @brief Get the ETM event handle of systick hardware's alarm/heartbeat event
19 * @note The created ETM event object can be deleted later by calling `esp_etm_del_event`
22 * @param[out] out_event Returned ETM event handle
/hal_espressif-latest/components/esp_timer/src/
Desp_timer_etm.c15 static const char *TAG = "esptimer-etm";
29 ESP_GOTO_ON_FALSE(event, ESP_ERR_NO_MEM, err, TAG, "no memory for ETM event"); in esp_timer_new_etm_alarm_event()
31 // fill the ETM event object in esp_timer_new_etm_alarm_event()
/hal_espressif-latest/components/esp_system/
Dsystick_etm.c18 static const char *TAG = "systick-etm";
32 ESP_GOTO_ON_FALSE(event, ESP_ERR_NO_MEM, err, TAG, "no memory for ETM event"); in esp_systick_new_etm_alarm_event()
34 // fill the ETM event object in esp_systick_new_etm_alarm_event()
/hal_espressif-latest/components/esp_hw_support/port/include/
Desp_async_memcpy_impl.h98 * @brief Get ETM Event handle
101 * @param event_type ETM event type
102 * @param out_event Returned ETM event handle
/hal_espressif-latest/components/esp_timer/include/
Desp_timer.h321 * @brief Get the ETM event handle of esp_timer underlying alarm event
323 * @note The created ETM event object can be deleted later by calling `esp_etm_del_event`
325 * @note The ETM event is generated by the underlying hardware -- systimer,
326 …* therefore, if the esp_timer is not clocked by systimer, then no ETM event will be generate…
328 * @param[out] out_event Returned ETM event handle

123