Регистры INTERRUPT ESP32-S3
Регистры матрицы прерываний ESP32-S3 для ядра 0: на какое из 32 прерываний ядра попадает каждый из 99 источников периферии, как источник отключить и где прочитать его текущее состояние. Набор регистров ядра 1 такой же и лежит на 0x800 дальше.
Содержание
- Пример на C
- Регистры блока
- INTERRUPT_CORE0_MAC_INTR_MAP_REG
- INTERRUPT_CORE0_MAC_NMI_MAP_REG
- INTERRUPT_CORE0_PWR_INTR_MAP_REG
- INTERRUPT_CORE0_BB_INT_MAP_REG
- INTERRUPT_CORE0_BT_MAC_INT_MAP_REG
- INTERRUPT_CORE0_BT_BB_INT_MAP_REG
- INTERRUPT_CORE0_BT_BB_NMI_MAP_REG
- INTERRUPT_CORE0_RWBT_IRQ_MAP_REG
- INTERRUPT_CORE0_RWBLE_IRQ_MAP_REG
- INTERRUPT_CORE0_RWBT_NMI_MAP_REG
- INTERRUPT_CORE0_RWBLE_NMI_MAP_REG
- INTERRUPT_CORE0_I2C_MST_INT_MAP_REG
- INTERRUPT_CORE0_UHCI0_INTR_MAP_REG
- INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_MAP_REG
- INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG
- INTERRUPT_CORE0_SPI_INTR_n_MAP_REG
- INTERRUPT_CORE0_LCD_CAM_INT_MAP_REG
- INTERRUPT_CORE0_I2Sn_INT_MAP_REG
- INTERRUPT_CORE0_UART_INTR_MAP_REG
- INTERRUPT_CORE0_UARTn_INTR_MAP_REG
- INTERRUPT_CORE0_SDIO_HOST_INTERRUPT_MAP_REG
- INTERRUPT_CORE0_PWMn_INTR_MAP_REG
- INTERRUPT_CORE0_LEDC_INT_MAP_REG
- INTERRUPT_CORE0_EFUSE_INT_MAP_REG
- INTERRUPT_CORE0_CAN_INT_MAP_REG
- INTERRUPT_CORE0_USB_INTR_MAP_REG
- INTERRUPT_CORE0_RTC_CORE_INTR_MAP_REG
- INTERRUPT_CORE0_RMT_INTR_MAP_REG
- INTERRUPT_CORE0_PCNT_INTR_MAP_REG
- INTERRUPT_CORE0_I2C_EXTn_INTR_MAP_REG
- INTERRUPT_CORE0_TG_Tn_INT_MAP_REG
- INTERRUPT_CORE0_TG_WDT_INT_MAP_REG
- INTERRUPT_CORE0_TG1_Tn_INT_MAP_REG
- INTERRUPT_CORE0_TG1_WDT_INT_MAP_REG
- INTERRUPT_CORE0_CACHE_IA_INT_MAP_REG
- INTERRUPT_CORE0_SYSTIMER_TARGETn_INT_MAP_REG
- INTERRUPT_CORE0_SPI_MEM_REJECT_INTR_MAP_REG
- INTERRUPT_CORE0_DCACHE_PRELOAD_INT_MAP_REG
- INTERRUPT_CORE0_ICACHE_PRELOAD_INT_MAP_REG
- INTERRUPT_CORE0_DCACHE_SYNC_INT_MAP_REG
- INTERRUPT_CORE0_ICACHE_SYNC_INT_MAP_REG
- INTERRUPT_CORE0_APB_ADC_INT_MAP_REG
- INTERRUPT_CORE0_DMA_IN_CHn_INT_MAP_REG
- INTERRUPT_CORE0_DMA_OUT_CHn_INT_MAP_REG
- INTERRUPT_CORE0_RSA_INT_MAP_REG
- INTERRUPT_CORE0_AES_INT_MAP_REG
- INTERRUPT_CORE0_SHA_INT_MAP_REG
- INTERRUPT_CORE0_CPU_INTR_FROM_CPU_n_MAP_REG
- INTERRUPT_CORE0_DMA_APBPERI_PMS_MONITOR_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_CORE_0_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_CORE_0_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_CORE_n_PIF_PMS_MONITOR_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_CORE_n_PIF_PMS_MONITOR_VIOLATE_SIZE_INTR_MAP_REG
- INTERRUPT_CORE0_CORE_1_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_CORE_1_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_BACKUP_PMS_VIOLATE_INTR_MAP_REG
- INTERRUPT_CORE0_CACHE_COREn_ACS_INT_MAP_REG
- INTERRUPT_CORE0_USB_DEVICE_INT_MAP_REG
- INTERRUPT_CORE0_PERI_BACKUP_INT_MAP_REG
- INTERRUPT_CORE0_DMA_EXTMEM_REJECT_INT_MAP_REG
- INTERRUPT_CORE0_INTR_STATUS_n_REG
- INTERRUPT_CORE0_CLOCK_GATE_REG
- INTERRUPT_CORE0_INTERRUPT_DATE_REG
У каждого ядра Xtensa ESP32-S3 32 прерывания: 26 периферийных и 6 внутренних — таймеры 6, 15 и 16, программные 7 и 29, профилирование 11. Тип и приоритет каждого номера заданы аппаратно (таблица 9.3-2 TRM): например, 17 и 18 — по уровню с приоритетом 1, 10 и 22 — по фронту, 14 — немаскируемое. Матрица по адресу 0x600C 2000 соединяет 99 источников с этими входами; регистры ядра 1 (INTERRUPT_CORE1_*) начинаются со смещения 0x800.
Регистр INTERRUPT_CORE0_<источник>_MAP_REG хранит 5-битный номер прерывания ядра 0, на которое идёт источник. Номер любого периферийного прерывания (0…5, 8…10, 12…14, 17…28, 30, 31) подключает источник; несколько источников могут делить одно прерывание. Запись номера внутреннего прерывания (6, 7, 11, 15, 16 или 29) отключает источник: к ним источники не подключены.
Текущее состояние источников показывают INTERRUPT_CORE0_INTR_STATUS_0…3_REG — по биту на источник в порядке таблицы 9.3-1 TRM. Разрешение и маскирование самих прерываний ядра делаются не здесь, а регистром INTENABLE процессора.
| Экземпляр | Базовый адрес |
|---|---|
| INTERRUPT_CORE0 | 0x600C 2000 |
Пример на C
UART0 → прерывание 17 ядра 0 и проверка источника (soc/interrupt_core0_reg.h). Макросы доступа REG_WRITE, REG_READ, REG_SET_BIT, REG_CLR_BIT, REG_GET_BIT, REG_SET_FIELD и REG_GET_FIELD объявлены в soc/soc.h ESP-IDF; поле задаётся именем макроса без суффикса, маска и сдвиг берутся из его вариантов _V и _S.
#include "soc/interrupt_core0_reg.h"
REG_WRITE(INTERRUPT_CORE0_UART_INTR_MAP_REG, 17); // по уровню, приоритет 1
bool pending = REG_READ(INTERRUPT_CORE0_INTR_STATUS_0_REG) & BIT(27); // UART_INTR — бит 27
REG_WRITE(INTERRUPT_CORE0_UART_INTR_MAP_REG, 6); // отключить: 6 — внутреннее прерываниеРегистры блока
| Регистр (ESP-IDF) | Смещение | Назначение | После сброса |
|---|---|---|---|
| INTERRUPT_CORE0_MAC_INTR_MAP_REG | 0x0000 | Источник Wi-Fi MAC → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_MAC_NMI_MAP_REG | 0x0004 | Источник Wi-Fi MAC (NMI) → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_PWR_INTR_MAP_REG | 0x0008 | Источник Wi-Fi PWR → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_BB_INT_MAP_REG | 0x000C | Источник Wi-Fi BB → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_BT_MAC_INT_MAP_REG | 0x0010 | Источник BT MAC → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_BT_BB_INT_MAP_REG | 0x0014 | Источник BT BB → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_BT_BB_NMI_MAP_REG | 0x0018 | Источник BT BB (NMI) → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RWBT_IRQ_MAP_REG | 0x001C | Источник RWBT → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RWBLE_IRQ_MAP_REG | 0x0020 | Источник RWBLE → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RWBT_NMI_MAP_REG | 0x0024 | Источник RWBT (NMI) → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RWBLE_NMI_MAP_REG | 0x0028 | Источник RWBLE (NMI) → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_I2C_MST_INT_MAP_REG | 0x002C | Источник внутреннего I2C-ведущего → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_UHCI0_INTR_MAP_REG | 0x0038 | Источник UHCI0 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_MAP_REG | 0x0040 | Источник GPIO → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG | 0x0044 | Источник GPIO (NMI) → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_SPI_INTR_n_MAP_REG | 0x004C + n · 0x0004 | Источник SPI n → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_LCD_CAM_INT_MAP_REG | 0x0060 | Источник LCD_CAM → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_I2Sn_INT_MAP_REG | 0x0064 + n · 0x0004 | Источник I2S n → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_UART_INTR_MAP_REG | 0x006C | Источник UART0 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_UARTn_INTR_MAP_REG | 0x006C + n · 0x0004 | Источник UART n → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_SDIO_HOST_INTERRUPT_MAP_REG | 0x0078 | Источник SD/MMC-хоста → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_PWMn_INTR_MAP_REG | 0x007C + n · 0x0004 | Источник MCPWM n → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_LEDC_INT_MAP_REG | 0x008C | Источник LEDC → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_EFUSE_INT_MAP_REG | 0x0090 | Источник eFuse → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CAN_INT_MAP_REG | 0x0094 | Источник TWAI → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_USB_INTR_MAP_REG | 0x0098 | Источник USB OTG → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RTC_CORE_INTR_MAP_REG | 0x009C | Источник RTC_CNTL → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RMT_INTR_MAP_REG | 0x00A0 | Источник RMT → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_PCNT_INTR_MAP_REG | 0x00A4 | Источник PCNT → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_I2C_EXTn_INTR_MAP_REG | 0x00A8 + n · 0x0004 | Источник I2C n → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_TG_Tn_INT_MAP_REG | 0x00C8 + n · 0x0004 | Источник таймера Tn группы TIMG0 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_TG_WDT_INT_MAP_REG | 0x00D0 | Источник сторожа группы TIMG0 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_TG1_Tn_INT_MAP_REG | 0x00D4 + n · 0x0004 | Источник таймера Tn группы TIMG1 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_TG1_WDT_INT_MAP_REG | 0x00DC | Источник сторожа группы TIMG1 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CACHE_IA_INT_MAP_REG | 0x00E0 | Источник недопустимого доступа к кэшу → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_SYSTIMER_TARGETn_INT_MAP_REG | 0x00E4 + n · 0x0004 | Источник компаратора n системного таймера → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_SPI_MEM_REJECT_INTR_MAP_REG | 0x00F0 | Источник отказа доступа SPI0 и SPI1 → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_DCACHE_PRELOAD_INT_MAP_REG | 0x00F4 | Источник предзагрузки кэша данных → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_ICACHE_PRELOAD_INT_MAP_REG | 0x00F8 | Источник предзагрузки кэша инструкций → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_DCACHE_SYNC_INT_MAP_REG | 0x00FC | Источник синхронизации кэша данных → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_ICACHE_SYNC_INT_MAP_REG | 0x0100 | Источник синхронизации кэша инструкций → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_APB_ADC_INT_MAP_REG | 0x0104 | Источник APB_SARADC → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_DMA_IN_CHn_INT_MAP_REG | 0x0108 + n · 0x0004 | Источник приёмного канала n GDMA → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_DMA_OUT_CHn_INT_MAP_REG | 0x011C + n · 0x0004 | Источник передающего канала n GDMA → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_RSA_INT_MAP_REG | 0x0130 | Источник ускорителя RSA → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_AES_INT_MAP_REG | 0x0134 | Источник ускорителя AES → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_SHA_INT_MAP_REG | 0x0138 | Источник ускорителя SHA → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CPU_INTR_FROM_CPU_n_MAP_REG | 0x013C + n · 0x0004 | Программное межъядерное прерывание n → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_DMA_APBPERI_PMS_MONITOR_VIOLATE_INTR_MAP_REG | 0x0150 | Нарушение прав доступа GDMA → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CORE_0_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG | 0x0154 | Ядро 0: нарушение прав доступа к IRAM → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CORE_0_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG | 0x0158 | Ядро 0: нарушение прав доступа к DRAM → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CORE_n_PIF_PMS_MONITOR_VIOLATE_INTR_MAP_REG | 0x015C + n · 0x0010 | Ядро n: нарушение прав доступа к периферии → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CORE_n_PIF_PMS_MONITOR_VIOLATE_SIZE_INTR_MAP_REG | 0x0160 + n · 0x0010 | Ядро n: нарушение размера доступа к периферии → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CORE_1_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG | 0x0164 | Ядро 1: нарушение прав доступа к IRAM → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CORE_1_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG | 0x0168 | Ядро 1: нарушение прав доступа к DRAM → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_BACKUP_PMS_VIOLATE_INTR_MAP_REG | 0x0174 | Нарушение прав доступа модуля сохранения → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_CACHE_COREn_ACS_INT_MAP_REG | 0x0178 + n · 0x0004 | Ядро n: ошибка доступа к кэшу → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_USB_DEVICE_INT_MAP_REG | 0x0180 | Источник USB Serial/JTAG → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_PERI_BACKUP_INT_MAP_REG | 0x0184 | Источник модуля сохранения периферии → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_DMA_EXTMEM_REJECT_INT_MAP_REG | 0x0188 | Отказ доступа GDMA к внешней памяти → прерывание ядра | 0x0000 0010 |
| INTERRUPT_CORE0_INTR_STATUS_n_REG | 0x018C + n · 0x0004 | Текущее состояние источников, группа n из 32 | 0x0000 0000 |
| INTERRUPT_CORE0_CLOCK_GATE_REG | 0x019C | Тактирование регистров | 0x0000 0001 |
| INTERRUPT_CORE0_INTERRUPT_DATE_REG | 0x07FC | Версия блока: дата ревизии аппаратуры | 0x0201 2300 |
Доступ — обозначения TRM: R/W — чтение и запись, RO — только чтение, WO — только запись, WT — запись 1 запускает действие, SS и SC — бит ставится и сбрасывается аппаратно, WTC — сбрасывается записью 1.
INTERRUPT_CORE0_MAC_INTR_MAP_REG — источник Wi-Fi MAC → прерывание ядра
Смещение 0x0000, адрес 0x600C 2000, после сброса 0x0000 0010. TRM: регистр 9.1 (INTERRUPT_CORE0_MAC_INTR_MAP_REG).
Имена регистров в SVD и TRM расходятся: SVD — PRO_MAC_INTR_MAP, CAN_INT_MAP, GPIO_INTERRUPT_PRO_MAP; TRM — MAC_INTR_MAP, TWAI_INT_MAP, GPIO_INTERRUPT_CPU_MAP. Показаны имена SVD и макросы ESP-IDF. Регистры SVD, которых нет в TRM (SLC0, SLC1, UHCI1, SPI4, PWM2, PWM3, SPI2_DMA и другие), не показаны.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| MAC_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_MAC_NMI_MAP_REG — источник Wi-Fi MAC (NMI) → прерывание ядра
Смещение 0x0004, адрес 0x600C 2004, после сброса 0x0000 0010. TRM: регистр 9.2.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| MAC_NMI_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_PWR_INTR_MAP_REG — источник Wi-Fi PWR → прерывание ядра
Смещение 0x0008, адрес 0x600C 2008, после сброса 0x0000 0010. TRM: регистр 9.3.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| PWR_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_BB_INT_MAP_REG — источник Wi-Fi BB → прерывание ядра
Смещение 0x000C, адрес 0x600C 200C, после сброса 0x0000 0010. TRM: регистр 9.4.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| BB_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_BT_MAC_INT_MAP_REG — источник BT MAC → прерывание ядра
Смещение 0x0010, адрес 0x600C 2010, после сброса 0x0000 0010. TRM: регистр 9.5.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| BT_MAC_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_BT_BB_INT_MAP_REG — источник BT BB → прерывание ядра
Смещение 0x0014, адрес 0x600C 2014, после сброса 0x0000 0010. TRM: регистр 9.6.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| BT_BB_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_BT_BB_NMI_MAP_REG — источник BT BB (NMI) → прерывание ядра
Смещение 0x0018, адрес 0x600C 2018, после сброса 0x0000 0010. TRM: регистр 9.7.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| BT_BB_NMI_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RWBT_IRQ_MAP_REG — источник RWBT → прерывание ядра
Смещение 0x001C, адрес 0x600C 201C, после сброса 0x0000 0010. TRM: регистр 9.8.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RWBT_IRQ_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RWBLE_IRQ_MAP_REG — источник RWBLE → прерывание ядра
Смещение 0x0020, адрес 0x600C 2020, после сброса 0x0000 0010. TRM: регистр 9.9.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RWBLE_IRQ_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RWBT_NMI_MAP_REG — источник RWBT (NMI) → прерывание ядра
Смещение 0x0024, адрес 0x600C 2024, после сброса 0x0000 0010. TRM: регистр 9.10.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RWBT_NMI_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RWBLE_NMI_MAP_REG — источник RWBLE (NMI) → прерывание ядра
Смещение 0x0028, адрес 0x600C 2028, после сброса 0x0000 0010. TRM: регистр 9.11.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RWBLE_NMI_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_I2C_MST_INT_MAP_REG — источник внутреннего I2C-ведущего → прерывание ядра
Смещение 0x002C, адрес 0x600C 202C, после сброса 0x0000 0010. TRM: регистр 9.12.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| I2C_MST_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_UHCI0_INTR_MAP_REG — источник UHCI0 → прерывание ядра
Смещение 0x0038, адрес 0x600C 2038, после сброса 0x0000 0010. TRM: регистр 9.13.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| UHCI0_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_MAP_REG — источник GPIO → прерывание ядра
Смещение 0x0040, адрес 0x600C 2040, после сброса 0x0000 0010. TRM: регистр 9.14 (INTERRUPT_CORE0_GPIO_INTERRUPT_CPU_MAP_REG).
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| GPIO_INTERRUPT_PRO_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_GPIO_INTERRUPT_PRO_NMI_MAP_REG — источник GPIO (NMI) → прерывание ядра
Смещение 0x0044, адрес 0x600C 2044, после сброса 0x0000 0010. TRM: регистр 9.15 (INTERRUPT_CORE0_GPIO_INTERRUPT_CPU_NMI_MAP_REG).
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| GPIO_INTERRUPT_PRO_NMI_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_SPI_INTR_n_MAP_REG — источник SPI n → прерывание ядра
3 копии, n = 1…3: смещение 0x004C + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.16.
Копии 1…3: по перечислению источников ESP-IDF (soc/interrupts.h) это SPI1, SPI2 и SPI3; источник SPI1 относится к флеш-памяти.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| SPI_INTR_n_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_LCD_CAM_INT_MAP_REG — источник LCD_CAM → прерывание ядра
Смещение 0x0060, адрес 0x600C 2060, после сброса 0x0000 0010. TRM: регистр 9.19.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| LCD_CAM_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_I2Sn_INT_MAP_REG — источник I2S n → прерывание ядра
2 копии, n = 0, 1: смещение 0x0064 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.20.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| I2Sn_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_UART_INTR_MAP_REG — источник UART0 → прерывание ядра
Смещение 0x006C, адрес 0x600C 206C, после сброса 0x0000 0010. TRM: регистр 9.22.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| UART_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_UARTn_INTR_MAP_REG — источник UART n → прерывание ядра
2 копии, n = 1, 2: смещение 0x006C + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.23.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| UARTn_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_SDIO_HOST_INTERRUPT_MAP_REG — источник SD/MMC-хоста → прерывание ядра
Смещение 0x0078, адрес 0x600C 2078, после сброса 0x0000 0010. TRM: регистр 9.25.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| SDIO_HOST_INTERRUPT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_PWMn_INTR_MAP_REG — источник MCPWM n → прерывание ядра
2 копии, n = 0, 1: смещение 0x007C + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.26.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| PWMn_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_LEDC_INT_MAP_REG — источник LEDC → прерывание ядра
Смещение 0x008C, адрес 0x600C 208C, после сброса 0x0000 0010. TRM: регистр 9.28.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| LEDC_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_EFUSE_INT_MAP_REG — источник eFuse → прерывание ядра
Смещение 0x0090, адрес 0x600C 2090, после сброса 0x0000 0010. TRM: регистр 9.29.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| EFUSE_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CAN_INT_MAP_REG — источник TWAI → прерывание ядра
Смещение 0x0094, адрес 0x600C 2094, после сброса 0x0000 0010. TRM: регистр 9.30 (INTERRUPT_CORE0_TWAI_INT_MAP_REG).
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CAN_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_USB_INTR_MAP_REG — источник USB OTG → прерывание ядра
Смещение 0x0098, адрес 0x600C 2098, после сброса 0x0000 0010. TRM: регистр 9.31.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| USB_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RTC_CORE_INTR_MAP_REG — источник RTC_CNTL → прерывание ядра
Смещение 0x009C, адрес 0x600C 209C, после сброса 0x0000 0010. TRM: регистр 9.32.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RTC_CORE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RMT_INTR_MAP_REG — источник RMT → прерывание ядра
Смещение 0x00A0, адрес 0x600C 20A0, после сброса 0x0000 0010. TRM: регистр 9.33.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RMT_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_PCNT_INTR_MAP_REG — источник PCNT → прерывание ядра
Смещение 0x00A4, адрес 0x600C 20A4, после сброса 0x0000 0010. TRM: регистр 9.34.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| PCNT_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_I2C_EXTn_INTR_MAP_REG — источник I2C n → прерывание ядра
2 копии, n = 0, 1: смещение 0x00A8 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.35.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| I2C_EXTn_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_TG_Tn_INT_MAP_REG — источник таймера Tn группы TIMG0 → прерывание ядра
2 копии, n = 0, 1: смещение 0x00C8 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.37.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| TG_Tn_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_TG_WDT_INT_MAP_REG — источник сторожа группы TIMG0 → прерывание ядра
Смещение 0x00D0, адрес 0x600C 20D0, после сброса 0x0000 0010. TRM: регистр 9.39.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| TG_WDT_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_TG1_Tn_INT_MAP_REG — источник таймера Tn группы TIMG1 → прерывание ядра
2 копии, n = 0, 1: смещение 0x00D4 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.40.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| TG1_Tn_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_TG1_WDT_INT_MAP_REG — источник сторожа группы TIMG1 → прерывание ядра
Смещение 0x00DC, адрес 0x600C 20DC, после сброса 0x0000 0010. TRM: регистр 9.42.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| TG1_WDT_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CACHE_IA_INT_MAP_REG — источник недопустимого доступа к кэшу → прерывание ядра
Смещение 0x00E0, адрес 0x600C 20E0, после сброса 0x0000 0010. TRM: регистр 9.43.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CACHE_IA_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_SYSTIMER_TARGETn_INT_MAP_REG — источник компаратора n системного таймера → прерывание ядра
3 копии, n = 0…2: смещение 0x00E4 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.44.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| SYSTIMER_TARGETn_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_SPI_MEM_REJECT_INTR_MAP_REG — источник отказа доступа SPI0 и SPI1 → прерывание ядра
Смещение 0x00F0, адрес 0x600C 20F0, после сброса 0x0000 0010. TRM: регистр 9.47.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| SPI_MEM_REJECT_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_DCACHE_PRELOAD_INT_MAP_REG — источник предзагрузки кэша данных → прерывание ядра
Смещение 0x00F4, адрес 0x600C 20F4, после сброса 0x0000 0010. TRM: регистр 9.48.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| DCACHE_PRELOAD_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_ICACHE_PRELOAD_INT_MAP_REG — источник предзагрузки кэша инструкций → прерывание ядра
Смещение 0x00F8, адрес 0x600C 20F8, после сброса 0x0000 0010. TRM: регистр 9.49.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| ICACHE_PRELOAD_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_DCACHE_SYNC_INT_MAP_REG — источник синхронизации кэша данных → прерывание ядра
Смещение 0x00FC, адрес 0x600C 20FC, после сброса 0x0000 0010. TRM: регистр 9.50.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| DCACHE_SYNC_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_ICACHE_SYNC_INT_MAP_REG — источник синхронизации кэша инструкций → прерывание ядра
Смещение 0x0100, адрес 0x600C 2100, после сброса 0x0000 0010. TRM: регистр 9.51.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| ICACHE_SYNC_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_APB_ADC_INT_MAP_REG — источник APB_SARADC → прерывание ядра
Смещение 0x0104, адрес 0x600C 2104, после сброса 0x0000 0010. TRM: регистр 9.52.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| APB_ADC_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_DMA_IN_CHn_INT_MAP_REG — источник приёмного канала n GDMA → прерывание ядра
5 копий, n = 0…4: смещение 0x0108 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.53.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| DMA_IN_CHn_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_DMA_OUT_CHn_INT_MAP_REG — источник передающего канала n GDMA → прерывание ядра
5 копий, n = 0…4: смещение 0x011C + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.58.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| DMA_OUT_CHn_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_RSA_INT_MAP_REG — источник ускорителя RSA → прерывание ядра
Смещение 0x0130, адрес 0x600C 2130, после сброса 0x0000 0010. TRM: регистр 9.63.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| RSA_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_AES_INT_MAP_REG — источник ускорителя AES → прерывание ядра
Смещение 0x0134, адрес 0x600C 2134, после сброса 0x0000 0010. TRM: регистр 9.64.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| AES_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_SHA_INT_MAP_REG — источник ускорителя SHA → прерывание ядра
Смещение 0x0138, адрес 0x600C 2138, после сброса 0x0000 0010. TRM: регистр 9.65.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| SHA_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CPU_INTR_FROM_CPU_n_MAP_REG — программное межъядерное прерывание n → прерывание ядра
4 копии, n = 0…3: смещение 0x013C + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.66.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CPU_INTR_FROM_CPU_n_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_DMA_APBPERI_PMS_MONITOR_VIOLATE_INTR_MAP_REG — нарушение прав доступа GDMA → прерывание ядра
Смещение 0x0150, адрес 0x600C 2150, после сброса 0x0000 0010. TRM: регистр 9.70.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| DMA_APBPERI_PMS_MONITOR_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CORE_0_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG — ядро 0: нарушение прав доступа к IRAM → прерывание ядра
Смещение 0x0154, адрес 0x600C 2154, после сброса 0x0000 0010. TRM: регистр 9.71.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CORE_0_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CORE_0_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG — ядро 0: нарушение прав доступа к DRAM → прерывание ядра
Смещение 0x0158, адрес 0x600C 2158, после сброса 0x0000 0010. TRM: регистр 9.72.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CORE_0_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CORE_n_PIF_PMS_MONITOR_VIOLATE_INTR_MAP_REG — ядро n: нарушение прав доступа к периферии → прерывание ядра
2 копии, n = 0, 1: смещение 0x015C + n · 0x0010, после сброса 0x0000 0010. TRM: регистр 9.73.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CORE_n_PIF_PMS_MONITOR_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CORE_n_PIF_PMS_MONITOR_VIOLATE_SIZE_INTR_MAP_REG — ядро n: нарушение размера доступа к периферии → прерывание ядра
2 копии, n = 0, 1: смещение 0x0160 + n · 0x0010, после сброса 0x0000 0010. TRM: регистр 9.74.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CORE_n_PIF_PMS_MONITOR_VIOLATE_SIZE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CORE_1_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG — ядро 1: нарушение прав доступа к IRAM → прерывание ядра
Смещение 0x0164, адрес 0x600C 2164, после сброса 0x0000 0010. TRM: регистр 9.75.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CORE_1_IRAM0_PMS_MONITOR_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CORE_1_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP_REG — ядро 1: нарушение прав доступа к DRAM → прерывание ядра
Смещение 0x0168, адрес 0x600C 2168, после сброса 0x0000 0010. TRM: регистр 9.76.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CORE_1_DRAM0_PMS_MONITOR_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_BACKUP_PMS_VIOLATE_INTR_MAP_REG — нарушение прав доступа модуля сохранения → прерывание ядра
Смещение 0x0174, адрес 0x600C 2174, после сброса 0x0000 0010. TRM: регистр 9.79.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| BACKUP_PMS_VIOLATE_INTR_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_CACHE_COREn_ACS_INT_MAP_REG — ядро n: ошибка доступа к кэшу → прерывание ядра
2 копии, n = 0, 1: смещение 0x0178 + n · 0x0004, после сброса 0x0000 0010. TRM: регистр 9.80.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| CACHE_COREn_ACS_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_USB_DEVICE_INT_MAP_REG — источник USB Serial/JTAG → прерывание ядра
Смещение 0x0180, адрес 0x600C 2180, после сброса 0x0000 0010. TRM: регистр 9.82.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| USB_DEVICE_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_PERI_BACKUP_INT_MAP_REG — источник модуля сохранения периферии → прерывание ядра
Смещение 0x0184, адрес 0x600C 2184, после сброса 0x0000 0010. TRM: регистр 9.83.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| PERI_BACKUP_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_DMA_EXTMEM_REJECT_INT_MAP_REG — отказ доступа GDMA к внешней памяти → прерывание ядра
Смещение 0x0188, адрес 0x600C 2188, после сброса 0x0000 0010. TRM: регистр 9.84.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| DMA_EXTMEM_REJECT_INT_MAP | 4:0 | R/W | 0x10 |
INTERRUPT_CORE0_INTR_STATUS_n_REG — текущее состояние источников, группа n из 32
4 копии, n = 0…3: смещение 0x018C + n · 0x0004, после сброса 0x0000 0000. TRM: регистр 9.85 (INTERRUPT_CORE0_INTR_STATUS_n_REG).
| Поле | Биты | Доступ | Сброс | Назначение |
|---|---|---|---|---|
| INTR_STATUS_n | 31:0 | RO | 0x0000 0000 | Бит на источник по таблице 9.3-1 TRM: 1 — источник выставил прерывание |
INTERRUPT_CORE0_CLOCK_GATE_REG — тактирование регистров
Смещение 0x019C, адрес 0x600C 219C, после сброса 0x0000 0001. TRM: регистр 9.89.
| Поле | Биты | Доступ | Сброс | Назначение |
|---|---|---|---|---|
| CLK_EN | 0 | R/W | 1 | 1 — такт регистров включён |
INTERRUPT_CORE0_INTERRUPT_DATE_REG — версия блока: дата ревизии аппаратуры
Смещение 0x07FC, адрес 0x600C 27FC, после сброса 0x0201 2300. TRM: регистр 9.90.
| Поле | Биты | Доступ | Сброс |
|---|---|---|---|
| INTERRUPT_DATE | 27:0 | R/W | 0x2012300 |
Частые вопросы
Как вручную подключить прерывание UART0 ESP32-S3 к ядру 0?
Записать номер свободного периферийного прерывания ядра, например 17 (по уровню, приоритет 1), в INTERRUPT_CORE0_UART_INTR_MAP_REG и разрешить это прерывание в регистре INTENABLE ядра. Чтобы отключить источник, в тот же регистр записывают номер внутреннего прерывания, например 6 (раздел 9.3.3.3 TRM).
Почему после сброса все MAP-регистры ESP32-S3 равны 16?
Значение 16 после сброса — номер внутреннего прерывания (таймер 2 ядра), к которому периферийные источники не подключаются. Поэтому все источники после сброса отключены, пока программа не запишет в регистр номер периферийного прерывания.
Источники
- Espressif. ESP32-S3 Technical Reference Manual, версия 1.8 — глава 9: таблица Register Summary и рисунки регистров — смещения, поля, тип доступа и значения после сброса
- Espressif. SVD svd/esp32s3.svd, версия 21 (espressif/svd, коммит be20aa1) — базовые адреса периферии, список регистров и полей; лицензия Apache-2.0
- Espressif. ESP-IDF v6.1: заголовки components/soc/esp32s3/register/soc/*_reg.h (коммит fff9895) — имена макросов регистров и полей, сверка положения полей и значений по умолчанию; лицензия Apache-2.0 OR MIT
Нашли ошибку в регистрах?
Другие регистры ESP32-S3
- Все регистры ESP32-S3Блоки периферии и базовые адреса
- GPIO — выводы общего назначения и матрица GPIOGPIO_BT_SELECT_REG, GPIO_OUT_REG, GPIO_OUT_W1TS_REG, GPIO_OUT_W1TC_REG
- IO MUX — мультиплексор функций и электрические настройки выводовPIN_CTRL, IO_MUX_GPIOn_REG
- UART — универсальный асинхронный приёмопередатчикUART_FIFO_REG, UART_INT_RAW_REG, UART_INT_ST_REG, UART_INT_ENA_REG
- SPI — контроллеры SPI общего назначения GP-SPI2 и GP-SPI3SPI_CMD_REG, SPI_ADDR_REG, SPI_CTRL_REG, SPI_CLOCK_REG
- I2C — контроллеры шины I2CI2C_SCL_LOW_PERIOD_REG, I2C_CTR_REG, I2C_SR_REG, I2C_TO_REG
- LEDC — контроллер ШИМ для светодиодов и не толькоLEDC_LSCHn_CONF0_REG, LEDC_LSCHn_HPOINT_REG, LEDC_LSCHn_DUTY_REG, LEDC_LSCHn_CONF1_REG
- TIMG — группа таймеров: таймеры общего назначения и сторожTIMG_TnCONFIG_REG, TIMG_TnLO_REG, TIMG_TnHI_REG, TIMG_TnUPDATE_REG
- RMT — контроллер инфракрасного пульта и импульсных протоколовRMT_CHnDATA_REG, RMT_CHnCONF0_REG, RMT_CHnCONF0_REG, RMT_CHnCONF1_REG
- SYSTIMER — системный таймерSYSTIMER_CONF_REG, SYSTIMER_UNITn_OP_REG, SYSTIMER_UNITn_LOAD_HI_REG, SYSTIMER_UNITn_LOAD_LO_REG
- RTC_CNTL — управление питанием, сном и RTC-доменомRTC_CNTL_OPTIONS0_REG, RTC_CNTL_SLP_TIMER0_REG, RTC_CNTL_SLP_TIMER1_REG, RTC_CNTL_TIME_UPDATE_REG
- APB_SARADC — цифровой контроллер АЦПAPB_SARADC_CTRL_REG, APB_SARADC_CTRL2_REG, APB_SARADC_FILTER_CTRL1_REG, APB_SARADC_SAR1_PATT_TABn_REG
- SENS — RTC-контроллеры АЦП, датчиков касания и температурыSENS_SAR_READER1_CTRL_REG, SENS_SAR_MEAS1_CTRL2_REG, SENS_SAR_MEAS1_MUX_REG, SENS_SAR_ATTENn_REG
- USB Serial/JTAG — встроенный USB-переходник на последовательный порт и JTAGUSB_SERIAL_JTAG_EP1_REG, USB_SERIAL_JTAG_EP1_CONF_REG, USB_SERIAL_JTAG_INT_RAW_REG, USB_SERIAL_JTAG_INT_ST_REG
- eFuse — однократно программируемая память настроек и ключейEFUSE_RD_WR_DIS_REG, EFUSE_RD_REPEAT_DATA0_REG, EFUSE_RD_REPEAT_DATA1_REG, EFUSE_RD_REPEAT_DATA2_REG