Select one of the symbols to view example projects that use it.
 
Outline
#include <stdint.h>
#include <sdkconfig.h>
#include "soc/soc_caps.h"
#include "soc/dport_access.h"
#include "esp_attr.h"
esp_dport_access_reg_read(uint32_t)
esp_dport_access_sequence_reg_read(uint32_t)
Files
loading...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/soc/esp32/dport_access.c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2010-2021 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #include <stdint.h> #include <sdkconfig.h> #include "soc/soc_caps.h" #include "soc/dport_access.h" #include "esp_attr.h"5 includes IRAM_ATTR uint32_t esp_dport_access_reg_read(uint32_t reg) { #if defined(BOOTLOADER_BUILD) || defined(CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE) || !SOC_DPORT_WORKAROUND return _DPORT_REG_READ(reg); #else uint32_t apb; unsigned int intLvl; __asm__ __volatile__ (\ "rsil %[LVL], "XTSTR(SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL)"\n"\ "movi %[APB], "XTSTR(0x3ff40078)"\n"\ "l32i %[APB], %[APB], 0\n"\ "l32i %[REG], %[REG], 0\n"\ "wsr %[LVL], "XTSTR(PS)"\n"\ "rsync\n"\ : [APB]"=a"(apb), [REG]"+a"(reg), [LVL]"=a"(intLvl)\ : \ : "memory" \ ); return reg;/* ... */ #endif }{ ... } IRAM_ATTR uint32_t esp_dport_access_sequence_reg_read(uint32_t reg) { #if defined(BOOTLOADER_BUILD) || defined(CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE) || !SOC_DPORT_WORKAROUND return _DPORT_REG_READ(reg); #else uint32_t apb; __asm__ __volatile__ (\ "movi %[APB], "XTSTR(0x3ff40078)"\n"\ "l32i %[APB], %[APB], 0\n"\ "l32i %[REG], %[REG], 0\n"\ : [APB]"=a"(apb), [REG]"+a"(reg)\ : \ : "memory" \ ); return reg;/* ... */ #endif }{ ... }
Details
Show:
from
Types: Columns: