/hal_espressif-latest/components/driver/gpio/include/driver/ |
D | gpio_etm.h | 17 * @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/ |
D | esp_etm.h | 17 * @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 …]
|
D | esp_async_memcpy.h | 111 * @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/ |
D | gpio_ext_reg.h | 386 * 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 …]
|
D | gpio_ext_struct.h | 95 /** 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/ |
D | gpio_ext_reg.h | 432 * 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 …]
|
D | gpio_ext_struct.h | 137 /** 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/ |
D | etm_ll.h | 22 * @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 …]
|
D | gpio_etm_ll.h | 38 * @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/ |
D | etm_ll.h | 21 * @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 …]
|
D | gpio_etm_ll.h | 38 * @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/ |
D | etm_interface.h | 20 * @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
|
D | gdma.h | 268 … 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/ |
D | etm_hal.h | 21 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
|
D | timer_types.h | 30 * @brief GPTimer specific tasks that supported by the ETM module 42 * @brief GPTimer specific events that supported by the ETM module
|
D | gdma_types.h | 43 * @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/ |
D | esp_etm.c | 31 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 …]
|
D | README.md | 17 …**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/ |
D | gdma_etm.c | 24 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/ |
D | gpio_etm.c | 29 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/ |
D | esp_systick_etm.h | 17 * @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/ |
D | esp_timer_etm.c | 15 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/ |
D | systick_etm.c | 18 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/ |
D | esp_async_memcpy_impl.h | 98 * @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/ |
D | esp_timer.h | 321 * @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
|